0001558370-19-003307.txt : 20190425 0001558370-19-003307.hdr.sgml : 20190425 20190425163840 ACCESSION NUMBER: 0001558370-19-003307 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 56 CONFORMED PERIOD OF REPORT: 20190331 FILED AS OF DATE: 20190425 DATE AS OF CHANGE: 20190425 FILER: COMPANY DATA: COMPANY CONFORMED NAME: COMFORT SYSTEMS USA INC CENTRAL INDEX KEY: 0001035983 STANDARD INDUSTRIAL CLASSIFICATION: ELECTRICAL WORK [1731] IRS NUMBER: 760526487 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-13011 FILM NUMBER: 19767967 BUSINESS ADDRESS: STREET 1: 675 BERING DRIVE STREET 2: SUITE 400 CITY: HOUSTON STATE: TX ZIP: 77057 BUSINESS PHONE: 7138309600 MAIL ADDRESS: STREET 1: 675 BERING DRIVE STREET 2: SUITE 400 CITY: HOUSTON STATE: TX ZIP: 77057 10-Q 1 fix-20190331x10q.htm 10-Q
false--12-31Q120192019-03-3110-Q0001035983YesfalseLarge Accelerated FilerCOMFORT SYSTEMS USA INCfalseP1Y00trueP3YP10Y26150000us-gaap:OtherLiabilitiesCurrent75900000000001035983fix:StockRepurchaseProgram2007Member2007-03-292019-03-310001035983fix:StockRepurchaseProgram2007Member2019-03-310001035983fix:StockRepurchaseProgram2007Member2018-08-100001035983fix:StockRepurchaseProgram2007Member2007-03-290001035983us-gaap:TreasuryStockMember2019-03-310001035983us-gaap:RetainedEarningsMember2019-03-310001035983us-gaap:AdditionalPaidInCapitalMember2019-03-310001035983us-gaap:TreasuryStockMember2018-12-310001035983us-gaap:RetainedEarningsMember2018-12-310001035983us-gaap:AdditionalPaidInCapitalMember2018-12-310001035983us-gaap:TreasuryStockMember2018-03-310001035983us-gaap:RetainedEarningsMember2018-03-310001035983us-gaap:AdditionalPaidInCapitalMember2018-03-310001035983us-gaap:TreasuryStockMember2017-12-310001035983us-gaap:RetainedEarningsMember2017-12-310001035983us-gaap:AdditionalPaidInCapitalMember2017-12-3100010359832019-04-012019-03-310001035983fix:StockRepurchaseProgram2007Member2019-01-012019-03-310001035983us-gaap:AccountingStandardsUpdate201602Member2019-01-0100010359832018-04-012018-06-300001035983fix:SubordinateDebtAndPromissoryNoteMember2018-12-310001035983fix:AmendedSeniorRevolvingCreditFacilityMember2018-04-180001035983fix:AmendedSeniorRevolvingCreditFacilityMember2018-04-170001035983srt:MinimumMember2019-03-310001035983srt:MaximumMember2019-03-310001035983fix:ContingentConsiderationObligationsMember2019-03-310001035983fix:ContingentConsiderationObligationsMember2018-12-310001035983fix:ContingentConsiderationObligationsMember2019-01-012019-03-310001035983us-gaap:RetainedEarningsMember2019-01-012019-03-310001035983us-gaap:RetainedEarningsMember2018-01-012018-03-310001035983fix:BchHoldingsIncMemberus-gaap:LoansPayableMember2019-03-310001035983fix:AcquisitionTwoThirdQuarter2018Memberus-gaap:LoansPayableMember2019-03-310001035983fix:AcquisitionThirdQuarter2018Memberus-gaap:LoansPayableMember2019-03-310001035983fix:AcquisitionSecondQuarter2018Memberus-gaap:SubordinatedDebtMember2019-03-310001035983fix:AcquisitionFirstQuarter2019Memberus-gaap:LoansPayableMember2019-03-310001035983fix:AcquisitionFirstQuarter2018Memberus-gaap:SubordinatedDebtMember2019-03-310001035983us-gaap:NotesPayableOtherPayablesMember2019-03-310001035983us-gaap:RevolvingCreditFacilityMember2018-12-310001035983us-gaap:NotesPayableOtherPayablesMember2018-12-310001035983fix:DebtCovenantRatioRangeTwoMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2019-01-012019-03-310001035983fix:DebtCovenantRatioRangeTwoMemberus-gaap:RevolvingCreditFacilityMemberfix:DebtInstrumentVariableRateBaseRateMember2019-01-012019-03-310001035983fix:DebtCovenantRatioRangeThreeMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2019-01-012019-03-310001035983fix:DebtCovenantRatioRangeThreeMemberus-gaap:RevolvingCreditFacilityMemberfix:DebtInstrumentVariableRateBaseRateMember2019-01-012019-03-310001035983fix:DebtCovenantRatioRangeOneMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2019-01-012019-03-310001035983fix:DebtCovenantRatioRangeOneMemberus-gaap:RevolvingCreditFacilityMemberfix:DebtInstrumentVariableRateBaseRateMember2019-01-012019-03-310001035983fix:DebtCovenantRatioRangeFourMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2019-01-012019-03-310001035983fix:DebtCovenantRatioRangeFourMemberus-gaap:RevolvingCreditFacilityMemberfix:DebtInstrumentVariableRateBaseRateMember2019-01-012019-03-310001035983fix:ShoffnerMemberus-gaap:LondonInterbankOfferedRateLIBORMember2019-01-012019-03-310001035983us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2018-01-012018-03-310001035983us-gaap:CommonStockMember2019-03-310001035983us-gaap:CommonStockMember2018-12-310001035983us-gaap:CommonStockMember2018-03-310001035983us-gaap:CommonStockMember2017-12-310001035983us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2019-03-310001035983us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2018-12-310001035983us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2019-03-310001035983us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2018-12-3100010359832018-03-3100010359832017-12-310001035983fix:ShoffnerMember2019-03-310001035983srt:MaximumMemberfix:EmployeeAndNonemployeeStockOptionMember2019-01-012019-03-310001035983srt:MaximumMemberfix:EmployeeAndNonemployeeStockOptionMember2018-01-012018-03-3100010359832018-12-310001035983us-gaap:AdditionalPaidInCapitalMember2019-01-012019-03-310001035983us-gaap:AdditionalPaidInCapitalMember2018-01-012018-03-310001035983us-gaap:TreasuryStockMember2019-01-012019-03-310001035983us-gaap:TreasuryStockMember2018-01-012018-03-310001035983fix:SystemInstallationInNewlyConstructedFacilitiesMember2019-01-012019-03-310001035983fix:MaintenanceRepairAndReplacementServiceMember2019-01-012019-03-310001035983fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMemberus-gaap:SubsequentEventMember2019-04-010001035983us-gaap:ProductAndServiceOtherMember2019-01-012019-03-310001035983fix:ServiceProjectsMember2019-01-012019-03-310001035983fix:ServiceCallsMaintenanceAndMonitoringMember2019-01-012019-03-310001035983fix:RetailRestaurantsAndEntertainmentMember2019-01-012019-03-310001035983fix:OtherCustomerMember2019-01-012019-03-310001035983fix:OfficeBuildingCustomerMember2019-01-012019-03-310001035983fix:NewConstructionMember2019-01-012019-03-310001035983fix:MultiFamilyAndResidentialMember2019-01-012019-03-310001035983fix:IndustrialPropertyCustomerMember2019-01-012019-03-310001035983fix:HeatingVentilationAndAirConditioningAndPlumbingMember2019-01-012019-03-310001035983fix:HealthcareSectorCustomerMember2019-01-012019-03-310001035983fix:GovernmentCustomerMember2019-01-012019-03-310001035983fix:ExistingBuildingConstructionMember2019-01-012019-03-310001035983fix:EducationMember2019-01-012019-03-310001035983fix:BuildingAutomationControlSystemsMember2019-01-012019-03-310001035983us-gaap:ProductAndServiceOtherMember2018-01-012018-03-310001035983fix:ServiceProjectsMember2018-01-012018-03-310001035983fix:ServiceCallsMaintenanceAndMonitoringMember2018-01-012018-03-310001035983fix:RetailRestaurantsAndEntertainmentMember2018-01-012018-03-310001035983fix:OtherCustomerMember2018-01-012018-03-310001035983fix:OfficeBuildingCustomerMember2018-01-012018-03-310001035983fix:NewConstructionMember2018-01-012018-03-310001035983fix:MultiFamilyAndResidentialMember2018-01-012018-03-310001035983fix:IndustrialPropertyCustomerMember2018-01-012018-03-310001035983fix:HeatingVentilationAndAirConditioningAndPlumbingMember2018-01-012018-03-310001035983fix:HealthcareSectorCustomerMember2018-01-012018-03-310001035983fix:GovernmentCustomerMember2018-01-012018-03-310001035983fix:ExistingBuildingConstructionMember2018-01-012018-03-310001035983fix:EducationMember2018-01-012018-03-310001035983fix:BuildingAutomationControlSystemsMember2018-01-012018-03-310001035983srt:MinimumMemberus-gaap:SuretyBondMember2019-01-012019-03-310001035983srt:MaximumMemberus-gaap:SuretyBondMember2019-01-012019-03-310001035983srt:MaximumMember2019-01-012019-03-310001035983srt:MinimumMember2019-01-012019-03-3100010359832018-07-012018-09-300001035983fix:AmendedSeniorRevolvingCreditFacilityMember2019-03-3100010359832019-03-310001035983srt:MinimumMemberus-gaap:RevolvingCreditFacilityMember2019-01-012019-03-310001035983srt:MaximumMemberus-gaap:RevolvingCreditFacilityMember2019-01-012019-03-3100010359832018-01-012018-03-310001035983srt:MinimumMemberus-gaap:RevolvingCreditFacilityMemberfix:ScenarioCovenantRequirementMember2019-03-310001035983srt:MaximumMemberus-gaap:RevolvingCreditFacilityMemberfix:ScenarioCovenantRequirementMember2019-03-310001035983srt:MaximumMemberus-gaap:RevolvingCreditFacilityMember2019-03-310001035983fix:ThroughMaturityMemberus-gaap:RevolvingCreditFacilityMember2019-03-310001035983srt:MinimumMemberus-gaap:RevolvingCreditFacilityMember2019-03-310001035983us-gaap:RevolvingCreditFacilityMember2019-03-310001035983us-gaap:RevolvingCreditFacilityMember2019-01-012019-03-310001035983srt:MaximumMemberus-gaap:RevolvingCreditFacilityMemberfix:StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member2019-01-012019-03-310001035983fix:SubordinateDebtAndPromissoryNoteMember2019-03-3100010359832018-01-012018-12-310001035983fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMemberus-gaap:SubsequentEventMember2019-04-012019-04-010001035983us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2019-03-310001035983us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2019-03-310001035983us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2018-12-310001035983us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2018-12-3100010359832019-04-2200010359832019-01-012019-03-31xbrli:sharesiso4217:USDfix:itemxbrli:purefix:Optioniso4217:USDxbrli:shares

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

Form 10-Q

(Mark One)

QUARTERLY REPORT PURSUANT TO SECTION 13, OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the quarterly period ended March 31, 2019

OR

TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the transition period from to

Commission file number: 1-13011

COMFORT SYSTEMS USA, INC.

(Exact name of registrant as specified in its charter)

DELAWARE
(State or other jurisdiction of
Incorporation or Organization)

76-0526487
(I.R.S. Employer
Identification No.)

675 Bering Drive
Suite 400
Houston, Texas 77057
(Address of Principal Executive Offices) (Zip Code)

Registrant’s telephone number, including area code: (713) 830-9600

Indicate by check mark whether the registrant (1) has 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 the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. Yes  No 

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 (Section 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). Yes  No 

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

Large accelerated filer 

Accelerated filer 

Non-accelerated filer 

Smaller reporting company 

Emerging growth company 

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.

Indicate by check mark whether the registrant is a shell company (as defined in Exchange Act Rule 12b-2). Yes  No 

The number of shares outstanding of the issuer’s common stock as of April 22, 2019 was 36,904,514 (excluding treasury shares of 4,218,851).

COMFORT SYSTEMS USA, INC.

INDEX TO FORM 10-Q

FOR THE QUARTER ENDED MARCH 31, 2019

    

Page

Part I—Financial Information

1

Item 1—Financial Statements

1

Consolidated Balance Sheets

1

Consolidated Statements of Operations

2

Consolidated Statements of Stockholders’ Equity

3

Consolidated Statements of Cash Flows

4

Condensed Notes to Consolidated Financial Statements

5

Item 2—Management’s Discussion and Analysis of Financial Condition and Results of Operations

19

Item 3—Quantitative and Qualitative Disclosures about Market Risk

28

Item 4—Controls and Procedures

28

Part II—Other Information

29

Item 1—Legal Proceedings

29

Item 1A—Risk Factors

29

Item 2—Unregistered Sales of Equity Securities and Use of Proceeds

29

Item 6—Exhibits

31

Signatures

32

PART I—FINANCIAL INFORMATION

Item 1. Financial Statements

COMFORT SYSTEMS USA, INC.

CONSOLIDATED BALANCE SHEETS

(In Thousands, Except Share Amounts)

March 31,

December 31,

    

2019

    

2018

 

(Unaudited)

ASSETS

CURRENT ASSETS:

Cash and cash equivalents

$

29,130

$

45,620

Billed accounts receivable, less allowance for doubtful accounts of $5,865 and $5,898, respectively

 

447,298

 

481,366

Unbilled accounts receivable

 

38,463

 

37,180

Other receivables

 

13,711

 

16,361

Inventories

 

12,908

 

12,416

Prepaid expenses and other

 

7,476

 

6,544

Costs and estimated earnings in excess of billings

 

8,286

 

10,213

Total current assets

 

557,272

 

609,700

PROPERTY AND EQUIPMENT, NET

 

102,774

 

99,618

LEASE RIGHT-OF-USE ASSET

70,316

GOODWILL

 

235,860

 

235,182

IDENTIFIABLE INTANGIBLE ASSETS, NET

 

91,073

 

95,275

DEFERRED TAX ASSETS

17,485

17,634

OTHER NONCURRENT ASSETS

 

5,252

 

5,155

Total assets

$

1,080,032

$

1,062,564

LIABILITIES AND STOCKHOLDERS’ EQUITY

CURRENT LIABILITIES:

Current maturities of long-term debt

$

2,755

$

3,279

Accounts payable

 

136,115

 

176,167

Accrued compensation and benefits

 

65,135

 

87,388

Billings in excess of costs and estimated earnings

 

120,290

 

130,986

Accrued self-insurance

 

37,615

 

36,386

Other current liabilities

 

47,933

 

32,852

Total current liabilities

 

409,843

 

467,058

LONG-TERM DEBT

 

74,483

 

73,639

LONG-TERM LEASE LIABILITIES

62,028

DEFERRED TAX LIABILITIES

 

1,387

 

1,387

OTHER LONG-TERM LIABILITIES

 

17,096

 

22,433

Total liabilities

 

564,837

 

564,517

COMMITMENTS AND CONTINGENCIES

STOCKHOLDERS’ EQUITY:

Preferred stock, $.01 par, 5,000,000 shares authorized, none issued and outstanding

 

 

Common stock, $.01 par, 102,969,912 shares authorized, 41,123,365 and 41,123,365 shares issued, respectively

 

411

 

411

Treasury stock, at cost, 4,232,418 and 4,229,653 shares, respectively

 

(90,171)

 

(87,747)

Additional paid-in capital

 

319,691

 

316,479

Retained earnings

 

285,264

 

268,904

Total stockholders’ equity

 

515,195

 

498,047

Total liabilities and stockholders’ equity

$

1,080,032

$

1,062,564

The accompanying notes are an integral part of these consolidated financial statements.

1

COMFORT SYSTEMS USA, INC.

CONSOLIDATED STATEMENTS OF OPERATIONS

(In Thousands, Except Per Share Data)

(Unaudited)

Three Months Ended

March 31,

    

2019

    

2018

 

REVENUE

$

538,473

$

464,941

COST OF SERVICES

 

431,808

 

375,888

Gross profit

 

106,665

 

89,053

SELLING, GENERAL AND ADMINISTRATIVE EXPENSES

 

78,905

 

70,023

GAIN ON SALE OF ASSETS

 

(219)

 

(211)

Operating income

 

27,979

 

19,241

OTHER INCOME (EXPENSE):

Interest income

 

25

 

14

Interest expense

 

(1,062)

 

(713)

Changes in the fair value of contingent earn-out obligations

 

(158)

 

153

Other

 

15

 

38

Other income (expense)

 

(1,180)

 

(508)

INCOME BEFORE INCOME TAXES

 

26,799

 

18,733

PROVISION FOR INCOME TAXES

 

6,933

 

2,074

NET INCOME

$

19,866

$

16,659

INCOME PER SHARE:

Basic

$

0.54

$

0.45

Diluted

$

0.53

$

0.44

SHARES USED IN COMPUTING INCOME PER SHARE:

Basic

 

36,923

 

37,192

Diluted

 

37,234

 

37,628

DIVIDENDS PER SHARE

$

0.095

$

0.075

The accompanying notes are an integral part of these consolidated financial statements.

2

COMFORT SYSTEMS USA, INC.

CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(In Thousands, Except Share Amounts)

Three Months Ended

March 31, 2018

Additional

Total

 

    

Common Stock

    

Treasury Stock

    

Paid-In

Retained

    

Stockholders’

 

    

Shares

    

Amount

    

Shares

    

Amount

    

Capital

    

Earnings

    

Equity

 

BALANCE AT DECEMBER 31, 2017

 

41,123,365

$

411

 

(3,936,291)

$

(63,519)

$

312,784

$

168,269

 

$

417,945

Net income (unaudited)

 

16,659

 

16,659

Issuance of Stock:

Issuance of shares for options exercised (unaudited)

 

19,124

326

(88)

 

238

Issuance of restricted stock & performance stock (unaudited)

 

52,306

892

1,331

 

2,223

Shares received in lieu of tax withholding payment on vested restricted stock (unaudited)

 

(19,921)

(846)

 

(846)

Stock-based compensation (unaudited)

 

1,880

 

1,880

Dividends (unaudited)

 

(2,786)

 

(2,786)

Share repurchase (unaudited)

 

(150,481)

(6,175)

 

(6,175)

BALANCE AT MARCH 31, 2018 (unaudited)

41,123,365

$

411

(4,035,263)

$

(69,322)

$

315,907

$

182,142

$

429,138

Three Months Ended

March 31, 2019

Additional

Total

    

Common Stock

    

Treasury Stock

    

Paid-In

Retained

    

Stockholders’

 

    

Shares

    

Amount

    

Shares

    

Amount

    

Capital

    

Earnings

    

Equity

 

BALANCE AT DECEMBER 31, 2018

 

41,123,365

$

411

 

(4,229,653)

$

(87,747)

$

316,479

$

268,904

 

$

498,047

Net income (unaudited)

 

19,866

 

19,866

Issuance of Stock:

Issuance of shares for options exercised (unaudited)

 

41,103

861

(61)

 

800

Issuance of restricted stock & performance stock (unaudited)

 

38,539

817

1,189

 

2,006

Shares received in lieu of tax withholding payment on vested restricted stock (unaudited)

 

(15,013)

(781)

 

(781)

Stock-based compensation (unaudited)

 

2,084

 

2,084

Dividends (unaudited)

 

(3,506)

 

(3,506)

Share repurchase (unaudited)

 

(67,394)

(3,321)

 

(3,321)

BALANCE AT MARCH 31, 2019 (unaudited)

 

41,123,365

$

411

 

(4,232,418)

$

(90,171)

$

319,691

$

285,264

$

515,195

The accompanying notes are an integral part of these consolidated financial statements.

3

COMFORT SYSTEMS USA, INC.

CONSOLIDATED STATEMENTS OF CASH FLOWS

(In Thousands)

(Unaudited)

Three Months Ended

March 31,

    

2019

    

2018

 

CASH FLOWS FROM OPERATING ACTIVITIES:

Net income

$

19,866

$

16,659

Adjustments to reconcile net income to net cash provided by operating activities—

Amortization of identifiable intangible assets

 

4,891

 

3,827

Depreciation expense

 

5,833

 

5,413

Bad debt expense

 

235

 

261

Deferred tax provision

 

149

 

8,648

Amortization of debt financing costs

 

96

 

94

Gain on sale of assets

 

(219)

 

(211)

Changes in the fair value of contingent earn-out obligations

 

158

 

(153)

Stock-based compensation

 

3,176

 

2,793

Changes in operating assets and liabilities, net of effects of acquisitions and divestitures—

(Increase) decrease in—

Receivables, net

 

38,272

 

(3,542)

Inventories

 

(492)

 

(537)

Prepaid expenses and other current assets

 

(2,083)

 

3,388

Costs and estimated earnings in excess of billings and unbilled accounts receivable

 

671

 

(8,065)

Other noncurrent assets

 

3,061

 

296

Increase (decrease) in—

Accounts payable and accrued liabilities

 

(59,331)

 

(15,663)

Billings in excess of costs and estimated earnings

 

(10,740)

 

(293)

Other long-term liabilities

 

(2,552)

 

(9,064)

Net cash provided by operating activities

 

991

 

3,851

CASH FLOWS FROM INVESTING ACTIVITIES:

Purchases of property and equipment

 

(8,844)

 

(5,588)

Proceeds from sales of property and equipment

 

357

 

366

Cash paid for acquisitions, net of cash acquired

 

(1,313)

 

(6,719)

Net cash used in investing activities

 

(9,800)

 

(11,941)

CASH FLOWS FROM FINANCING ACTIVITIES:

Proceeds from revolving line of credit

 

54,000

 

20,000

Payments on revolving line of credit

 

(53,000)

 

(15,000)

Payments on other debt

 

(1,030)

 

(546)

Payments of dividends to stockholders

 

(3,506)

 

(2,786)

Share repurchase

 

(3,321)

 

(4,293)

Shares received in lieu of tax withholding

 

(781)

 

(846)

Proceeds from exercise of options

 

800

 

238

Deferred acquisition payments

(250)

Payments for contingent consideration arrangements

(593)

Net cash used in financing activities

 

(7,681)

 

(3,233)

NET DECREASE IN CASH AND CASH EQUIVALENTS

 

(16,490)

 

(11,323)

CASH AND CASH EQUIVALENTS, beginning of period

 

45,620

 

36,542

CASH AND CASH EQUIVALENTS, end of period

$

29,130

$

25,219

The accompanying notes are an integral part of these consolidated financial statements.

4

COMFORT SYSTEMS USA, INC.

CONDENSED NOTES TO CONSOLIDATED FINANCIAL STATEMENTS

March 31, 2019

(Unaudited)

1. Business and Organization

Comfort Systems USA, Inc., a Delaware corporation, provides comprehensive mechanical contracting services, which principally includes heating, ventilation and air conditioning (“HVAC”), plumbing, piping and controls, as well as off-site construction, electrical, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. Approximately 41.6% of our consolidated 2019 revenue is attributable to installation of systems in newly constructed facilities, with the remaining 58.4% attributable to maintenance, repair and replacement services. The terms “Comfort Systems,” “we,” “us,” or the “Company,” refer to Comfort Systems USA, Inc. or Comfort Systems USA, Inc. and its consolidated subsidiaries, as appropriate in the context.

2. Summary of Significant Accounting Policies

Basis of Presentation

These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form 10-K as filed with the Securities and Exchange Commission (“SEC”) for the year ended December 31, 2018 (the “Form 10-K”).

The accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form 10-Q and applicable rules of Regulation S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form 10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.

Use of Estimates

The preparation of financial statements in conformity with generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, the allowance for doubtful accounts, self-insurance accruals, deferred tax assets, warranty accruals, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing.

Recent Accounting Pronouncements

In February 2016, the FASB issued ASU No. 2016-02, “Leases (Topic 842)”. The standard requires substantially all leases (with the exception of leases with a term of one year or less) to be recorded on the balance sheet using a method referred to as the right-of-use asset approach. ASU 2016-02 is effective for fiscal years beginning after December 15, 2018 and interim periods within those years. Full retrospective application is prohibited. We adopted ASU No. 2016-02, Leases (Topic 842), on January 1, 2019, using the transition method allowed by ASU No. 2018-11, “Leases (Topic 842) Targeted Improvements” in which lessees apply the new lease standard on the adoption date and recognize a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption. We adopted the practical expedient allowing us to not include leases with an initial term of 12 months or less on the balance sheet. Furthermore, we elected to apply the practical expedient allowing an entity to forgo reassessing (1) whether expired or existing contracts contain a lease, (2) classification of expired or existing leases, and (3) whether capitalized

5

costs associated with expired or existing leases should be classified as “initial direct costs” under Topic 842. The adoption of ASU 2016-02 did not have a significant impact to our Statement of Operations or Cash Flows. The adoption of ASU 2016-02 resulted in the recording of right-of-use asset and lease liabilities of $75.9 million on our Balance Sheet as of January 1, 2019 but did not result in a cumulative-effect adjustment to retained earnings.

In June 2016, the FASB issued ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326)”. The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. ASU 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Early adoption is permitted. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.

In August 2018, the FASB issued ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement”. This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.

Revenue Recognition

Revenue is recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. Sales-based taxes are excluded from revenue.

We provide comprehensive mechanical contracting services, which principally includes HVAC, plumbing, piping and controls, as well as off-site construction, electrical, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. All of our revenue is recognized over time as we deliver goods and services to our customers. Revenue can be earned based on an agreed upon fixed price or based on actual costs incurred marked up at an agreed upon percentage.

For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption “Cost of Services.” Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed. Non-labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.

We account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability

6

of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract.

Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred. On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that contract. If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract. We do not currently have any capitalized selling, marketing, or estimation costs on our Balance Sheet and did not incur any impairment loss in the current year.

We generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtaining or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.

Project contracts typically provide for a schedule of billings or invoices to the customer based on our job to date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in the statement of operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our balance sheet under the caption “Costs and estimated earnings in excess of billings.” Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our balance sheet under the caption “Billings in excess of costs and estimated earnings.”

We typically invoice our customers with payment terms of net due in 30 days. It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer 45 to 60 days to make their payment. It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source. In most instances we receive payment of our invoices between 30 to 90 days of the date of the invoice.

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC Topic 606. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.

To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In cases where we do, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized customer specific solution, and in these cases we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation.

We recognize revenue over time for all of our services as we perform them, because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred. The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to

7

payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.

For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.

For a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.

Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts. Variable amounts can either increase or decrease the transaction price. A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated. Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion. Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule.

Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s). The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue (either as an increase or decrease) on a cumulative catchup basis.

We have a Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management's judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g. to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables.

Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities these adjustments may result in a decrease in

8

operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, which recognizes in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation's percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects where estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined.

The Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue. The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period. The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly. We include an estimated amount to cover estimated warranty expense in our Cost of Services and record a liability on our Balance Sheet to cover our current estimated outstanding warranty obligations.

Prior to implementing ASC 606 on January 1, 2018, our methods for recognizing revenue were very similar to our current method under ASC 606. We used the actual cost as a percent of total expected cost at completion to estimate our percentage complete on fixed price jobs, a mark-up of costs for jobs where revenue was based on time and materials incurred and elapsed time for those service maintenance contracts where the full cost to provide the services cannot be reasonably estimated. Furthermore, our process for allocating transaction price to performance obligations is also substantially similar to prior years where, in most cases, a contract is one performance obligation. In those cases where a contract is determined to have more than one performance obligation, the contract price is allocated to each performance obligation based on its standalone sales price.

In the first three months of 2018 and 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material.

Disaggregation of Revenue

We disaggregate our revenue from contracts with customers by activity, customer type and contract type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. Our consolidated 2019 revenue was derived from the following service activities, all of which are in the mechanical services industry, the single industry segment we serve. See details in the following tables (dollars in thousands):

Three Months Ended March 31,

Revenue by Service Provided

2019

2018

HVAC and Plumbing

$

481,990

89.5

%

$

424,017

91.2

%

Building Automation Control Systems

29,014

5.4

%

20,045

4.3

%

Other

27,469

5.1

%

20,879

4.5

%

Total

$

538,473

100.0

%

$

464,941

100.0

%

Three Months Ended March 31,

Revenue by Type of Customer

    

2019

    

2018

 

    

Industrial

$

168,660

31.3

%

$

100,100

    

21.5

%

Education

66,743

12.4

%

88,203

19.0

%

Office Buildings

66,212

12.3

%

69,120

14.9

%

Healthcare

92,023

17.1

%

63,183

13.6

%

Government

32,279

6.0

%

36,147

7.8

%

Retail, Restaurants and Entertainment

59,391

11.0

%

52,787

11.3

%

Multi-Family and Residential

30,235

5.6

%

33,052

7.1

%

Other

22,931

4.3

%

22,349

4.8

%

Total

$

538,473

100.0

%

$

464,941

100.0

%

9

Three Months Ended March 31,

Revenue by Activity Type

    

2019

2018

 

    

New Construction

$

223,961

41.6

%

$

185,282

39.9

%

Existing Building Construction

182,296

33.8

%

156,758

33.7

%

Service Projects

50,384

9.4

%

42,433

9.1

%

Service Calls, Maintenance and Monitoring

81,833

15.2

%

80,468

17.3

%

Total

$

538,473

100.0

%

$

464,941

100.0

%

Accounts Receivable

Accounts Receivable, include amounts from work completed in which we have billed or have an unconditional right to bill our customers. The amounts due are stated at their net estimated realizable value. We maintain an allowance for doubtful accounts to provide for the estimated amount of receivables that will not be collected. The allowance is based upon an assessment of customer creditworthiness, historical payment experience, the age of outstanding receivables and collateral to the extent applicable.

Contract Assets and Liabilities

Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used and revenue recognized exceeds the amount billed to the customer and right to payment is conditional, subject to completing a milestone, such as a phase of the project. Contract assets are generally classified as current.

Contract liabilities consist of advance payments and billings in excess of revenue recognized. Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets are usually all current. If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our consolidated balance sheets.

The following table presents the changes in contract assets and contract liabilities (in thousands):

Three Months Ended

Year Ended

March 31, 2019

December 31, 2018

Contract

Contract

Contract

Contract

Assets

    

Liabilities

    

Assets

    

Liabilities

Balance at beginning of period

$

10,213

$

130,986

$

30,116

$

106,005

Change due to acquisitions

27

44

2,833

8,195

Change due to conditional versus unconditional

(1,954)

6,244

Reclassified to unbilled accounts receivable

(28,980)

Change in timing for performance obligation to be satisfied

(10,740)

16,786

Balance at end of period

$

8,286

 

$

120,290

$

10,213

$

130,986

In the first three months of 2019 and 2018, we recognized revenue of $105.6 million and $85.5 million related to our contract liabilities at January 1, 2019 and January 1, 2018, respectively.

We did not have any impairment losses recognized on our receivables or contract assets in the first three months of 2019 and 2018.

Remaining Performance Obligations

Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and excludes unexercised contract options. As of March 31, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was $1.14 billion. The Company expects to recognize revenue on approximately 85% of the remaining performance obligations over the next 12 months, with the

10

remaining recognized thereafter. Our service maintenance agreements are generally one-year renewable agreements. We have adopted the practical expedient that allows us to not include service maintenance contracts one year or less, therefore we do not report unfulfilled performance obligations for service maintenance agreements.

Leases

We lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations. Leases with an initial term of 12 months or less are not recorded on the balance sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense was not material to our financial statements and aggregated to $1.9 million in the first quarter of 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of March 31, 2019 was 4.1%. We recognize lease expense, including escalating lease payments and excluding lease incentives, on a straight-line basis over the lease term. Lease expense for the three months ended March 31, 2019 and 2018 was $5.6 million and $5.2 million, respectively.

The lease terms generally range from three to ten years. Some leases include one or more options to renew, with renewal terms that can extend the lease term. Our lease terms may include the exercise of lease renewal options when it is reasonably certain that we will exercise the option and it is at our sole discretion. The weighted average remaining lease term was 8.6 years at March 31, 2019.

A majority of the Company’s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the three months ended March 31, 2019 and 2018 was approximately $1.2 million and $1.1 million, respectively.

If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. On rare occasions we rent or sublease certain real estate assets that we no longer use to third parties.

The following table summarizes the lease asset and liabilities included in the consolidated balance sheet as follows (in thousands):

March 31,

2019

Lease right-of-use assets

$

70,316

Lease liabilities:

Other current liabilities

11,066

Long-term lease liabilities

62,028

Total lease liabilities

$

73,094

11

The maturities of lease liabilities are as follows (in thousands):

Year ending December 31—

2019 (excluding the three months ended March 31, 2019)

$

10,687

2020

12,508

2021

11,341

2022

9,410

2023

7,821

Thereafter

35,541

Total Lease Payments

87,308

Less—Present Value Discount

(14,214)

Present Value of Lease Liabilities

$

73,094

Supplemental information related to leases was as follows (in thousands):

Three Months Ended

March 31, 2019

Cash paid for amounts included in the measurement of lease liabilities

$

5,904

Lease right-of-use assets obtained in exchange for lease liabilities

$

174

Income Taxes

We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items, such as tax law changes, judgments and legal structures can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions, accounting for losses associated with underperforming operations and noncontrolling interests.

Our provision for income taxes was reduced by $2.8 million in the first quarter of 2018 due to a decrease in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.

Financial Instruments

Our financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, life insurance policies, notes to former owners, leases and a revolving credit facility. We believe that the carrying values of these instruments on the accompanying balance sheets approximate their fair values.

Segment Disclosure

Our activities are within the mechanical services industry, which is the single industry segment we serve. Each operating unit represents an operating segment and these segments have been aggregated, as the operating units meet all of the aggregation criteria.

3. Fair Value Measurements

We classify and disclose assets and liabilities carried at fair value in one of the following three categories:

Level 1—quoted prices in active markets for identical assets and liabilities;
Level 2—observable market based inputs or unobservable inputs that are corroborated by market data; and
Level 3—significant unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.

12

The following table summarizes the fair values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of March 31, 2019 and December 31, 2018 (in thousands):

Fair Value Measurements at March 31, 2019

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

29,130

$

$

$

29,130

Life insurance—cash surrender value

$

$

3,446

$

$

3,446

Contingent earn-out obligations

$

$

$

6,939

$

6,939

Fair Value Measurements at December 31, 2018

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

45,620

$

$

$

45,620

Life insurance—cash surrender value

$

$

3,252

$

$

3,252

Contingent earn-out obligations

$

$

$

7,375

$

7,375

Cash and cash equivalents consist primarily of highly rated money market funds at a variety of well-known institutions with original maturities of three months or less. The original cost of these assets approximates fair value due to their short-term maturity. The carrying value of our borrowings associated with the Revolving Credit Facility approximate its fair value due to the variable rate on such debt.

We have life insurance policies covering 62 employees with a combined face value of $44.5 million. The policies are invested in several investment vehicles and the fair value measurement of the cash surrender balance associated with these policies is determined using Level 2 inputs within the fair value hierarchy and will vary with investment performance. The cash surrender value of these policies was $3.4 million as of March 31, 2019 and $3.3 million as of December 31, 2018. These assets are included in “Other Noncurrent Assets” in our consolidated balance sheets.

We value contingent earn-out obligations using a probability weighted discounted cash flow method. This fair value measurement is based on significant unobservable inputs in the market and thus represents a Level 3 measurement within the fair value hierarchy. This analysis reflects the contractual terms of the purchase agreements (e.g., minimum and maximum payments, length of earn-out periods, manner of calculating any amounts due, etc.) and utilizes assumptions with regard to future cash flows, probabilities of achieving such future cash flows and a discount rate. The contingent earn-out obligations are measured at fair value each reporting period and changes in estimates of fair value are recognized in earnings.

The table below presents a reconciliation of the fair value of our contingent earn-out obligations that use significant unobservable inputs (Level 3) (in thousands).

    

    

Balance at beginning of year

    

$

7,375

 

Issuances

 

Settlements

(594)

Adjustments to fair value

 

158

Balance at March 31, 2019

$

6,939

We measure certain assets at fair value on a nonrecurring basis. These assets are recognized at fair value when they are deemed to be other-than-temporarily impaired. We did not recognize any impairments, in the current quarter, on those assets required to be measured at fair value on a nonrecurring basis.

4. Acquisitions

We completed one acquisition in the first quarter of 2019 with a total purchase price of $1.6 million for the three months ended March 31, 2019.  We completed two acquisitions in the first quarter of 2018, three acquisitions in the second quarter of 2018 and two acquisitions in the third quarter of 2018. One acquisition completed in the third quarter

13

of 2018 reports as a separate operating location and the remainder were “tucked-in” with existing operations. Our consolidated balance sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed pending the completion of the final valuation of intangible assets and accrued liabilities.

The results of operations of acquisitions are included in our consolidated financial statements from their respective acquisition dates. Our consolidated balance sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed for the applicable acquisitions pending the completion of the final valuation of intangible assets and accrued liabilities. The acquisitions completed in the current and prior year were not material, individually or in the aggregate. Additional contingent purchase price (“earn-out”) has been or will be paid if certain acquisitions achieve predetermined profitability targets. Such earn-outs, which are not subject to the continued employment of the sellers, are estimated as of the purchase date and included as part of the consideration paid for the acquisition. If we have an earn-out where continued employment is a condition to receive payment, then the earn-out is recorded as compensation expense over the period earned.

5. Goodwill

The changes in the carrying amount of goodwill are as follows (in thousands):

March 31,

December 31,

    

2019

    

2018

 

Balance at beginning of year

$

235,182

$

200,584

Additions (See Note 4)

 

678

 

34,598

Impairment adjustment

Balance at end of period

$

235,860

$

235,182

6. Debt Obligations

Debt obligations consist of the following (in thousands):

March 31,

December 31,

    

2019

    

2018

 

Revolving credit facility

$

51,000

$

50,000

Notes to former owners

26,150

 

26,813

Other debt

89

105

Total debt

77,239

 

76,918

Less—current portion

(2,755)

 

(3,279)

Total long-term portion of debt

$

74,484

$

73,639

Revolving Credit Facility

On April 18, 2018, we amended our senior credit facility (the “Facility”) provided by a syndicate of banks, increasing our borrowing capacity from $325.0 million to $400.0 million, with a $100 million accordion option. The Facility, which is available for borrowings and letters of credit, expires in April 2023 and is secured by a first lien on substantially all of our personal property except for assets related to projects subject to surety bonds and assets held by certain unrestricted subsidiaries and a second lien on our assets related to projects subject to surety bonds. As of March 31, 2019, we had $51.0 million of outstanding borrowings, $33.6 million in letters of credit outstanding and $315.4 million of credit available.

There are two interest rate options for borrowings under the Facility, the Base Rate Loan Option and the Eurodollar Rate Loan Option. These rates are floating rates determined by the broad financial markets, meaning they can and do move up and down from time to time. Additional margins are then added to these two rates.

14

The following is a summary of the additional margins:

Consolidated Total Indebtedness to

 

Credit Facility Adjusted EBITDA

 

    

Less than 1.00

    

1.00 to 1.75

    

1.75 to 2.50

    

2.50 or greater

 

Additional Per Annum Interest Margin Added Under:

Base Rate Loan Option

0.25

%  

0.50

%  

0.75

%  

1.00

%

Eurodollar Rate Loan Option

1.25

%

1.50

%

1.75

%

2.00

%

The weighted average interest rate applicable to the borrowings under the Facility was approximately 3.7% as of March 31, 2019.

Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. Our lenders issue such letters of credit through the Facility. We have never had a claim made against a letter of credit that resulted in payments by a lender or by us and believe such a claim is unlikely in the foreseeable future. The letter of credit fees range from 1.25% to 2.00% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.

Commitment fees are payable on the portion of the revolving loan capacity not in use for borrowings or letters of credit at any given time. These fees range from 0.20% to 0.35% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.

The Facility contains financial covenants defining various financial measures and the levels of these measures with which we must comply. Covenant compliance is assessed as of each quarter end.

The Facility’s principal financial covenants include:

Total Leverage Ratio—The Facility requires that the ratio of our Consolidated Total Indebtedness to our Credit Facility Adjusted EBITDA not exceed 3.00 to 1.00 as of the end of each fiscal quarter. The total leverage ratio as of March 31, 2019 was 0.4.

Fixed Charge Coverage Ratio—The Facility requires that the ratio of (a) Credit Facility Adjusted EBITDA, less non-financed capital expenditures, provision for income taxes, dividends and amounts used to repurchase stock to (b) the sum of interest expense and scheduled principal payments of indebtedness be at least 2.00 to 1.00; provided that the calculation of the fixed charge coverage ratio excludes stock repurchases and the payment of dividends at any time that the Company’s Net Leverage Ratio, as defined in the credit agreement, does not exceed 1.75 to 1.00. The Facility also allows the fixed charge coverage ratio not to be reduced for stock repurchases made after the effective date of the Facility in an aggregate amount not to exceed $30 million, if at the time of and after giving effect to such repurchase the Company’s Net Leverage Ratio was less than or equal to 1.75 to 1.00. Credit Facility Adjusted EBITDA, capital expenditures, provision for income taxes, dividends, stock repurchase payments, interest expense, and scheduled principal payments are defined under the Facility for purposes of this covenant to be amounts for the four quarters ending as of any given quarterly covenant compliance measurement date. The fixed charge coverage ratio as of March 31, 2019 was 22.6.

Other Restrictions—The Facility permits acquisitions of up to $40.0 million per transaction, provided that the aggregate purchase price of all such acquisitions in the same fiscal year does not exceed $80.0 million. However, these limitations only apply when the Company’s Total Leverage Ratio is greater than 2.00 to 1.00.

15

While the Facility’s financial covenants do not specifically govern capacity under the Facility, if our debt level under the Facility at a quarter-end covenant compliance measurement date were to cause us to violate the Facility’s leverage ratio covenant, our borrowing capacity under the Facility and the favorable terms that we currently have could be negatively impacted by the lenders.

We were in compliance with all of our financial covenants as of March 31, 2019.

Notes to Former Owners

As part of the consideration used to acquire six companies, we have outstanding notes to the former owners. These notes had an outstanding balance of $26.2 million as of March 31, 2019. In conjunction with an acquisition in the first quarter of 2019, we issued a promissory note to former owners with an outstanding balance of $0.4 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.0%. The principal is due in January 2021. In conjunction with an acquisition in the third quarter of 2018, we issued a promissory note to former owners with an outstanding balance of $6.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.5%. The principal is due in three equal installments in July 2019, 2020 and 2021. In conjunction with a separate acquisition in the third quarter of 2018, we issued a promissory note to former owners with an outstanding balance of $3.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 2.9%. The principal is due in September 2020. In conjunction with a small acquisition in the second quarter of 2018, we issued a subordinated note to former owners with an outstanding balance of $1.0 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.5%. The principal is due in equal installments in May 2020 and 2021. In conjunction with a small acquisition in the first quarter of 2018, we issued a subordinated note to former owners with an outstanding balance of $0.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 2.5%. The principal is due in January 2020. In conjunction with the BCH acquisition in the second quarter of 2017, we issued a promissory note to former owners with an outstanding balance of $14.3 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.0%. The principal is due in equal installments in April 2020 and 2021.

Other Debt

As part of the Shoffner acquisition, we acquired debt with an outstanding balance at the acquisition date of $0.4 million with principal and interest due the last day of every month; ending on the December 30, 2019 maturity date. The interest rate is the one month LIBOR rate plus 2.25%. As of March 31, 2019, $0.1 million of the note was outstanding, all of which was considered current.

7. Commitments and Contingencies

Claims and Lawsuits

We are subject to certain legal and regulatory claims, including lawsuits arising in the normal course of business. We maintain various insurance coverages to minimize financial risk associated with these claims. We have estimated and provided accruals for probable losses and related legal fees associated with certain litigation in the accompanying consolidated financial statements. While we cannot predict the outcome of these proceedings, in management’s opinion and based on reports of counsel, any liability arising from these matters individually and in the aggregate will not have a material effect on our operating results, cash flows or financial condition, after giving effect to provisions already recorded.

Surety

Many customers, particularly in connection with new construction, require us to post performance and payment bonds issued by a financial institution known as a surety. If we fail to perform under the terms of a contract or to pay subcontractors and vendors who provided goods or services under a contract, the customer may demand that the surety make payments or provide services under the bond. We must reimburse the surety for any expenses or outlays it incurs. To date, we are not aware of any losses to our sureties in connection with bonds the sureties have posted on our behalf, and do not expect such losses to be incurred in the foreseeable future.

16

Surety market conditions have seen some strengthening as the commercial construction markets have started to rebound. Bonding capacity remains adequate in the current market conditions along with acceptable terms and conditions. Historically, approximately 20% to 30% of our business has required bonds. While we currently have strong surety relationships to support our bonding needs, future market conditions or changes in the sureties’ assessment of our operating and financial risk could cause the sureties to decline to issue bonds for our work. If that were to occur, the alternatives include doing more business that does not require bonds, posting other forms of collateral for project performance such as letters of credit or cash, and seeking bonding capacity from other sureties. We would likely also encounter concerns from customers, suppliers and other market participants as to our creditworthiness. While we believe our general operating and financial characteristics would enable us to ultimately respond effectively to an interruption in the availability of bonding capacity, such an interruption would likely cause our revenue and profits to decline in the near term.

Self-Insurance

We are substantially self-insured for workers’ compensation, employer’s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks, such as workers’ compensation, auto liability and general liability, are reviewed by a third-party actuary quarterly.

8. Stockholders’ Equity

Earnings Per Share

Basic earnings per share (“EPS”) is computed by dividing net income by the weighted average number of shares of common stock outstanding during the year. Diluted EPS is computed considering the dilutive effect of stock options, restricted stock, restricted stock units and performance stock units. The vesting of unvested contingently issuable performance stock units is based on the achievement of certain earnings per share targets and total shareholder return. These shares are considered contingently issuable shares for purposes of calculating diluted earnings per share. These shares are not included in the diluted earnings per share denominator until the performance criteria are met, if it is assumed that the end of the reporting period was the end of the contingency period.

Unvested restricted stock, restricted stock units and performance stock units are included in diluted earnings per share, weighted outstanding until the shares and units vest. Upon vesting, the vested restricted stock, restricted stock units and performance stock units are included in basic earnings per share weighted outstanding from the vesting date.

There were less than 0.1 million anti-dilutive stock options excluded from the calculation of diluted EPS for the three months ended March 31, 2019 and 2018, respectively.

The following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):

Three Months Ended

March 31,

    

2019

    

2018

 

Common shares outstanding, end of period

36,891

 

37,088

Effect of using weighted average common shares outstanding

32

 

104

Shares used in computing earnings per share—basic

36,923

 

37,192

Effect of shares issuable under stock option plans based on the treasury stock method

230

 

317

Effect of restricted and contingently issuable shares

81

 

119

Shares used in computing earnings per share—diluted

37,234

 

37,628

17

Share Repurchase Program

On March 29, 2007, our Board of Directors (the “Board”) approved a stock repurchase program to acquire up to 1.0 million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On August 10, 2018, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 8.8 million shares to be repurchased. As of March 31, 2019, we have repurchased a cumulative total of 8.3 million shares at an average price of $16.51 per share under the repurchase program.

The share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the three months ended March 31, 2019, we repurchased 0.1 million shares for approximately $3.3 million at an average price of $49.27 per share.

9. Subsequent Events

On April 1, 2019, we acquired all of the issued and outstanding equity interests of Walker TX Holding Company, LLC and each of its wholly-owned subsidiaries (collectively “Walker”) pursuant to the terms of the Purchase Agreement (the “Purchase Agreement”) dated as of February 21, 2019. The purchase price consisted of $178 million in cash at closing, subject to working capital and certain other post-closing adjustments as set forth in the purchase agreement and $25 million in a promissory note that is payable in two equal installments of $12.5 million on the third and fourth anniversaries of the closing date, plus an earn out that we will pay if certain financial targets are met after the acquisition date. As of closing, we also funded a $20.5 million advance that we expect to recover as part of the working capital settlement and other contingent future payments. Walker is a full-service electrical contracting and network infrastructure engineering business serving commercial and industrial clients with headquarters in Irving, Texas and operations throughout the state of Texas. The transaction was primarily funded from the Company’s revolving credit facility.

Beginning on or about April 14, 2019, the Comfort Systems USA, Inc. information technology infrastructure was impacted by a ransomware attack virus. As a result, a substantial majority of our operating locations experienced loss of access to certain data and outages affecting systems including accounting, payroll, billing, job report and management and other software environments. Our first quarter financial results were not affected by this incident. We expect to incur certain costs and experience inefficiencies and delays associated with the incident and our response efforts that might not be covered by existing insurance, and which could adversely affect our financial results in future periods. We anticipate that any such costs, inefficiencies and delays would likely be incurred during our second quarter of 2019 and could also impact the timing of our cash flows in the short and intermediate term. We do not believe that this incident will have a long-term material adverse impact on our business, results of operations or financial condition.

18

Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations

The following discussion and analysis should be read in conjunction with our historical Consolidated Financial Statements and related notes included elsewhere in this Form 10-Q and the Annual Report on Form 10-K filed with the Securities and Exchange Commission for the year ended December 31, 2018 (the “Form 10-K”). This discussion contains “forward-looking statements” regarding our business and industry within the meaning of the Private Securities Litigation Reform Act of 1995. These statements are based on our current plans and expectations and involve risks and uncertainties that could cause our actual future activities and results of operations to be materially different from those set forth in the forward-looking statements. Important factors that could cause actual results to differ include risks set forth in “Item 1A. Risk Factors” included in our Form 10-K. We undertake no obligation to revise or publicly release the results of any revision to these forward-looking statements, except as required by law. Given these risks and uncertainties, readers are cautioned not to place undue reliance on such forward-looking statements. The terms “Comfort Systems,” “we,” “us,” or the “Company,” refer to Comfort Systems USA, Inc. or Comfort Systems USA, Inc. and its consolidated subsidiaries, as appropriate in the context.

Introduction and Overview

We are a national provider of comprehensive mechanical installation, renovation, maintenance, repair and replacement services within the mechanical services industry. We operate primarily in the commercial, industrial and institutional HVAC markets and perform most of our services within office buildings, retail centers, apartment complexes, manufacturing plants, and healthcare, education and government facilities.

Nature and Economics of Our Business

Approximately 84.8% of our revenue is earned on a project basis for installation of mechanical systems in newly constructed facilities or for replacement of systems in existing facilities. Customers hire us to ensure such systems deliver specified or generally expected heating, cooling, conditioning and circulation of air in a facility. This entails installing core system equipment such as packaged heating and air conditioning units, or in the case of larger facilities, separate core components such as chillers, boilers, air handlers, and cooling towers. We also typically install connecting and distribution elements such as piping and ducting. Our responsibilities usually require conforming the systems to pre-established engineering drawings and equipment and performance specifications, which we frequently participate in establishing. Our project management responsibilities include staging equipment and materials to project sites, deploying labor to perform the work, and coordinating with other service providers on the project, including any subcontractors we might use to deliver our portion of the work.

When competing for project business, we usually estimate the costs we will incur on a project, and then propose a bid to the customer that includes a contract price and other performance and payment terms. Our bid price and terms are intended to cover our estimated costs on the project and provide a profit margin to us commensurate with the value of the installed system to the customer, the risk that project costs or duration will vary from estimate, the schedule on which we will be paid, the opportunities for other work that we might forego by committing capacity to this project, and other costs that we incur to support our operations but which are not specific to the project. Typically customers will seek pricing from competitors for a given project. While the criteria on which customers select a service provider vary widely and include factors such as quality, technical expertise, on-time performance, post-project support and service, and company history and financial strength, we believe that price for value is the most influential factor for most customers in choosing a mechanical installation and service provider.

After a customer accepts our bid, we generally enter into a contract with the customer that specifies what we will deliver on the project, what our related responsibilities are, and how much and when we will be paid. Our overall price for the project is typically set at a fixed amount in the contract, although changes in project specifications or work conditions that result in unexpected additional work are usually subject to additional payment from the customer via what are commonly known as change orders. Project contracts typically provide for periodic billings to the customer as we meet progress milestones or incur cost on the project. Project contracts in our industry also frequently allow for a small portion of progress billings or contract price to be withheld by the customer until after we have completed the work. Amounts withheld under this practice are known as retention or retainage.

19

Labor and overhead costs account for the majority of our cost of service. Accordingly, labor management and utilization have the most impact on our project performance. Given the fixed price nature of much of our project work, if our initial estimate of project costs is wrong or we incur cost overruns that cannot be recovered in change orders, we can experience reduced profits or even significant losses on fixed price project work. We also perform some project work on a cost-plus or a time and materials basis, under which we are paid our costs incurred plus an agreed-upon profit margin, and such projects are sometimes subject to a guaranteed maximum cost. These margins are frequently less than fixed-price contract margins because there is less risk of unrecoverable cost overruns in cost-plus or time and materials work.

As of March 31, 2019 we had 5,112 projects in process. Our average project takes six to nine months to complete, with an average contract price of approximately $594,000. Our projects generally require working capital funding of equipment and labor costs. Customer payments on periodic billings generally do not recover these costs until late in the job. Our average project duration together with typical retention terms as discussed above generally allow us to complete the realization of revenue and earnings in cash within one year. We have what we believe is a well-diversified distribution of revenue across end-use sectors that we believe reduces our exposure to negative developments in any given sector. Because of the integral nature of HVAC and related controls systems to most buildings, we have the legal right in almost all cases to attach liens to buildings or related funding sources when we have not been fully paid for installing systems, except with respect to some government buildings. The service work that we do, which is discussed further below, usually does not give rise to lien rights.

A stratification of projects in progress as of March 31, 2019, by contract price, is as follows:

    

    

Aggregate

 

Contract

 

No. of

Price Value

 

Contract Price of Project

Projects

(millions)

 

Under $1 million

 

4,511

$

592.3

$1 million - $5 million

 

484

 

1,070.2

$5 million - $10 million

 

71

 

499.8

$10 million - $15 million

 

24

 

296.7

Greater than $15 million

 

22

 

579.2

Total

 

5,112

$

3,038.2

In addition to project work, approximately 15.2% of our revenue represents maintenance and repair service on already installed HVAC and controls systems. This kind of work usually takes from a few hours to a few days to perform. Prices to the customer are based on the equipment and materials used in the service as well as technician labor time. We usually bill the customer for service work when it is complete, typically with payment terms of up to thirty days. We also provide maintenance and repair service under ongoing contracts. Under these contracts, we are paid regular monthly or quarterly amounts and provide specified service based on customer requirements. These agreements typically are for one or more years and frequently contain thirty- to sixty-day cancellation notice periods.

A relatively small portion of our revenue comes from national and regional account customers. These customers typically have multiple sites, and contract with us to perform maintenance and repair service. These contracts may also provide for us to perform new or replacement systems installation. We operate a national call center to dispatch technicians to sites requiring service. We perform the majority of this work with our own employees, with the balance being subcontracted to third parties that meet our performance qualifications.

Profile and Management of Our Operations

We manage our 35 operating units based on a variety of factors. Financial measures we emphasize include profitability, and use of capital as indicated by cash flow and by other measures of working capital principally involving project cost, billings and receivables. We also monitor selling, general, administrative and indirect project support expense, backlog, workforce size and mix, growth in revenue and profits, variation of actual project cost from original estimate, and overall financial performance in comparison to budget and updated forecasts. Operational factors we emphasize include project selection, estimating, pricing, management and execution practices, labor utilization, safety,

20

training, and the make-up of both existing backlog as well as new business being pursued, in terms of project size, technical application and facility type, end-use customers and industries, and location of the work.

Most of our operations compete on a local or regional basis. Attracting and retaining effective operating unit managers is an important factor in our business, particularly in view of the relative uniqueness of each market and operation, the importance of relationships with customers and other market participants such as architects and consulting engineers, and the high degree of competition and low barriers to entry in most of our markets. Accordingly, we devote considerable attention to operating unit management quality, stability, and contingency planning, including related considerations of compensation, and non-competition protection where applicable.

Economic and Industry Factors

As a mechanical and building controls services provider, we operate in the broader nonresidential construction services industry and are affected by trends in this sector. While we do not have operations in all major cities of the United States, we believe our national presence is sufficiently large that we experience trends in demand for and pricing of our services that are consistent with trends in the national nonresidential construction sector. As a result, we monitor the views of major construction sector forecasters along with macroeconomic factors they believe drive the sector, including trends in gross domestic product, interest rates, business investment, employment, demographics, and the fiscal condition of federal, state and local governments.

Spending decisions for building construction, renovation and system replacement are generally made on a project basis, usually with some degree of discretion as to when and if projects proceed. With larger amounts of capital, time, and discretion involved, spending decisions are affected to a significant degree by uncertainty, particularly concerns about economic and financial conditions and trends. We have experienced periods of time when economic weakness caused a significant slowdown in decisions to proceed with installation and replacement project work.

Operating Environment and Management Emphasis

Nonresidential building construction and renovation activity, as reported by the federal government, declined steeply over the four-year period from 2009 to 2012, and 2013 and 2014 activity levels were relatively stable at the low levels of the preceding years. During the four-year period from 2015 to 2018, there was an increase in overall activity levels and we currently expect that activity will continue at these improved levels during 2019.

As a result of our continued strong emphasis on cash flow, at March 31, 2019 we had modest indebtedness under our revolving credit facility, with positive uncommitted cash balances, as discussed further in “Liquidity and Capital Resources” below. We have a credit facility in place with terms we believe are favorable that does not expire until April 2023. We have strong surety relationships to support our bonding needs, and we believe our relationships with the surety markets are strong and benefit from our operating history and financial position. We have generated positive free cash flow in each of the last twenty calendar years and will continue our emphasis in this area. We believe that the relative size and strength of our balance sheet and surety relationships as compared to most companies in our industry represent competitive advantages for us.

As discussed at greater length in “Results of Operations” below, we expect price competition to continue as our customers and local and regional competitors respond cautiously to improved market conditions. We will continue to invest in our service business, to pursue the more active sectors in our markets, and to emphasize our regional and national account business. Our primary emphasis for 2019 is on execution and cost control, but we are seeking growth based on our belief that industry conditions will continue to be strong in the near term, and we believe that activity levels will permit us to continue to earn solid profits while preserving and developing our workforce. We continue to focus on project qualification, estimating, pricing and management; and we are investing in growth and improved performance.

Cyclicality and Seasonality

Historically, the construction industry has been highly cyclical. As a result, our volume of business, particularly in new construction projects and renovation, may be adversely affected by declines in new installation and replacement projects in various geographic regions of the United States during periods of economic weakness.

21

The HVAC industry is subject to seasonal variations. The demand for new installation and replacement is generally lower during the winter months (the first quarter of the year) due to reduced construction activity during inclement weather and less use of air conditioning during the colder months. Demand for HVAC services is generally higher in the second and third calendar quarters due to increased construction activity and increased use of air conditioning during the warmer months. Accordingly, we expect our revenue and operating results generally will be lower in the first calendar quarter.

Results of Operations (dollars in thousands):

Three Months Ended March 31,

2019

    

2018

 

Revenue

$

538,473

    

100.0

%  

$

464,941

    

100.0

%

Cost of services

 

431,808

 

80.2

%

 

375,888

 

80.8

%

Gross profit

 

106,665

 

19.8

%

 

89,053

 

19.2

%

Selling, general and administrative expenses

 

78,905

 

14.7

%

 

70,023

 

15.1

%

Gain on sale of assets

 

(219)

 

 

(211)

 

Operating income

 

27,979

 

5.2

%

 

19,241

 

4.1

%

Interest income

 

25

 

 

14

 

Interest expense

 

(1,062)

 

(0.2)

%

 

(713)

 

(0.2)

%

Changes in the fair value of contingent earn-out obligations

 

(158)

 

 

153

 

Other income (expense)

 

15

 

 

38

 

Income before income taxes

 

26,799

 

5.0

%

 

18,733

 

4.0

%

Provision for income taxes

 

6,933

 

2,074

Net income

$

19,866

3.7

%

$

16,659

3.6

%

We had 36 operating locations as of December 31, 2018. In the first quarter of 2019, we combined two operating locations into one. As of March 31, 2019, we had 35 operating locations. Acquisitions are included in our results of operations from the respective acquisition date. The same-store comparison from 2019 to 2018, as described below, excludes three months of results for the Indiana acquisition, which was acquired July 1, 2018. An operating location is included in the same-store comparison on the first day it has comparable prior year operating data, except for immaterial acquisitions that were absorbed and integrated, or “tucked-in”, with existing operations.

Revenue—Revenue increased $73.5 million, or 15.8%, to $538.5 million for the first quarter of 2019 compared to the same period in 2018. The increase included a 6.0% increase related to the Indiana acquisition and a 9.8% increase in revenue related to same-store activity. The same-store revenue increase was broad-based, including an increase in activity at two of our Virginia operations ($15.2 million), our North Carolina operation ($11.2 million), one of our Florida operations ($7.4 million) and our Alabama operation ($6.6 million). This increase was offset by a decrease in activity at one of our Texas operations ($9.3 million).

Backlog reflects revenue still to be recognized under contracted or committed installation and replacement project work. Project work generally lasts less than one year. Service agreement revenue and service work and short duration projects, which are generally billed as performed, do not flow through backlog. Accordingly, backlog represents only a portion of our revenue for any given future period, and it represents revenue that is likely to be reflected in our operating results over the next six to twelve months. As a result, we believe the predictive value of backlog information is limited to indications of general revenue direction over the near term, and should not be interpreted as indicative of ongoing revenue performance over several quarters.

Backlog as of March 31, 2019 was $1.14 billion, a 2.0% decrease from December 31, 2018 backlog of $1.17 billion, and a 5.9% increase from March 31, 2018 backlog of $1.08 billion. Sequential backlog decreased primarily due to completion of project work at one of our Virginia operations ($24.1 million) and one of our Florida operations ($17.1 million), which was partially offset by increased project bookings at one of our Texas operations ($17.6 million). The year‑over‑year backlog increase included the Indiana acquisition ($18.2 million) and a same-store increase of $45.6 million or 4.2%. Same-store year-over-year backlog increased primarily due to increased project bookings at one of our Texas operations ($42.8 million) and one of our Florida operations ($29.4 million), partially offset by a completion of project work at one of our Maryland operations ($24.2 million).

22

Gross Profit—Gross profit increased $17.6 million, or 19.8%, to $106.7 million for the first quarter of 2019 as compared to the same period in 2018. The increase included a 3.7% increase related to the Indiana acquisition and a 16.1% increase in same-store activity. The same-store increase in gross profit was primarily due to increased volumes at one of our Virginia operations ($1.5 million). Additionally, we had improvements in project execution at our North Carolina operation ($3.0 million), one of our Florida operations ($2.8 million) and one of our Tennessee operations ($1.7 million) compared to the prior year. As a percentage of revenue, gross profit increased from 19.2% in 2018 to 19.8% in 2019 primarily due to the improvement in project execution at our North Carolina operation as previously discussed.

Selling, General and Administrative Expenses (“SG&A”)—SG&A increased $8.9 million, or 12.7%, to $78.9 million for the first quarter of 2019 as compared to 2018. On a same-store basis, excluding amortization expense, SG&A increased $6.1 million, or 9.2%. This increase is primarily due to the increase in revenue and increased compensation costs related to earnings growth compared to the prior year period. Additionally, we had an increase in amortization expense of $1.0 million during the period as compared to the prior year period, primarily as a result of the Indiana acquisition. As a percentage of revenue, SG&A decreased from 15.1% in 2018 to 14.7% in 2019.

We have included same-store SG&A, excluding amortization, because we believe it is an effective measure of comparative results of operations. However, same-store SG&A, excluding amortization, is not considered under generally accepted accounting principles to be a primary measure of an entity’s financial results, and accordingly, should not be considered an alternative to SG&A as shown in our consolidated statements of operations.

 

Three Months Ended

 

March 31,

    

2019

    

2018

 

 

(in thousands)

SG&A

$

78,905

$

70,023

Less: SG&A from companies acquired

 

(1,776)

 

Less: Amortization expense

 

(4,388)

 

(3,416)

Same-store SG&A, excluding amortization expense

$

72,741

$

66,607

Interest Expense—Interest expense increased $0.3 million, or 48.9%, to $1.1 million for the first quarter of 2019 as compared to the same period in 2018. The increase reflects the increased borrowings on the revolving credit facility and notes to former owners as a result of our recent acquisitions.

Changes in the Fair Value of Contingent Earn-out Obligations—The contingent earn-out obligations are measured at fair value each reporting period and changes in estimates of fair value are recognized in earnings. Income from changes in the fair value of contingent earn-out obligations for the first quarter of 2019 decreased $0.3 million as compared to the same period in 2018. This decrease was primarily the result of increasing our obligation related to one of our Florida operations acquired in 2017.

Provision for Income Taxes—Our provision for income taxes for the three months ended March 31, 2019 was $6.9 million with an effective tax rate of 25.9% as compared to a provision for income taxes of $2.1 million with an effective tax rate of 11.1% for the same period in 2018. The effective tax rate for 2019 was higher than the 21% federal statutory rate primarily due to net state income taxes (4.4%) and nondeductible expenses (1.4%) partially offset by deductions for stock-based compensation (0.9%). The effective tax rate for 2018 was lower than the 21% federal statutory rate primarily due to a decrease in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application (14.8%) partially offset by net state income taxes (4.4%) and nondeductible expenses (0.9%).

We currently estimate our effective tax rate for the full year 2019 will be between 25% and 30%. We generally expect our tax rate in 2019 to be higher than 2018 due to the nonrecurring benefit from the decrease in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.

23

Outlook

Industry conditions improved during the three-year period from 2016 to 2018 and we currently expect that activity will continue at these improved levels during 2019. Our emphasis for 2019 is on cost discipline and efficient project performance, labor force development, and investing in growth, particularly in service and small projects. Based on our backlog, and in light of economic conditions, we currently expect that revenue and net earnings in 2019 will continue at the favorable levels we experienced in 2018.

Liquidity and Capital Resources (in thousands):

Three Months Ended

March 31,

    

2019

    

2018

 

Cash provided by (used in):

Operating activities

$

991

$

3,851

Investing activities

 

(9,800)

 

(11,941)

Financing activities

 

(7,681)

 

(3,233)

Net decrease in cash and cash equivalents

$

(16,490)

$

(11,323)

Free cash flow:

Cash provided by operating activities

$

991

$

3,851

Purchases of property and equipment

 

(8,844)

 

(5,588)

Proceeds from sales of property and equipment

 

357

 

366

Free cash flow

$

(7,496)

$

(1,371)

Cash Flow

Our business does not require significant amounts of investment in long-term fixed assets. The substantial majority of the capital used in our business is working capital that funds our costs of labor and installed equipment deployed in project work until our customer pays us. Customary terms in our industry allow customers to withhold a small portion of the contract price until after we have completed the work, typically for six months. Amounts withheld under this practice are known as retention or retainage. Our average project duration together with typical retention terms generally allow us to complete the realization of revenue and earnings in cash within one year.

Cash Provided by Operating Activities—Cash flow from operations is primarily influenced by demand for our services and operating margins, but can also be influenced by working capital needs associated with the various types of services that we provide. In particular, working capital needs may increase when we commence large volumes of work under circumstances where project costs, primarily associated with labor, equipment and subcontractors, are required to be paid before the receivables resulting from the work performed are billed and collected. Working capital needs are generally higher during the late winter and spring months as we prepare and plan for the increased project demand when favorable weather conditions exist in the summer and fall months. Conversely, working capital assets are typically converted to cash during the late summer and fall months as project completion is underway. These seasonal trends are sometimes offset by changes in the timing of major projects, which can be impacted by the weather, project delays or accelerations and other economic factors that may affect customer spending.

Cash provided by operating activities was $1.0 million during the first three months of 2019 compared with $3.9 million during the same period in 2018. This decrease was primarily driven by a $43.7 million decrease in accounts payable and accrued liabilities and a $10.4 million decrease in Billings in excess of costs and estimated earnings driven by timing of payments and project billings. These decreases were substantially offset by a $41.8 million decrease in receivables, net and a $6.5 million change in Other long-term liabilities. The change in Other long-term liabilities was primarily the result of the resolution of an uncertain tax position in the first quarter of 2018.

Cash Used in Investing Activities—During the first three months of 2019, cash used in investing activities was $9.8 million compared to $11.9 million during the same period in 2018. The $2.1 million decrease in cash used primarily relates to cash paid (net of cash acquired) for acquisitions, partially offset by increased capital expenditures in 2019 compared to the same period in 2018.

24

Cash Used in Financing Activities—Cash used in financing activities was $7.7 million for the first three months of 2019 compared to $3.2 million during the same period in 2018. The $4.4 million increase in cash used is primarily due to $4.0 million less in net proceeds from the revolving line of credit compared to the prior year.

Free Cash Flow—We define free cash flow as cash provided by operating activities, less customary capital expenditures, plus the proceeds from asset sales. We believe free cash flow, by encompassing both profit margins and the use of working capital over our approximately one year working capital cycle, is an effective measure of operating effectiveness and efficiency. We have included free cash flow information here for this reason, and because we are often asked about it by third parties evaluating us. However, free cash flow is not considered under generally accepted accounting principles to be a primary measure of an entity’s financial results, and accordingly free cash flow should not be considered an alternative to operating income, net income, or amounts shown in our consolidated statements of cash flows as determined under generally accepted accounting principles. Free cash flow may be defined differently by other companies.

Share Repurchase Program

On March 29, 2007, our Board of Directors (the “Board”) approved a stock repurchase program to acquire up to 1.0 million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On August 10, 2018, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 8.8 million shares to be repurchased. As of March 31, 2019, we have repurchased a cumulative total of 8.3 million shares at an average price of $16.51 per share under the repurchase program.

The share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the three months ended March 31, 2019, we repurchased 0.1 million shares for approximately $3.3 million at an average price of $49.27 per share.

Debt

Revolving Credit Facility

On April 18, 2018, we amended our senior credit facility (the “Facility”) provided by a syndicate of banks, increasing our borrowing capacity from $325.0 million to $400.0 million, with a $100 million accordion option. The Facility, which is available for borrowings and letters of credit, expires in April 2023 and is secured by a first lien on substantially all of our personal property except for assets related to projects subject to surety bonds and assets held by certain unrestricted subsidiaries and a second lien on our assets related to projects subject to surety bonds. As of March 31, 2019, we had $51.0 million of outstanding borrowings, $33.6 million in letters of credit outstanding and $315.4 million of credit available.

There are two interest rate options for borrowings under the Facility, the Base Rate Loan Option and the Eurodollar Rate Loan Option. These rates are floating rates determined by the broad financial markets, meaning they can and do move up and down from time to time. Additional margins are then added to these two rates.

Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. Our lenders issue such letters of credit through the Facility for a fee. We have never had a claim made against a letter of credit that resulted in payments by a lender or by us and believe such a claim is unlikely in the foreseeable future. The letter of credit fees range from 1.25% to 2.00% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.

25

Commitment fees are payable on the portion of the revolving loan capacity not in use for borrowings or letters of credit at any given time. These fees range from 0.20% to 0.35% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.

The Facility contains financial covenants defining various financial measures and the levels of these measures with which we must comply. Covenant compliance is assessed as of each quarter end.

The Facility’s principal financial covenants include:

Total Leverage Ratio—The Facility requires that the ratio of our Consolidated Total Indebtedness to our Credit Facility Adjusted EBITDA not exceed 3.00 to 1.00 as of the end of each fiscal quarter. The total leverage ratio as of March 31, 2019 was 0.4.

Fixed Charge Coverage Ratio—The Facility requires that the ratio of (a) Credit Facility Adjusted EBITDA, less non-financed capital expenditures, provision for income taxes, dividends and amounts used to repurchase stock to (b) the sum of interest expense and scheduled principal payments of indebtedness be at least 2.00 to 1.00; provided that the calculation of the fixed charge coverage ratio excludes stock repurchases and the payment of dividends at any time that the Company’s Net Leverage Ratio, as defined in the credit agreement, does not exceed 1.75 to 1.00. The Facility also allows the fixed charge coverage ratio not to be reduced for stock repurchases made after the effective date of the Facility in an aggregate amount not to exceed $30 million, if at the time of and after giving effect to such repurchase the Company’s Net Leverage Ratio was less than or equal to 1.75 to 1.00. Credit Facility Adjusted EBITDA, capital expenditures, provision for income taxes, dividends, stock repurchase payments, interest expense, and scheduled principal payments are defined under the Facility for purposes of this covenant to be amounts for the four quarters ending as of any given quarterly covenant compliance measurement date. The fixed charge coverage ratio as of March 31, 2019 was 22.6.

Other Restrictions—The Facility permits acquisitions of up to $40.0 million per transaction, provided that the aggregate purchase price of all such acquisitions in the same fiscal year does not exceed $80.0 million. However, these limitations only apply when the Company’s Total Leverage Ratio is greater than 2.00 to 1.00.

While the Facility’s financial covenants do not specifically govern capacity under the Facility, if our debt level under the Facility at a quarter-end covenant compliance measurement date were to cause us to violate the Facility’s leverage ratio covenant, our borrowing capacity under the Facility and the favorable terms that we currently have could be negatively impacted by the lenders.

We were in compliance with all of our financial covenants as of March 31, 2019.

Notes to Former Owners

As part of the consideration used to acquire six companies, we have outstanding notes to the former owners. These notes had an outstanding balance of $26.2 million as of March 31, 2019. In conjunction with an acquisition in the first quarter of 2019, we issued a promissory note to former owners with an outstanding balance of $0.4 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.0%. The principal is due in January 2021. In conjunction with an acquisition in the third quarter of 2018, we issued a promissory note to former owners with an outstanding balance of $6.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.5%. The principal is due in three equal installments in July 2019, 2020 and 2021. In conjunction with a separate acquisition in the third quarter of 2018, we issued a promissory note to former owners with an outstanding balance of $3.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 2.9%. The principal is due in September 2020. In conjunction with a small acquisition in the second quarter of 2018, we issued a subordinated note to former owners with an outstanding balance of $1.0 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.5%. The principal is due in equal installments in May 2020 and 2021. In conjunction with a small acquisition in the first quarter of 2018, we issued a subordinated note to former owners with an outstanding balance of $0.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 2.5%. The principal is due in January 2020. In conjunction with the BCH acquisition in the second quarter of 2017, we issued a promissory note to the former owners with an

26

outstanding balance of $14.3 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.0%. The principal is due in equal installments in April 2020 and 2021.

Other Debt

As part of the Shoffner acquisition, we acquired debt with an outstanding balance at the acquisition date of $0.4 million with principal and interest due the last day of every month; ending on the December 30, 2019 maturity date. The interest rate is the one month LIBOR rate plus 2.25%. As of March 31, 2019, $0.1 million of the note was outstanding, all of which was considered current.

Outlook

We have generated positive net free cash flow for the last twenty calendar years, much of which occurred during challenging economic and industry conditions. We also continue to have significant borrowing capacity under our credit facility, and we maintain what we feel are reasonable cash balances. We believe these factors will provide us with sufficient liquidity to fund our operations for the foreseeable future.

Off-Balance Sheet Arrangements and Other Commitments

Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. The letters of credit we provide are actually issued by our lenders through the Facility as described above. A letter of credit commits the lenders to pay specified amounts to the holder of the letter of credit if the holder demonstrates that we have failed to perform specified actions. If this were to occur, we would be required to reimburse the lenders. Depending on the circumstances of such a reimbursement, we may also have to record a charge to earnings for the reimbursement. Absent a claim, there is no payment or reserving of funds by us in connection with a letter of credit. However, because a claim on a letter of credit would require immediate reimbursement by us to our lenders, letters of credit are treated as a use of the Facility’s capacity just the same as actual borrowings. Claims against letters of credit are rare in our industry. To date we have not had a claim made against a letter of credit that resulted in payments by a lender or by us. We believe that it is unlikely that we will have to fund claims under a letter of credit in the foreseeable future.

Many customers, particularly in connection with new construction, require us to post performance and payment bonds issued by a financial institution known as a surety. If we fail to perform under the terms of a contract or to pay subcontractors and vendors who provided goods or services under a contract, the customer may demand that the surety make payments or provide services under the bond. We must reimburse the sureties for any expenses or outlays they incur. To date, we are not aware of any losses to our sureties in connection with bonds the sureties have posted on our behalf, and we do not expect such losses to be incurred in the foreseeable future.

Under standard terms in the surety market, sureties issue bonds on a project-by-project basis, and can decline to issue bonds at any time. Historically, approximately 20% to 30% of our business has required bonds. While we currently have strong surety relationships to support our bonding needs, future market conditions or changes in our sureties’ assessment of our operating and financial risk could cause our sureties to decline to issue bonds for our work. If that were to occur, our alternatives include doing more business that does not require bonds, posting other forms of collateral for project performance such as letters of credit or cash, and seeking bonding capacity from other sureties. We would likely also encounter concerns from customers, suppliers and other market participants as to our creditworthiness. While we believe our general operating and financial characteristics would enable us to ultimately respond effectively to an interruption in the availability of bonding capacity, such an interruption would likely cause our revenue and profits to decline in the near term.

Contractual Obligations

As of March 31, 2019, we have $33.6 million in letter of credit commitments, of which $11.3 million will expire in 2019 and $22.3 million will expire in 2020. The substantial majority of these letters of credit are posted with

27

insurers who disburse funds on our behalf in connection with our workers’ compensation, auto liability and general liability insurance program. These letters of credit provide additional security to the insurers that sufficient financial resources will be available to fund claims on our behalf, many of which develop over long periods of time, should we ever encounter financial duress. Posting of letters of credit for this purpose is a common practice for entities that manage their self-insurance programs through third-party insurers as we do. While many of these letter of credit commitments expire in 2019, we expect nearly all of them, particularly those supporting our insurance programs, will be renewed annually.

Item 3. Quantitative and Qualitative Disclosures about Market Risk

We are exposed to market risk primarily related to potential adverse changes in interest rates as discussed below. We are actively involved in monitoring exposure to market risk and continue to develop and utilize appropriate risk management techniques. We are not exposed to any other significant financial market risks including commodity price risk, foreign currency exchange risk or interest rate risks from the use of derivative financial instruments. We do not use derivative financial instruments.

We have exposure to changes in interest rates under our revolving credit facility. We have a modest level of indebtedness under our debt facility and our indebtedness could increase in the future. Our debt with fixed interest rates consists of notes to former owners of acquired companies.

The weighted average interest rate applicable to the borrowings under the Facility was approximately 3.7% as of March 31, 2019.

We measure certain assets at fair value on a nonrecurring basis. These assets are recognized at fair value when they are deemed to be other-than-temporarily impaired. We did not recognize any impairments in the current year on those assets required to be measured at fair value on a nonrecurring basis.

The valuation of our contingent earn-out payments is determined using a probability weighted discounted cash flow method. This analysis reflects the contractual terms of the purchase agreements (e.g., minimum and maximum payment, length of earn-out periods, manner of calculating any amounts due, etc.) and utilizes assumptions with regard to future cash flows, probabilities of achieving such future cash flows and a discount rate.

Item 4. Controls and Procedures

Evaluation of Disclosure Controls and Procedures

Our executive management is responsible for ensuring the effectiveness of the design and operation of our disclosure controls and procedures. We carried out an evaluation under the supervision and with the participation of our management, including our Chief Executive Officer and Chief Financial Officer, of the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934) as of the end of the period covered by this report. Based on that evaluation, our Chief Executive Officer and Chief Financial Officer have concluded that our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) of the Securities Exchange Act of 1934) are effective as of the end of the period covered by this report.

Changes in Internal Control over Financial Reporting

There have not been any changes in our internal control over financial reporting (as such term is defined in Rules 13a-15(f) and 15d-15(f) under the Securities Exchange Act of 1934) during the three months ended March 31, 2019 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

28

PART II—OTHER INFORMATION

Item 1. Legal Proceedings

We are subject to certain claims and lawsuits arising in the normal course of business. We maintain various insurance coverages to minimize financial risk associated with these claims. We have estimated and provided accruals for probable losses and related legal fees associated with certain litigation in our consolidated financial statements. While we cannot predict the outcome of these proceedings, in our opinion and based on reports of counsel, any liability arising from these matters individually and in the aggregate will not have a material effect on our operating results, cash flows or financial condition, after giving effect to provisions already recorded.

Item 1A. Risk Factors

In addition to the other information set forth in this report, you should carefully consider the factors discussed in Part 1, “Item 1A. Risk Factors” in our Annual Report on Form 10-K for the year ended December 31, 2018, which could materially affect our business, financial condition, or future results. Additional risks and uncertainties not currently known to us or that we currently deem to be immaterial also may materially adversely affect our business, financial condition, or future results.

Item 2. Unregistered Sales of Equity Securities and Use of Proceeds

Recent Sales of Unregistered Securities

None.

Issuer Purchases of Equity Securities

On March 29, 2007, our Board of Directors (the “Board”) approved a stock repurchase program to acquire up to 1.0 million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On August 10, 2018, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 8.8 million shares to be repurchased. As of March 31, 2019, we have repurchased a cumulative total of 8.3 million shares at an average price of $16.51 per share under the repurchase program.

The share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the three months ended March 31, 2019, we repurchased 0.1 million shares for approximately $3.3 million at an average price of $49.27 per share.

During the quarter ended March 31, 2019, we purchased our common shares in the following amounts at the following average prices:

    

    

    

Total Number of Shares

    

Maximum Number of

 

Purchased as Part of

Shares that May Yet Be

 

Total Number of

Average Price

Publicly Announced Plans

Purchased Under the Plans

 

Period

Shares Purchased

Paid Per Share

or Programs (1)

or Programs

 

January 1 - January 31

 

24,000

$

43.28

 

8,222,427

 

560,982

February 1 - February 28

 

$

 

8,222,427

 

560,982

March 1 - March 31

 

43,394

$

52.58

 

8,265,821

 

517,588

 

67,394

$

49.27

 

8,265,821

 

517,588

Under our 2012 Equity Incentive Plan and 2017 Omnibus Incentive Plan, employees may elect to have us withhold common shares to satisfy statutory federal, state and local tax withholding obligations arising on the vesting of restricted stock awards and exercise of options. When we withhold these shares, we are required to remit to the

29

appropriate taxing authorities the market price of the shares withheld, which could be deemed a purchase of the common shares by us on the date of withholding.

30

Item 6. Exhibits

Incorporated by Reference
to the Exhibit Indicated Below
and to the Filing with the
Commission Indicated Below

Exhibit
Number

    

Description of Exhibits

    

Exhibit
Number

    

Filing or
File Number

2.1

Purchase Agreement, dated February 21, 2019, by and among the Company, Walker, the Shareholder Sellers and Scott Walker, in his capacity as representative of the Shareholder Sellers

2.1

February 26, 2019

Form 8-K

3.1

Second Amended and Restated Certificate of Incorporation of the Registrant

3.1

333-24021

3.2

Certificate of Amendment dated May 21, 1998

3.2

1998 Form 10-K

3.3

Certificate of Amendment dated July 9, 2003

3.3

2003 Form 10-K

3.4

Certificate of Amendment dated May 20, 2016

3.1

May 20, 2016

Form 8-K

3.5

Amended and Restated Bylaws of Comfort Systems USA, Inc.

3.1

March 25, 2016 Form 8-K

31.1

Certification of Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

Filed Herewith

31.2

Certification of Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

Filed Herewith

32.1

Certification of Chief Executive Officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

Furnished Herewith

32.2

Certification of Chief Financial Officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

Furnished Herewith

101.INS

XBRL Instance Document

101.SCH

XBRL Taxonomy Extension Schema Document

101.CAL

XBRL Taxonomy Extension Calculation Linkbase Document

101.DEF

XBRL Taxonomy Extension Definition Linkbase Document

101.LAB

XBRL Taxonomy Extension Label Linkbase Document

101.PRE

XBRL Taxonomy Extension Presentation Linkbase

31

SIGNATURES

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.

Comfort Systems USA, Inc.

April 25, 2019

By:

/s/ Brian E. Lane

Brian E. Lane

President, Chief Executive Officer and Director

April 25, 2019

By:

/s/ William George

William George

Executive Vice President and Chief Financial Officer

April 25, 2019

By:

/s/ Julie S. Shaeff

Julie S. Shaeff

Senior Vice President and Chief Accounting Officer

32

EX-31.1 2 fix-20190331ex311d39cf5.htm EX-31.1 fix_Ex31_1

Exhibit 31.1

CERTIFICATION OF CHIEF EXECUTIVE OFFICER

Pursuant to Section 302 of the Sarbanes Oxley Act of 2002

I, Brian E. Lane, certify that:

1.           I have reviewed this quarterly report on Form 10‑Q of Comfort Systems USA, Inc.;

2.           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 report;

3.           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;

4.           The registrant’s other certifying officer(s) 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 financial reporting (as defined in Exchange Act Rules 13a‑15(f) and 15d‑15(f)) for the registrant and have:

a)           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 consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

b)           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;

c)           evaluated the effectiveness of the registrant’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; and

d)           disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5.           The registrant’s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

a)           all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

b)           any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

 

Date: April 25, 2019

/s/ Brian E. Lane

 

Brian E. Lane
President and Chief Executive Officer

 

 


EX-31.2 3 fix-20190331ex312bd5b81.htm EX-31.2 fix_Ex31_2

Exhibit 31.2

CERTIFICATION OF CHIEF FINANCIAL OFFICER

Pursuant to Section 302 of the Sarbanes‑Oxley Act of 2002

I, William George, certify that:

1.           I have reviewed this quarterly report on Form 10‑Q of Comfort Systems USA, Inc.;

2.           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 report;

3.           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;

4.           The registrant’s other certifying officer(s) 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 financial reporting (as defined in Exchange Act Rules 13a‑15(f) and 15d‑15(f)) for the registrant and have:

a.           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 consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

b.           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;

c.           evaluated the effectiveness of the registrant’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; and

d.           disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5.           The registrant’s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

a.           all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

b.           any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

 

 

/s/ William George

Date: April 25, 2019

William George
Executive Vice President and Chief Financial Officer

 

 


EX-32.1 4 fix-20190331ex32144d6a8.htm EX-32.1 fix_Ex32_1

Exhibit 32.1

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES‑OXLEY ACT OF 2002*

In connection with the Quarterly Report of Comfort Systems USA, Inc. (the “Company”) on Form 10‑Q for the quarter ended March 31, 2019, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Brian E. Lane, President and Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. §1350, as adopted pursuant to Section 906 of the Sarbanes‑Oxley Act of 2002, that:

1.           The Report fully complies with the requirements of Section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934; and

2.           The information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.

 

 

Date: April 25, 2019

/s/ Brian E. Lane

 

Brian E. Lane
President and Chief Executive Officer

 

 

 

 

 

 

 

 


*            A signed original of this written statement required by Section 906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.

 


EX-32.2 5 fix-20190331ex322aa6a12.htm EX-32.2 fix_Ex32_2

Exhibit 32.2

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES‑OXLEY ACT OF 2002*

In connection with the Quarterly Report of Comfort Systems USA, Inc. (the “Company”) on Form 10‑Q for the quarter ended March 31, 2019, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, William George, Executive Vice President and Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. §1350, as adopted pursuant to Section 906 of the Sarbanes‑Oxley Act of 2002, that:

1.           The Report fully complies with the requirements of Section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934; and

2.           The information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.

 

 

Date: April 25, 2019

/s/ William George

 

William George
Executive Vice President and Chief Financial Officer

 

 

 

 

 

 

 

 

 

 

 


*            A signed original of this written statement required by Section 906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.

 


EX-101.SCH 6 fix-20190331.xsd EX-101.SCH 00100 - Statement - CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Summary of Significant Accounting Policies (Details) (Calc 2) link:presentationLink link:calculationLink link:definitionLink 40206 - Disclosure - Summary of Significant Accounting Policies - Leases (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Debt Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 40803 - Disclosure - Stockholders' Equity - Number of Shares (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Business and Organization link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Acquisitions link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Goodwill link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Debt Obligations link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Subsequent Events link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Goodwill (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Debt Obligations (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Stockholders' Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Business and Organization (Details) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40204 - Disclosure - Summary of Significant Accounting Policies - Remaining Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 40204 - Disclosure - Summary of Significant Accounting Policies - Remaining Performance Obligations Default (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Acquisitions (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40602 - Disclosure - Debt Obligations - Other (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Commitments and Contingencies - Other and Bonds (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Stockholders' Equity - Incentive and Other (Details) link:presentationLink link:calculationLink link:definitionLink 40802 - Disclosure - Stockholders' Equity - Anti-Dilutive Stock Options (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Subsequent Events (Details) link:presentationLink link:calculationLink link:definitionLink 40205 - Disclosure - Summary of Significant Accounting Policies - Service Maintenance Agreements (Details) link:presentationLink link:calculationLink link:definitionLink 40207 - Disclosure - Summary of Significant Accounting Policies - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 fix-20190331_cal.xml EX-101.CAL EX-101.DEF 8 fix-20190331_def.xml EX-101.DEF EX-101.LAB 9 fix-20190331_lab.xml EX-101.LAB EX-101.PRE 10 fix-20190331_pre.xml EX-101.PRE XML 11 fix-20190331x10q_htm.xml IDEA: XBRL DOCUMENT 0001035983 fix:StockRepurchaseProgram2007Member 2007-03-29 2019-03-31 0001035983 fix:StockRepurchaseProgram2007Member 2019-03-31 0001035983 fix:StockRepurchaseProgram2007Member 2018-08-10 0001035983 fix:StockRepurchaseProgram2007Member 2007-03-29 0001035983 us-gaap:TreasuryStockMember 2019-03-31 0001035983 us-gaap:RetainedEarningsMember 2019-03-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2019-03-31 0001035983 us-gaap:TreasuryStockMember 2018-12-31 0001035983 us-gaap:RetainedEarningsMember 2018-12-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0001035983 us-gaap:TreasuryStockMember 2018-03-31 0001035983 us-gaap:RetainedEarningsMember 2018-03-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2018-03-31 0001035983 us-gaap:TreasuryStockMember 2017-12-31 0001035983 us-gaap:RetainedEarningsMember 2017-12-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2017-12-31 0001035983 2019-04-01 2019-03-31 0001035983 fix:StockRepurchaseProgram2007Member 2019-01-01 2019-03-31 0001035983 us-gaap:AccountingStandardsUpdate201602Member 2019-01-01 0001035983 2018-04-01 2018-06-30 0001035983 fix:SubordinateDebtAndPromissoryNoteMember 2018-12-31 0001035983 fix:AmendedSeniorRevolvingCreditFacilityMember 2018-04-18 0001035983 fix:AmendedSeniorRevolvingCreditFacilityMember 2018-04-17 0001035983 srt:MinimumMember 2019-03-31 0001035983 srt:MaximumMember 2019-03-31 0001035983 fix:ContingentConsiderationObligationsMember 2019-03-31 0001035983 fix:ContingentConsiderationObligationsMember 2018-12-31 0001035983 fix:ContingentConsiderationObligationsMember 2019-01-01 2019-03-31 0001035983 us-gaap:RetainedEarningsMember 2019-01-01 2019-03-31 0001035983 us-gaap:RetainedEarningsMember 2018-01-01 2018-03-31 0001035983 fix:BchHoldingsIncMember us-gaap:LoansPayableMember 2019-03-31 0001035983 fix:AcquisitionTwoThirdQuarter2018Member us-gaap:LoansPayableMember 2019-03-31 0001035983 fix:AcquisitionThirdQuarter2018Member us-gaap:LoansPayableMember 2019-03-31 0001035983 fix:AcquisitionSecondQuarter2018Member us-gaap:SubordinatedDebtMember 2019-03-31 0001035983 fix:AcquisitionFirstQuarter2019Member us-gaap:LoansPayableMember 2019-03-31 0001035983 fix:AcquisitionFirstQuarter2018Member us-gaap:SubordinatedDebtMember 2019-03-31 0001035983 us-gaap:NotesPayableOtherPayablesMember 2019-03-31 0001035983 us-gaap:RevolvingCreditFacilityMember 2018-12-31 0001035983 us-gaap:NotesPayableOtherPayablesMember 2018-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtCovenantRatioRangeTwoMember 2019-01-01 2019-03-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtInstrumentVariableRateBaseRateMember fix:DebtCovenantRatioRangeTwoMember 2019-01-01 2019-03-31 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtCovenantRatioRangeThreeMember 2019-01-01 2019-03-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtInstrumentVariableRateBaseRateMember fix:DebtCovenantRatioRangeThreeMember 2019-01-01 2019-03-31 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtCovenantRatioRangeOneMember 2019-01-01 2019-03-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtInstrumentVariableRateBaseRateMember fix:DebtCovenantRatioRangeOneMember 2019-01-01 2019-03-31 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtCovenantRatioRangeFourMember 2019-01-01 2019-03-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtInstrumentVariableRateBaseRateMember fix:DebtCovenantRatioRangeFourMember 2019-01-01 2019-03-31 0001035983 fix:ShoffnerMember us-gaap:LondonInterbankOfferedRateLIBORMember 2019-01-01 2019-03-31 0001035983 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-01-01 2018-03-31 0001035983 us-gaap:CommonStockMember 2019-03-31 0001035983 us-gaap:CommonStockMember 2018-12-31 0001035983 us-gaap:CommonStockMember 2018-03-31 0001035983 us-gaap:CommonStockMember 2017-12-31 0001035983 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-03-31 0001035983 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2018-12-31 0001035983 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-03-31 0001035983 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2018-12-31 0001035983 2018-03-31 0001035983 2017-12-31 0001035983 fix:ShoffnerMember 2019-03-31 0001035983 srt:MaximumMember fix:EmployeeAndNonemployeeStockOptionMember 2019-01-01 2019-03-31 0001035983 srt:MaximumMember fix:EmployeeAndNonemployeeStockOptionMember 2018-01-01 2018-03-31 0001035983 2018-12-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-03-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2018-01-01 2018-03-31 0001035983 us-gaap:TreasuryStockMember 2019-01-01 2019-03-31 0001035983 us-gaap:TreasuryStockMember 2018-01-01 2018-03-31 0001035983 fix:SystemInstallationInNewlyConstructedFacilitiesMember 2019-01-01 2019-03-31 0001035983 fix:MaintenanceRepairAndReplacementServiceMember 2019-01-01 2019-03-31 0001035983 fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember us-gaap:SubsequentEventMember 2019-04-01 0001035983 us-gaap:ProductAndServiceOtherMember 2019-01-01 2019-03-31 0001035983 fix:ServiceProjectsMember 2019-01-01 2019-03-31 0001035983 fix:ServiceCallsMaintenanceAndMonitoringMember 2019-01-01 2019-03-31 0001035983 fix:RetailRestaurantsAndEntertainmentMember 2019-01-01 2019-03-31 0001035983 fix:OtherCustomerMember 2019-01-01 2019-03-31 0001035983 fix:OfficeBuildingCustomerMember 2019-01-01 2019-03-31 0001035983 fix:NewConstructionMember 2019-01-01 2019-03-31 0001035983 fix:MultiFamilyAndResidentialMember 2019-01-01 2019-03-31 0001035983 fix:IndustrialPropertyCustomerMember 2019-01-01 2019-03-31 0001035983 fix:HeatingVentilationAndAirConditioningAndPlumbingMember 2019-01-01 2019-03-31 0001035983 fix:HealthcareSectorCustomerMember 2019-01-01 2019-03-31 0001035983 fix:GovernmentCustomerMember 2019-01-01 2019-03-31 0001035983 fix:ExistingBuildingConstructionMember 2019-01-01 2019-03-31 0001035983 fix:EducationMember 2019-01-01 2019-03-31 0001035983 fix:BuildingAutomationControlSystemsMember 2019-01-01 2019-03-31 0001035983 us-gaap:ProductAndServiceOtherMember 2018-01-01 2018-03-31 0001035983 fix:ServiceProjectsMember 2018-01-01 2018-03-31 0001035983 fix:ServiceCallsMaintenanceAndMonitoringMember 2018-01-01 2018-03-31 0001035983 fix:RetailRestaurantsAndEntertainmentMember 2018-01-01 2018-03-31 0001035983 fix:OtherCustomerMember 2018-01-01 2018-03-31 0001035983 fix:OfficeBuildingCustomerMember 2018-01-01 2018-03-31 0001035983 fix:NewConstructionMember 2018-01-01 2018-03-31 0001035983 fix:MultiFamilyAndResidentialMember 2018-01-01 2018-03-31 0001035983 fix:IndustrialPropertyCustomerMember 2018-01-01 2018-03-31 0001035983 fix:HeatingVentilationAndAirConditioningAndPlumbingMember 2018-01-01 2018-03-31 0001035983 fix:HealthcareSectorCustomerMember 2018-01-01 2018-03-31 0001035983 fix:GovernmentCustomerMember 2018-01-01 2018-03-31 0001035983 fix:ExistingBuildingConstructionMember 2018-01-01 2018-03-31 0001035983 fix:EducationMember 2018-01-01 2018-03-31 0001035983 fix:BuildingAutomationControlSystemsMember 2018-01-01 2018-03-31 0001035983 srt:MinimumMember us-gaap:SuretyBondMember 2019-01-01 2019-03-31 0001035983 srt:MaximumMember us-gaap:SuretyBondMember 2019-01-01 2019-03-31 0001035983 srt:MaximumMember 2019-01-01 2019-03-31 0001035983 srt:MinimumMember 2019-01-01 2019-03-31 0001035983 2018-07-01 2018-09-30 0001035983 fix:AmendedSeniorRevolvingCreditFacilityMember 2019-03-31 0001035983 2019-03-31 0001035983 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember 2019-01-01 2019-03-31 0001035983 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember 2019-01-01 2019-03-31 0001035983 2018-01-01 2018-03-31 0001035983 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember fix:ScenarioCovenantRequirementMember 2019-03-31 0001035983 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember fix:ScenarioCovenantRequirementMember 2019-03-31 0001035983 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember 2019-03-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:ThroughMaturityMember 2019-03-31 0001035983 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember 2019-03-31 0001035983 us-gaap:RevolvingCreditFacilityMember 2019-03-31 0001035983 us-gaap:RevolvingCreditFacilityMember 2019-01-01 2019-03-31 0001035983 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember fix:StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member 2019-01-01 2019-03-31 0001035983 fix:SubordinateDebtAndPromissoryNoteMember 2019-03-31 0001035983 2018-01-01 2018-12-31 0001035983 fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember us-gaap:SubsequentEventMember 2019-04-01 2019-04-01 0001035983 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-03-31 0001035983 us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2019-03-31 0001035983 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2018-12-31 0001035983 us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2018-12-31 0001035983 2019-04-22 0001035983 2019-01-01 2019-03-31 shares iso4217:USD fix:item pure fix:Option iso4217:USD shares false --12-31 Q1 2019 2019-03-31 10-Q 0001035983 Yes false Large Accelerated Filer COMFORT SYSTEMS USA INC false P1Y 0 0 true P3Y P10Y 26150000 us-gaap:OtherLiabilitiesCurrent 75900000 0 0 10-Q 2019-03-31 36904514 29130000 45620000 5865000 5898000 447298000 481366000 38463000 37180000 13711000 16361000 12908000 12416000 7476000 6544000 8286000 10213000 557272000 609700000 102774000 99618000 70316000 235860000 235182000 91073000 95275000 17485000 17634000 5252000 5155000 1080032000 1062564000 2755000 3279000 136115000 176167000 65135000 87388000 120290000 130986000 37615000 36386000 47933000 32852000 409843000 467058000 74483000 73639000 62028000 1387000 1387000 17096000 22433000 564837000 564517000 0.01 0.01 5000000 5000000 0 0 0.01 0.01 102969912 102969912 41123365 41123365 411000 411000 4232418 4229653 90171000 87747000 319691000 316479000 285264000 268904000 515195000 498047000 1080032000 1062564000 538473000 464941000 431808000 375888000 106665000 89053000 78905000 70023000 219000 211000 27979000 19241000 25000 14000 1062000 713000 158000 -153000 15000 38000 -1180000 -508000 26799000 18733000 6933000 2074000 19866000 16659000 0.54 0.45 0.53 0.44 36923000 37192000 37234000 37628000 0.095 0.075 41123365 411000 -3936291 -63519000 312784000 168269000 417945000 16659000 16659000 19124 326000 -88000 238000 52306 892000 1331000 2223000 -19921 846000 846000 1880000 1880000 2786000 2786000 -150481 6175000 6175000 41123365 411000 -4035263 -69322000 315907000 182142000 429138000 41123365 411000 -4229653 -87747000 316479000 268904000 498047000 19866000 19866000 41103 861000 -61000 800000 38539 817000 1189000 2006000 -15013 781000 781000 2084000 2084000 3506000 3506000 -67394 3321000 3321000 41123365 411000 -4232418 -90171000 319691000 285264000 515195000 19866000 16659000 4891000 3827000 5833000 5413000 235000 261000 149000 8648000 96000 94000 219000 211000 158000 -153000 3176000 2793000 -38272000 3542000 492000 537000 2083000 -3388000 -671000 8065000 -3061000 -296000 -59331000 -15663000 -10740000 -293000 -2552000 -9064000 991000 3851000 8844000 5588000 357000 366000 1313000 6719000 -9800000 -11941000 54000000 20000000 53000000 15000000 1030000 546000 3506000 2786000 3321000 4293000 781000 846000 800000 238000 250000 593000 -7681000 -3233000 -16490000 -11323000 45620000 36542000 29130000 25219000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">1. Business and Organization</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Comfort Systems USA, Inc., a Delaware corporation, provides comprehensive mechanical contracting services, which principally includes heating, ventilation and air conditioning (“HVAC”), plumbing, piping and controls, as well as off-site construction, electrical, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. Approximately 41.6% of our consolidated 2019 revenue is attributable to installation of systems in newly constructed facilities, with the remaining 58.4% attributable to maintenance, repair and replacement services. The terms “Comfort Systems,” “we,” “us,” or the “Company,” refer to Comfort Systems USA, Inc. or Comfort Systems USA, Inc. and its consolidated subsidiaries, as appropriate in the context.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 0.416 0.584 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies</b></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Basis of Presentation</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form 10-K as filed with the Securities and Exchange Commission (“SEC”) for the year ended December 31, 2018 (the “Form 10-K”).</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form 10-Q and applicable rules of Regulation S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form 10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Use of Estimates</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The preparation of financial statements in conformity with generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, the allowance for doubtful accounts, self-insurance accruals, deferred tax assets, warranty accruals, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Recent Accounting Pronouncements</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">In February 2016, the FASB issued ASU No. 2016-02, “Leases (Topic 842)”. The standard requires substantially all leases (with the exception of leases with a term of one year or less) to be recorded on the balance sheet using a method referred to as the right-of-use asset approach. ASU 2016-02 is effective for fiscal years beginning after December 15, 2018 and interim periods within those years. Full retrospective application is prohibited. We adopted ASU No. 2016-02, Leases (Topic 842), on January 1, 2019, using the transition method allowed by ASU No. 2018-11, “Leases (Topic 842) Targeted Improvements” in which lessees apply the new lease standard on the adoption date and recognize a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption.</span><span style="font-size:12pt;"> </span>We adopted the practical expedient allowing us to not include leases with an initial term of 12 months or less on the balance sheet. Furthermore, we elected to apply the practical expedient allowing an entity to forgo reassessing (1) whether expired or existing contracts contain a lease, (2) classification of expired or existing leases, and (3) whether capitalized </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">costs associated with expired or existing leases should be classified as “initial direct costs” under Topic 842. The adoption of ASU 2016-02 did not have a significant impact to our Statement of Operations or Cash Flows. The adoption of ASU 2016-02 resulted in the recording of right-of-use asset and lease liabilities of $75.9 million on our Balance Sheet as of January 1, 2019 but did not result in a cumulative-effect adjustment to retained earnings.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In June 2016, the FASB issued ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326)”. The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. ASU 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Early adoption is permitted. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In August 2018, the FASB issued ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement”. This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Revenue Recognition</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Revenue is recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. Sales-based taxes are excluded from revenue.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We provide comprehensive mechanical contracting services, which principally includes HVAC, plumbing, piping and controls, as well as off-<span style="white-space:pre-wrap;">site construction, electrical, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. All of our revenue is recognized over time as we deliver goods and services to our customers. Revenue can be earned based on an agreed upon fixed price or based on actual costs incurred marked up at an agreed upon percentage.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption “Cost of Services.” Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed. Non-labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred. On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that contract. If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract. We do not currently have any capitalized selling, marketing, or estimation costs on our Balance Sheet and did not incur any impairment loss in the current year.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtaining or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">Project contracts typically provide for a schedule of billings or invoices to the customer based on our job to date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in the statement of operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our balance sheet under the caption “Costs and estimated earnings in excess of billings.” Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our balance sheet under the caption “Billings in excess of costs and estimated earnings.” </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">We typically invoice our customers with payment terms of net due in 30 days<span style="white-space:pre-wrap;">. It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer 45 to 60 days to make their payment. It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source. In most instances we receive payment of our invoices between </span>30 to 90 days of the date of the invoice.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC Topic 606. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In cases where we do, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized customer specific solution, and in these cases we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">We recognize revenue over time for all of our services as we perform them, because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred. The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">For a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts. Variable amounts can either increase or decrease the transaction price. A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated. Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion. Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s). The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue (either as an increase or decrease) on a cumulative catchup basis. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have a Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management's judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g. to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities these adjustments may result in a decrease in </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, which recognizes in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation's percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects where estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">The Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue. The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period. The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly. We include an estimated amount to cover estimated warranty expense in our Cost of Services and record a liability on our Balance Sheet to cover our current estimated outstanding warranty obligations. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Prior to implementing ASC 606 on January 1, 2018, our methods for recognizing revenue were very similar to our current method under ASC 606. We used the actual cost as a percent of total expected cost at completion to estimate our percentage complete on fixed price jobs, a mark-up of costs for jobs where revenue was based on time and materials incurred and elapsed time for those service maintenance contracts where the full cost to provide the services cannot be reasonably estimated. Furthermore, our process for allocating transaction price to performance obligations is also substantially similar to prior years where, in most cases, a contract is one performance obligation. In those cases where a contract is determined to have more than one performance obligation, the contract price is allocated to each performance obligation based on its standalone sales price.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">In the first three months of 2018 and 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Disaggregation of Revenue</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We disaggregate our revenue from contracts with customers by activity, customer type and contract type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. <span style="white-space:pre-wrap;">Our consolidated 2019 revenue was derived from the following service activities, all of which are in the mechanical services industry, the single industry segment we serve. See details in the following tables (dollars in thousands):</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Service Provided</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">HVAC and Plumbing</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">481,990</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">89.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 424,017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Building Automation Control Systems </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">29,014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,045</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">27,469</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,879</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">538,473</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 464,941</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Type of Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Industrial</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">168,660</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">31.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Education</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">66,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">12.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 88,203</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Office Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">66,212</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">12.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,120</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Healthcare</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">92,023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">17.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,183</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Government</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">32,279</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,147</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Retail, Restaurants and Entertainment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">59,391</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Multi-Family and Residential</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">30,235</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.6</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,052</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">22,931</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">538,473</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 464,941</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr></table><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:bottom;white-space:nowrap;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Activity Type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">New Construction</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">223,961</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">41.6</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 185,282</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Existing Building Construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">182,296</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">33.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 156,758</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Service Projects</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">50,384</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,433</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Service Calls, Maintenance and Monitoring</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">81,833</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">15.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,468</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr style="height:12.55pt;"><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">538,473</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 464,941</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Accounts Receivable, include amounts from work completed in which we have billed or have an unconditional right to bill our customers. The amounts due are stated at their net estimated realizable value. We maintain an allowance for doubtful accounts to provide for the estimated amount of receivables that will not be collected. The allowance is based upon an assessment of customer creditworthiness, historical payment experience, the age of outstanding receivables and collateral to the extent applicable.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Contract Assets and Liabilities</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used and revenue recognized exceeds the amount billed to the customer and right to payment is conditional, subject to completing a milestone, such as a phase of the project. Contract assets are generally classified as current.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Contract liabilities consist of advance payments and billings in excess of revenue recognized. Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets are usually all current. If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our consolidated balance sheets.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/><span style="font-size:10pt;">The following table presents the changes in contract assets and contract liabilities (in thousands):</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="background-color:auto;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:20.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="font-size:8pt;font-weight:bold;margin-right:0pt;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Year Ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:20.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">March 31, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="font-size:8pt;font-weight:bold;margin-right:0pt;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">December 31, 2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.47%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="font-size:8pt;font-weight:bold;margin-right:0pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="font-size:8pt;font-weight:bold;margin-right:0pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.98%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Liabilities</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Liabilities</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.38%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,213</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 130,986</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;margin-right:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.03%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">30,116</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;margin-right:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.33%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">106,005</p></td></tr><tr><td style="vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to acquisitions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">44</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2,833</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">8,195</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to conditional versus unconditional</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,954)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6,244</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">—</p></td></tr><tr><td style="vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Reclassified to unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">(28,980)</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">—</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change in timing for performance obligation to be satisfied</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (10,740)</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">—</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">16,786</p></td></tr><tr><td style="vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,286</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="color:#ff0000;"> </span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,290</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;margin-right:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">10,213</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;margin-right:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">130,986</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In the first three months of 2019 and 2018, we recognized revenue of $105.6 million and $85.5 million related to our contract liabilities at January 1, 2019 and January 1, 2018, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We did not have any impairment losses recognized on our receivables or contract assets in the first three months of 2019 and 2018.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Remaining Performance Obligations</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and excludes unexercised contract options. As of March 31, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was </span>$1.14 billion. The Company expects to recognize revenue on approximately 85% of the remaining performance obligations over the next 12 months, with the </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">remaining recognized thereafter. Our service maintenance agreements are generally </span>one-year<span style="white-space:pre-wrap;"> renewable agreements. We have adopted the practical expedient that allows us to not include service maintenance contracts one year or less, therefore we do not report unfulfilled performance obligations for service maintenance agreements. </span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Leases</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">We lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations. Leases with an initial term of 12 months or less are not recorded on the balance sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense was not material to our financial statements and aggregated to </span>$1.9 million in the first quarter of 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of March 31, 2019 was 4.1%. We recognize lease expense, including escalating lease payments and excluding lease incentives, on a straight-line basis over the lease term. Lease expense for the three months ended March 31, 2019 and 2018 was $5.6 million and $5.2 million, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The lease terms generally range from three to ten years. Some leases include one or more options to renew, with renewal terms that can extend the lease term. Our lease terms may include the exercise of lease renewal options when it is reasonably certain that we will exercise the option and it is at our sole discretion. The weighted average remaining lease term was 8.6 years at March 31, 2019. </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A majority of the Company’s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the three months ended March 31, 2019 and 2018 was approximately $1.2 million and $1.1 million, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. On rare occasions we rent or sublease certain real estate assets that we no longer use to third parties.</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the lease asset and liabilities included in the consolidated balance sheet as follows (in thousands):</p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:88.87%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">70,316</p></td></tr><tr><td style="vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Other current liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,066</p></td></tr><tr><td style="vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Long-term lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">62,028</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,094</p></td></tr></table></div><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The maturities of lease liabilities are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:89.83%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:10.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Year ending December 31—</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2019 (excluding the three months ended March 31, 2019)</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,687</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,508</p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,341</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,410</p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2023</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,821</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,541</p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total Lease Payments</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,308</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Less—Present Value Discount</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (14,214)</p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Present Value of Lease Liabilities</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,094</p></td></tr></table></div><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Supplemental information related to leases was as follows (in thousands):</p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:88.87%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:72.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:25.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,904</p></td></tr><tr><td style="vertical-align:middle;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets obtained in exchange for lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 174</p></td></tr></table></div><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Income Taxes</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items, such as tax law changes, judgments and legal structures can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions, accounting for losses associated with underperforming operations and noncontrolling interests.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our provision for income taxes was reduced by $2.8 million in the first quarter of 2018 due to a decrease in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/><span style="font-size:10pt;font-style:italic;font-weight:bold;">Financial Instruments</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, life insurance policies, notes to former owners, leases and a revolving credit facility. We believe that the carrying values of these instruments on the accompanying balance sheets approximate their fair values.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Segment Disclosure</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our activities are within the mechanical services industry, which is the single industry segment we serve. Each operating unit represents an operating segment and these segments have been aggregated, as the operating units meet all of the aggregation criteria.</p> <p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Basis of Presentation</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form 10-K as filed with the Securities and Exchange Commission (“SEC”) for the year ended December 31, 2018 (the “Form 10-K”).</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form 10-Q and applicable rules of Regulation S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form 10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Use of Estimates</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The preparation of financial statements in conformity with generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, the allowance for doubtful accounts, self-insurance accruals, deferred tax assets, warranty accruals, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Recent Accounting Pronouncements</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">In February 2016, the FASB issued ASU No. 2016-02, “Leases (Topic 842)”. The standard requires substantially all leases (with the exception of leases with a term of one year or less) to be recorded on the balance sheet using a method referred to as the right-of-use asset approach. ASU 2016-02 is effective for fiscal years beginning after December 15, 2018 and interim periods within those years. Full retrospective application is prohibited. We adopted ASU No. 2016-02, Leases (Topic 842), on January 1, 2019, using the transition method allowed by ASU No. 2018-11, “Leases (Topic 842) Targeted Improvements” in which lessees apply the new lease standard on the adoption date and recognize a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption.</span><span style="font-size:12pt;"> </span>We adopted the practical expedient allowing us to not include leases with an initial term of 12 months or less on the balance sheet. Furthermore, we elected to apply the practical expedient allowing an entity to forgo reassessing (1) whether expired or existing contracts contain a lease, (2) classification of expired or existing leases, and (3) whether capitalized </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">costs associated with expired or existing leases should be classified as “initial direct costs” under Topic 842. The adoption of ASU 2016-02 did not have a significant impact to our Statement of Operations or Cash Flows. The adoption of ASU 2016-02 resulted in the recording of right-of-use asset and lease liabilities of $75.9 million on our Balance Sheet as of January 1, 2019 but did not result in a cumulative-effect adjustment to retained earnings.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In June 2016, the FASB issued ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326)”. The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. ASU 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Early adoption is permitted. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In August 2018, the FASB issued ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement”. This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">​</span></p> 75900000 <p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Revenue Recognition</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Revenue is recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. Sales-based taxes are excluded from revenue.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We provide comprehensive mechanical contracting services, which principally includes HVAC, plumbing, piping and controls, as well as off-<span style="white-space:pre-wrap;">site construction, electrical, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. All of our revenue is recognized over time as we deliver goods and services to our customers. Revenue can be earned based on an agreed upon fixed price or based on actual costs incurred marked up at an agreed upon percentage.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption “Cost of Services.” Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed. Non-labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred. On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that contract. If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract. We do not currently have any capitalized selling, marketing, or estimation costs on our Balance Sheet and did not incur any impairment loss in the current year.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtaining or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">Project contracts typically provide for a schedule of billings or invoices to the customer based on our job to date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in the statement of operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our balance sheet under the caption “Costs and estimated earnings in excess of billings.” Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our balance sheet under the caption “Billings in excess of costs and estimated earnings.” </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">We typically invoice our customers with payment terms of net due in 30 days<span style="white-space:pre-wrap;">. It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer 45 to 60 days to make their payment. It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source. In most instances we receive payment of our invoices between </span>30 to 90 days of the date of the invoice.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC Topic 606. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In cases where we do, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized customer specific solution, and in these cases we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">We recognize revenue over time for all of our services as we perform them, because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred. The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">For a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts. Variable amounts can either increase or decrease the transaction price. A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated. Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion. Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s). The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue (either as an increase or decrease) on a cumulative catchup basis. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have a Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management's judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g. to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities these adjustments may result in a decrease in </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, which recognizes in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation's percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects where estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined. </p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">The Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue. The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period. The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly. We include an estimated amount to cover estimated warranty expense in our Cost of Services and record a liability on our Balance Sheet to cover our current estimated outstanding warranty obligations. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Prior to implementing ASC 606 on January 1, 2018, our methods for recognizing revenue were very similar to our current method under ASC 606. We used the actual cost as a percent of total expected cost at completion to estimate our percentage complete on fixed price jobs, a mark-up of costs for jobs where revenue was based on time and materials incurred and elapsed time for those service maintenance contracts where the full cost to provide the services cannot be reasonably estimated. Furthermore, our process for allocating transaction price to performance obligations is also substantially similar to prior years where, in most cases, a contract is one performance obligation. In those cases where a contract is determined to have more than one performance obligation, the contract price is allocated to each performance obligation based on its standalone sales price.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">In the first three months of 2018 and 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material. </span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Disaggregation of Revenue</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We disaggregate our revenue from contracts with customers by activity, customer type and contract type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. <span style="white-space:pre-wrap;">Our consolidated 2019 revenue was derived from the following service activities, all of which are in the mechanical services industry, the single industry segment we serve. See details in the following tables (dollars in thousands):</span></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Service Provided</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">HVAC and Plumbing</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">481,990</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">89.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 424,017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Building Automation Control Systems </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">29,014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,045</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">27,469</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,879</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">538,473</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 464,941</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Type of Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Industrial</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">168,660</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">31.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Education</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">66,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">12.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 88,203</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Office Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">66,212</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">12.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,120</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Healthcare</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">92,023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">17.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,183</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Government</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">32,279</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,147</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Retail, Restaurants and Entertainment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">59,391</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Multi-Family and Residential</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">30,235</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.6</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,052</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">22,931</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">538,473</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 464,941</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr></table><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:bottom;white-space:nowrap;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Activity Type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">New Construction</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">223,961</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">41.6</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 185,282</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Existing Building Construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">182,296</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">33.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 156,758</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Service Projects</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">50,384</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,433</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Service Calls, Maintenance and Monitoring</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">81,833</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">15.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,468</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr style="height:12.55pt;"><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">538,473</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 464,941</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Accounts Receivable, include amounts from work completed in which we have billed or have an unconditional right to bill our customers. The amounts due are stated at their net estimated realizable value. We maintain an allowance for doubtful accounts to provide for the estimated amount of receivables that will not be collected. The allowance is based upon an assessment of customer creditworthiness, historical payment experience, the age of outstanding receivables and collateral to the extent applicable.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Contract Assets and Liabilities</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used and revenue recognized exceeds the amount billed to the customer and right to payment is conditional, subject to completing a milestone, such as a phase of the project. Contract assets are generally classified as current.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Contract liabilities consist of advance payments and billings in excess of revenue recognized. Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets are usually all current. If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our consolidated balance sheets.</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/><span style="font-size:10pt;">The following table presents the changes in contract assets and contract liabilities (in thousands):</span></p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="background-color:auto;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:20.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="font-size:8pt;font-weight:bold;margin-right:0pt;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Year Ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:20.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">March 31, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="font-size:8pt;font-weight:bold;margin-right:0pt;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">December 31, 2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.47%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="font-size:8pt;font-weight:bold;margin-right:0pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="font-size:8pt;font-weight:bold;margin-right:0pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.98%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Liabilities</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Liabilities</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.38%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,213</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 130,986</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;margin-right:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.03%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">30,116</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;margin-right:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.33%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">106,005</p></td></tr><tr><td style="vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to acquisitions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">44</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2,833</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">8,195</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to conditional versus unconditional</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,954)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6,244</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">—</p></td></tr><tr><td style="vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Reclassified to unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">(28,980)</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">—</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change in timing for performance obligation to be satisfied</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (10,740)</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">—</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">16,786</p></td></tr><tr><td style="vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,286</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="color:#ff0000;"> </span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,290</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;margin-right:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">10,213</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;margin-right:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">130,986</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In the first three months of 2019 and 2018, we recognized revenue of $105.6 million and $85.5 million related to our contract liabilities at January 1, 2019 and January 1, 2018, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We did not have any impairment losses recognized on our receivables or contract assets in the first three months of 2019 and 2018.</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Remaining Performance Obligations</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and excludes unexercised contract options. As of March 31, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was </span>$1.14 billion. The Company expects to recognize revenue on approximately 85% of the remaining performance obligations over the next 12 months, with the </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">remaining recognized thereafter. Our service maintenance agreements are generally </span>one-year<span style="white-space:pre-wrap;"> renewable agreements. We have adopted the practical expedient that allows us to not include service maintenance contracts one year or less, therefore we do not report unfulfilled performance obligations for service maintenance agreements. </span></p> We typically invoice our customers with payment terms of net due in 30 days P30D P30D P90D <p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Service Provided</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">HVAC and Plumbing</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">481,990</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">89.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 424,017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Building Automation Control Systems </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">29,014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,045</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">27,469</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,879</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">538,473</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 464,941</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Type of Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Industrial</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">168,660</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">31.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Education</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">66,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">12.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 88,203</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Office Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">66,212</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">12.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,120</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Healthcare</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">92,023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">17.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,183</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Government</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">32,279</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,147</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Retail, Restaurants and Entertainment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">59,391</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Multi-Family and Residential</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">30,235</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.6</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,052</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">22,931</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">538,473</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 464,941</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr></table><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:bottom;white-space:nowrap;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:43.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Activity Type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:18.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:19.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">New Construction</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">223,961</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">41.6</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 185,282</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Existing Building Construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">182,296</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">33.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 156,758</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Service Projects</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">50,384</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,433</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Service Calls, Maintenance and Monitoring</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">81,833</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">15.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,468</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr style="height:12.55pt;"><td style="background-color:#cceeff;vertical-align:bottom;width:49.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">538,473</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 464,941</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr></table> 481990000 0.895 424017000 0.912 29014000 0.054 20045000 0.043 27469000 0.051 20879000 0.045 538473000 1.000 464941000 1.000 168660000 0.313 100100000 0.215 66743000 0.124 88203000 0.190 66212000 0.123 69120000 0.149 92023000 0.171 63183000 0.136 32279000 0.060 36147000 0.078 59391000 0.110 52787000 0.113 30235000 0.056 33052000 0.071 22931000 0.043 22349000 0.048 538473000 1.000 464941000 1.000 223961000 0.416 185282000 0.399 182296000 0.338 156758000 0.337 50384000 0.094 42433000 0.091 81833000 0.152 80468000 0.173 538473000 1.000 464941000 1.000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Accounts Receivable, include amounts from work completed in which we have billed or have an unconditional right to bill our customers. The amounts due are stated at their net estimated realizable value. We maintain an allowance for doubtful accounts to provide for the estimated amount of receivables that will not be collected. The allowance is based upon an assessment of customer creditworthiness, historical payment experience, the age of outstanding receivables and collateral to the extent applicable.</p> <p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="background-color:auto;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:20.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="font-size:8pt;font-weight:bold;margin-right:0pt;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Year Ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:20.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">March 31, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="font-size:8pt;font-weight:bold;margin-right:0pt;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">December 31, 2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.47%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="font-size:8pt;font-weight:bold;margin-right:0pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><span style="font-size:8pt;font-weight:bold;margin-right:0pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.98%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Contract</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Liabilities</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">Liabilities</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.38%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,213</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 130,986</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;margin-right:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.03%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">30,116</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;margin-right:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.33%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">106,005</p></td></tr><tr><td style="vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to acquisitions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">44</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2,833</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">8,195</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change due to conditional versus unconditional</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,954)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6,244</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">—</p></td></tr><tr><td style="vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Reclassified to unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">(28,980)</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">—</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change in timing for performance obligation to be satisfied</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="color:#ff0000;font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (10,740)</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">—</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">16,786</p></td></tr><tr><td style="vertical-align:bottom;width:57.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,286</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="color:#ff0000;"> </span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,290</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;margin-right:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">10,213</p></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;margin-right:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">130,986</p></td></tr></table> 10213000 130986000 30116000 106005000 27000 44000 2833000 8195000 -1954000 6244000 28980000 -10740000 16786000 8286000 120290000 10213000 130986000 105600000 85500000 1140000000 0.85 P12M <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Leases</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">We lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations. Leases with an initial term of 12 months or less are not recorded on the balance sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense was not material to our financial statements and aggregated to </span>$1.9 million in the first quarter of 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of March 31, 2019 was 4.1%. We recognize lease expense, including escalating lease payments and excluding lease incentives, on a straight-line basis over the lease term. Lease expense for the three months ended March 31, 2019 and 2018 was $5.6 million and $5.2 million, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The lease terms generally range from three to ten years. Some leases include one or more options to renew, with renewal terms that can extend the lease term. Our lease terms may include the exercise of lease renewal options when it is reasonably certain that we will exercise the option and it is at our sole discretion. The weighted average remaining lease term was 8.6 years at March 31, 2019. </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A majority of the Company’s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the three months ended March 31, 2019 and 2018 was approximately $1.2 million and $1.1 million, respectively.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. On rare occasions we rent or sublease certain real estate assets that we no longer use to third parties.</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the lease asset and liabilities included in the consolidated balance sheet as follows (in thousands):</p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:88.87%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">70,316</p></td></tr><tr><td style="vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Other current liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,066</p></td></tr><tr><td style="vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Long-term lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">62,028</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,094</p></td></tr></table></div><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The maturities of lease liabilities are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:89.83%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:10.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Year ending December 31—</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2019 (excluding the three months ended March 31, 2019)</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,687</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,508</p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,341</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,410</p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2023</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,821</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,541</p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total Lease Payments</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,308</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Less—Present Value Discount</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (14,214)</p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Present Value of Lease Liabilities</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,094</p></td></tr></table></div><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Supplemental information related to leases was as follows (in thousands):</p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:88.87%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:72.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:25.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,904</p></td></tr><tr><td style="vertical-align:middle;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets obtained in exchange for lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 174</p></td></tr></table></div> 1900000 0.041 5600000 5200000 1 P8Y7M6D 1200000 1100000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the lease asset and liabilities included in the consolidated balance sheet as follows (in thousands):</p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:88.87%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">70,316</p></td></tr><tr><td style="vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Other current liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,066</p></td></tr><tr><td style="vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Long-term lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">62,028</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:80.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,094</p></td></tr></table></div> 70316000 11066000 62028000 73094000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The maturities of lease liabilities are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:89.83%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:10.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Year ending December 31—</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2019 (excluding the three months ended March 31, 2019)</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,687</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,508</p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,341</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,410</p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2023</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,821</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,541</p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total Lease Payments</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,308</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Less—Present Value Discount</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (14,214)</p></td></tr><tr><td style="vertical-align:bottom;width:85.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Present Value of Lease Liabilities</p></td><td style="vertical-align:bottom;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 24pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,094</p></td></tr></table></div> 10687000 12508000 11341000 9410000 7821000 35541000 87308000 14214000 73094000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Supplemental information related to leases was as follows (in thousands):</p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:88.87%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:72.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:25.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,904</p></td></tr><tr><td style="vertical-align:middle;width:72.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lease right-of-use assets obtained in exchange for lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 174</p></td></tr></table></div> 5904000 174000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Income Taxes</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items, such as tax law changes, judgments and legal structures can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions, accounting for losses associated with underperforming operations and noncontrolling interests.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our provision for income taxes was reduced by $2.8 million in the first quarter of 2018 due to a decrease in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p> -2800000 <p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, life insurance policies, notes to former owners, leases and a revolving credit facility. We believe that the carrying values of these instruments on the accompanying balance sheets approximate their fair values.</p> <p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Segment Disclosure</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our activities are within the mechanical services industry, which is the single industry segment we serve. Each operating unit represents an operating segment and these segments have been aggregated, as the operating units meet all of the aggregation criteria.</p> <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">3. Fair Value Measurements</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We classify and disclose assets and liabilities carried at fair value in one of the following three categories:</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Level 1—quoted prices in active markets for identical assets and liabilities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Level 2—observable market based inputs or unobservable inputs that are corroborated by market data; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Level 3—significant unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the fair values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of March 31, 2019 and December 31, 2018 (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:39.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at March 31, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,130</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,130</p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Life insurance—cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,446</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,446</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,939</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,939</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:39.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at December 31, 2018</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,620</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,620</p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Life insurance—cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,252</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,375</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,375</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Cash and cash equivalents consist primarily of highly rated money market funds at a variety of well-known institutions with original maturities of three months or less. The original cost of these assets approximates fair value due to their short-term maturity. The carrying value of our borrowings associated with the Revolving Credit Facility approximate its fair value due to the variable rate on such debt.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have life insurance policies covering 62 employees with a combined face value of $44.5 million. The policies are invested in several investment vehicles and the fair value measurement of the cash surrender balance associated with these policies is determined using Level 2 inputs within the fair value hierarchy and will vary with investment performance. The cash surrender value of these policies was $3.4 million as of March 31, 2019 and $3.3 million as of December 31, 2018. These assets are included in “Other Noncurrent Assets” in our consolidated balance sheets.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We value contingent earn-out obligations using a probability weighted discounted cash flow method. This fair value measurement is based on significant unobservable inputs in the market and thus represents a Level 3 measurement within the fair value hierarchy. This analysis reflects the contractual terms of the purchase agreements (e.g., minimum and maximum payments, length of earn-out periods, manner of calculating any amounts due, etc.) and utilizes assumptions with regard to future cash flows, probabilities of achieving such future cash flows and a discount rate. The contingent earn-out obligations are measured at fair value each reporting period and changes in estimates of fair value are recognized in earnings.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The table below presents a reconciliation of the fair value of our contingent earn-out obligations that use significant unobservable inputs (Level 3) (in thousands).</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';">    </span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,375</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Issuances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Settlements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (594)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Adjustments to fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 158</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at March 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,939</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We measure certain assets at fair value on a nonrecurring basis. These assets are recognized at fair value when they are deemed to be other-than-temporarily impaired. We did not recognize any impairments, in the current quarter, on those assets required to be measured at fair value on a nonrecurring basis.</p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the fair values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of March 31, 2019 and December 31, 2018 (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:39.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at March 31, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,130</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,130</p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Life insurance—cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,446</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,446</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,939</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,939</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:39.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at December 31, 2018</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,620</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,620</p></td></tr><tr><td style="vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Life insurance—cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,252</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,375</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,375</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p> 29130000 29130000 3446000 3446000 6939000 6939000 45620000 45620000 3252000 3252000 7375000 7375000 62 44500000 3400000 3300000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The table below presents a reconciliation of the fair value of our contingent earn-out obligations that use significant unobservable inputs (Level 3) (in thousands).</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';">    </span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,375</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Issuances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Settlements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (594)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Adjustments to fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 158</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:85.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at March 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,939</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p> 7375000 594000 158000 6939000 <p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">4. Acquisitions</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We completed one acquisition in the first quarter of 2019 with a total purchase price of $1.6 million for the three months ended March 31, 2019.  We completed two acquisitions in the first quarter of 2018, three acquisitions in the second quarter of 2018 and two acquisitions in the third quarter of 2018. One acquisition completed in the third quarter </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">of 2018 reports as a separate operating location and the remainder were “tucked-in” with existing operations. Our consolidated balance sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed pending the completion of the final valuation of intangible assets and accrued liabilities.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">The results of operations of acquisitions are included in our consolidated financial statements from their respective acquisition dates. Our consolidated balance sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed for the applicable acquisitions pending the completion of the final valuation of intangible assets and accrued liabilities. The acquisitions completed in the current and prior year were not material, individually or in the aggregate. Additional contingent purchase price (“earn-out”) has been or will be paid if certain acquisitions achieve predetermined profitability targets. Such earn-outs, which are not subject to the continued employment of the sellers, are estimated as of the purchase date and included as part of the consideration paid for the acquisition. If we have an earn-out where continued employment is a condition to receive payment, then the earn-out is recorded as compensation expense over the period earned.</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p> 1 1600000 2 3 2 1 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">5. Goodwill </b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The changes in the carrying amount of goodwill are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235,182</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 200,584</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Additions (See Note 4)</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 678</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,598</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Impairment adjustment</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235,860</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235,182</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-family:'Times';font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The changes in the carrying amount of goodwill are as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235,182</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 200,584</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Additions (See Note 4)</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 678</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,598</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Impairment adjustment</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235,860</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235,182</p></td><td style="vertical-align:bottom;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-family:'Times';font-size:1pt;visibility:hidden;">​</span></p> 235182000 200584000 678000 34598000 235860000 235182000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">6. Debt Obligations</b></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Debt obligations consist of the following (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr style="height:6.75pt;"><td style="background-color:auto;vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr style="height:3.5pt;"><td style="background-color:auto;vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Notes to former owners</p></td><td style="vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,150</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,813</p></td><td style="vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other debt</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total debt</p></td><td style="vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 77,239</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,918</p></td><td style="vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Less—current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,755)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,279)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total long-term portion of debt</p></td><td style="vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">73,639</p></td><td style="vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Revolving Credit Facility</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On April 18, 2018, we amended our senior credit facility (the “Facility”) provided by a syndicate of banks, increasing our borrowing capacity from $325.0 million to $400.0 million, with a $100 million accordion option. The Facility, which is available for borrowings and letters of credit, expires in April 2023 and is secured by a first lien on substantially all of our personal property except for assets related to projects subject to surety bonds and assets held by certain unrestricted subsidiaries and a second lien on our assets related to projects subject to surety bonds. As of March 31, 2019, we had $51.0 million of outstanding borrowings, $33.6 million in letters of credit outstanding and $315.4 million of credit available.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">There are two interest rate options for borrowings under the Facility, the Base Rate Loan Option and the Eurodollar Rate Loan Option. These rates are floating rates determined by the broad financial markets, meaning they can and do move up and down from time to time. Additional margins are then added to these two rates.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of the additional margins:</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Consolidated Total Indebtedness to</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Credit Facility Adjusted EBITDA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Less than 1.00</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">1.00 to 1.75</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">1.75 to 2.50</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2.50 or greater</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Additional Per Annum Interest Margin Added Under:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Base Rate Loan Option</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.75</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Eurodollar Rate Loan Option</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.50</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.75</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.00</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The weighted average interest rate applicable to the borrowings under the Facility was approximately 3.7% as of March 31, 2019.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. Our lenders issue such letters of credit through the Facility. We have never had a claim made against a letter of credit that resulted in payments by a lender or by us and believe such a claim is unlikely in the foreseeable future. The letter of credit fees range from 1.25% to 2.00% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Commitment fees are payable on the portion of the revolving loan capacity not in use for borrowings or letters of credit at any given time. These fees range from 0.20% to 0.35% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Facility contains financial covenants defining various financial measures and the levels of these measures with which we must comply. Covenant compliance is assessed as of each quarter end.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Facility’s principal financial covenants include:</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Total Leverage Ratio</i>—The Facility requires that the ratio of our Consolidated Total Indebtedness to our Credit Facility Adjusted EBITDA not exceed 3.00 to 1.00 as of the end of each fiscal quarter. The total leverage ratio as of March 31, 2019 was 0.4.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Fixed Charge Coverage Ratio</i>—The Facility requires that the ratio of (a) Credit Facility Adjusted EBITDA, less non-financed capital expenditures, provision for income taxes, dividends and amounts used to repurchase stock to (b) the sum of interest expense and scheduled principal payments of indebtedness be at least 2.00 to 1.00; provided that the calculation of the fixed charge coverage ratio excludes stock repurchases and the payment of dividends at any time that the Company’s Net Leverage Ratio, as defined in the credit agreement, does not exceed 1.75 to 1.00. The Facility also allows the fixed charge coverage ratio not to be reduced for stock repurchases made after the effective date of the Facility in an aggregate amount not to exceed $30 million, if at the time of and after giving effect to such repurchase the Company’s Net Leverage Ratio was less than or equal to 1.75 to 1.00. Credit Facility Adjusted EBITDA, capital expenditures, provision for income taxes, dividends, stock repurchase payments, interest expense, and scheduled principal payments are defined under the Facility for purposes of this covenant to be amounts for the four quarters ending as of any given quarterly covenant compliance measurement date. The fixed charge coverage ratio as of March 31, 2019 was 22.6.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Other Restrictions</i>—The Facility permits acquisitions of up to $40.0 million per transaction, provided that the aggregate purchase price of all such acquisitions in the same fiscal year does not exceed $80.0 million. However, these limitations only apply when the Company’s Total Leverage Ratio is greater than 2.00 to 1.00.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">While the Facility’s financial covenants do not specifically govern capacity under the Facility, if our debt level under the Facility at a quarter-end covenant compliance measurement date were to cause us to violate the Facility’s leverage ratio covenant, our borrowing capacity under the Facility and the favorable terms that we currently have could be negatively impacted by the lenders.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We were in compliance with all of our financial covenants as of March 31, 2019.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Notes to Former Owners</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As part of the consideration used to acquire six companies, we have outstanding notes to the former owners. These notes had an outstanding balance of $26.2 million as of March 31, 2019. In conjunction with an acquisition in the first quarter of 2019, we issued a promissory note to former owners with an outstanding balance of $0.4 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.0%<span style="white-space:pre-wrap;">. The principal is due in January 2021. In conjunction with an acquisition in the third quarter of 2018, we issued a promissory note to former owners with an outstanding balance of </span>$6.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.5%<span style="white-space:pre-wrap;">. The principal is due in three equal installments in July 2019, 2020 and 2021. In conjunction with a separate acquisition in the third quarter of 2018, we issued a promissory note to former owners with an outstanding balance of </span>$3.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 2.9%<span style="white-space:pre-wrap;">. The principal is due in September 2020. In conjunction with a small acquisition in the second quarter of 2018, we issued a subordinated note to former owners with an outstanding balance of </span>$1.0 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.5%<span style="white-space:pre-wrap;">. The principal is due in equal installments in May 2020 and 2021. In conjunction with a small acquisition in the first quarter of 2018, we issued a subordinated note to former owners with an outstanding balance of </span>$0.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 2.5%<span style="white-space:pre-wrap;">. The principal is due in January 2020. In conjunction with the BCH acquisition in the second quarter of 2017, we issued a promissory note to former owners with an outstanding balance of </span>$14.3 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.0%<span style="white-space:pre-wrap;">. The principal is due in equal installments in April 2020 and 2021. </span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Other Debt</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As part of the Shoffner acquisition, we acquired debt with an outstanding balance at the acquisition date of $0.4 million with principal and interest due the last day of every month; ending on the December 30, 2019 maturity date. The interest rate is the one month LIBOR rate plus 2.25%. As of March 31, 2019, $0.1 million of the note was outstanding, all of which was considered current.</p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Debt obligations consist of the following (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr style="height:6.75pt;"><td style="background-color:auto;vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr style="height:3.5pt;"><td style="background-color:auto;vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Notes to former owners</p></td><td style="vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,150</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,813</p></td><td style="vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other debt</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total debt</p></td><td style="vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 77,239</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,918</p></td><td style="vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Less—current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,755)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,279)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total long-term portion of debt</p></td><td style="vertical-align:bottom;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">73,639</p></td><td style="vertical-align:bottom;width:0.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p> 51000000 50000000 26150000 26813000 89000 105000 77239000 76918000 2755000 3279000 74484000 73639000 325000000.0 400000000.0 100000000 51000000.0 33600000 315400000 2 <p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Consolidated Total Indebtedness to</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Credit Facility Adjusted EBITDA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Less than 1.00</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">1.00 to 1.75</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">1.75 to 2.50</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2.50 or greater</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Additional Per Annum Interest Margin Added Under:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Base Rate Loan Option</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.75</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Eurodollar Rate Loan Option</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.50</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.75</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.00</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table> 0.0025 0.0050 0.0075 0.0100 0.0125 0.0150 0.0175 0.0200 0.037 0.0125 0.0200 0.0020 0.0035 3.00 0.4 2.00 1.75 30000000 1.75 4 22.6 40000000.0 80000000.0 2.00 6 400000 0.030 6500000 0.035 3500000 0.029 1000000.0 0.035 500000 0.025 14300000 0.030 400000 0.0225 100000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">7. Commitments and Contingencies</b></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Claims and Lawsuits</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are subject to certain legal and regulatory claims, including lawsuits arising in the normal course of business. We maintain various insurance coverages to minimize financial risk associated with these claims. We have estimated and provided accruals for probable losses and related legal fees associated with certain litigation in the accompanying consolidated financial statements. While we cannot predict the outcome of these proceedings, in management’s opinion and based on reports of counsel, any liability arising from these matters individually and in the aggregate will not have a material effect on our operating results, cash flows or financial condition, after giving effect to provisions already recorded.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Surety</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Many customers, particularly in connection with new construction, require us to post performance and payment bonds issued by a financial institution known as a surety. If we fail to perform under the terms of a contract or to pay subcontractors and vendors who provided goods or services under a contract, the customer may demand that the surety make payments or provide services under the bond. We must reimburse the surety for any expenses or outlays it incurs. To date, we are not aware of any losses to our sureties in connection with bonds the sureties have posted on our behalf, and do not expect such losses to be incurred in the foreseeable future.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Surety market conditions have seen some strengthening as the commercial construction markets have started to rebound. Bonding capacity remains adequate in the current market conditions along with acceptable terms and conditions. Historically, approximately 20% to 30% of our business has required bonds. While we currently have strong surety relationships to support our bonding needs, future market conditions or changes in the sureties’ assessment of our operating and financial risk could cause the sureties to decline to issue bonds for our work. If that were to occur, the alternatives include doing more business that does not require bonds, posting other forms of collateral for project performance such as letters of credit or cash, and seeking bonding capacity from other sureties. We would likely also encounter concerns from customers, suppliers and other market participants as to our creditworthiness. While we believe our general operating and financial characteristics would enable us to ultimately respond effectively to an interruption in the availability of bonding capacity, such an interruption would likely cause our revenue and profits to decline in the near term.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Self-Insurance</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are substantially self-insured for workers’ compensation, employer’s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks, such as workers’ compensation, auto liability and general liability, are reviewed by a third-party actuary quarterly.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 0.20 0.30 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">8. Stockholders’ Equity</b></p><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Earnings Per Share</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Basic earnings per share (“EPS”) is computed by dividing net income by the weighted average number of shares of common stock outstanding during the year. Diluted EPS is computed considering the dilutive effect of stock options, restricted stock, restricted stock units and performance stock units. The vesting of unvested contingently issuable performance stock units is based on the achievement of certain earnings per share targets and total shareholder return. These shares are considered contingently issuable shares for purposes of calculating diluted earnings per share. These shares are not included in the diluted earnings per share denominator until the performance criteria are met, if it is assumed that the end of the reporting period was the end of the contingency period.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Unvested restricted stock, restricted stock units and performance stock units are included in diluted earnings per share, weighted outstanding until the shares and units vest. Upon vesting, the vested restricted stock, restricted stock units and performance stock units are included in basic earnings per share weighted outstanding from the vesting date.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">There were less than 0.1<span style="white-space:pre-wrap;"> million anti-dilutive stock options excluded from the calculation of diluted EPS for the three months ended March 31, 2019 and 2018, respectively. </span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Common shares outstanding, end of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,891</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,088</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of using weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computing earnings per share—basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,923</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,192</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of shares issuable under stock option plans based on the treasury stock method</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of restricted and contingently issuable shares</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr style="height:11.65pt;"><td style="vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computing earnings per share—diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,234</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Share Repurchase Program</span></p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On March 29, 2007, our Board of Directors (the “Board”) approved a stock repurchase program to acquire up to 1.0 million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On August 10, 2018, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 8.8 million shares to be repurchased. As of March 31, 2019, we have repurchased a cumulative total of 8.3 million shares at an average price of $16.51 per share under the repurchase program.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the three months ended March 31, 2019, we repurchased 0.1 million shares for approximately $3.3 million at an average price of $49.27<span style="white-space:pre-wrap;"> per share. </span></p> 100000 100000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Common shares outstanding, end of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,891</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,088</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of using weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computing earnings per share—basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,923</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,192</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of shares issuable under stock option plans based on the treasury stock method</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of restricted and contingently issuable shares</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr><tr style="height:11.65pt;"><td style="vertical-align:bottom;width:77.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computing earnings per share—diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,234</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">​</span></p> 36891000 37088000 32000 104000 36923000 37192000 230000 317000 81000 119000 37234000 37628000 1000000.0 700000 8800000 8300000 16.51 100000 3300000 49.27 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">9. Subsequent Events</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On April 1, 2019, we acquired all of the issued and outstanding equity interests of Walker TX Holding Company, LLC and each of its wholly-owned subsidiaries (collectively “Walker”) pursuant to the terms of the Purchase Agreement (the “Purchase Agreement”) dated as of February 21, 2019. The purchase price consisted of $178 million in cash at closing, subject to working capital and certain other post-closing adjustments as set forth in the purchase agreement and $25 million in a promissory note that is payable in two equal installments of $12.5 million on the third and fourth anniversaries of the closing date, plus an earn out that we will pay if certain financial targets are met after the acquisition date. As of closing, we also funded a $20.5 million advance that we expect to recover as part of the working capital settlement and other contingent future payments. Walker is a full-service electrical contracting and network infrastructure engineering business serving commercial and industrial clients with headquarters in Irving, Texas and operations throughout the state of Texas. The transaction was primarily funded from the Company’s revolving credit facility.</p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Beginning on or about April 14, 2019, the Comfort Systems USA, Inc. information technology infrastructure was impacted by a ransomware attack virus. As a result, a substantial majority of our operating locations experienced loss of access to certain data and outages affecting systems including accounting, payroll, billing, job report and management and other software environments. Our first quarter financial results were not affected by this incident. We expect to incur certain costs and experience inefficiencies and delays associated with the incident and our response efforts that might not be covered by existing insurance, and which could adversely affect our financial results in future periods. We anticipate that any such costs, inefficiencies and delays would likely be incurred during our second quarter of 2019 and could also impact the timing of our cash flows in the short and intermediate term. We do not believe that this incident will have a long-term material adverse impact on our business, results of operations or financial condition.</p> 178000000 25000000 2 12500000 20500000 XML 12 R1.htm IDEA: XBRL DOCUMENT v3.19.1
Document and Entity Information - shares
3 Months Ended
Mar. 31, 2019
Apr. 22, 2019
Document and Entity Information    
Entity Registrant Name COMFORT SYSTEMS USA INC  
Entity Central Index Key 0001035983  
Document Type 10-Q  
Document Period End Date Mar. 31, 2019  
Document Fiscal Year Focus 2019  
Document Fiscal Period Focus Q1  
Amendment Flag false  
Current Fiscal Year End Date --12-31  
Entity Current Reporting Status Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Common Stock, Shares Outstanding   36,904,514
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.19.1
CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Mar. 31, 2019
Dec. 31, 2018
CURRENT ASSETS:    
Cash and cash equivalents $ 29,130 $ 45,620
Billed accounts receivable, less allowance for doubtful accounts of $5,865 and $5,898, respectively 447,298 481,366
Unbilled accounts receivable 38,463 37,180
Other receivables 13,711 16,361
Inventories 12,908 12,416
Prepaid expenses and other 7,476 6,544
Costs and estimated earnings in excess of billings 8,286 10,213
Total current assets 557,272 609,700
PROPERTY AND EQUIPMENT, NET 102,774 99,618
LEASE RIGHT-OF-USE ASSET 70,316  
GOODWILL 235,860 235,182
IDENTIFIABLE INTANGIBLE ASSETS, NET 91,073 95,275
DEFERRED TAX ASSETS 17,485 17,634
OTHER NONCURRENT ASSETS 5,252 5,155
Total assets 1,080,032 1,062,564
CURRENT LIABILITIES:    
Current maturities of long-term debt 2,755 3,279
Accounts payable 136,115 176,167
Accrued compensation and benefits 65,135 87,388
Billings in excess of costs and estimated earnings 120,290 130,986
Accrued self-insurance 37,615 36,386
Other current liabilities 47,933 32,852
Total current liabilities 409,843 467,058
LONG-TERM DEBT 74,483 73,639
LONG-TERM LEASE LIABILITIES 62,028  
DEFERRED TAX LIABILITIES 1,387 1,387
OTHER LONG-TERM LIABILITIES 17,096 22,433
Total liabilities 564,837 564,517
COMMITMENTS AND CONTINGENCIES
STOCKHOLDERS' EQUITY:    
Preferred stock, $.01 par, 5,000,000 shares authorized, none issued and outstanding
Common stock, $.01 par, 102,969,912 shares authorized, 41,123,365 and 41,123,365 shares issued, respectively 411 411
Treasury stock, at cost, 4,232,418 and 4,229,653 shares, respectively (90,171) (87,747)
Additional paid-in capital 319,691 316,479
Retained earnings 285,264 268,904
Total stockholders' equity 515,195 498,047
Total liabilities and stockholders' equity $ 1,080,032 $ 1,062,564
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.19.1
CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Mar. 31, 2019
Dec. 31, 2018
CONSOLIDATED BALANCE SHEETS    
Accounts receivable, allowance for doubtful accounts (in dollars) $ 5,865 $ 5,898
Preferred stock, par value (in dollars per share) $ 0.01 $ 0.01
Preferred stock, shares authorized 5,000,000 5,000,000
Preferred stock, shares issued 0 0
Preferred stock, shares outstanding 0 0
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Common stock, shares authorized 102,969,912 102,969,912
Common stock, shares issued 41,123,365 41,123,365
Treasury stock, shares 4,232,418 4,229,653
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.19.1
CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2019
Mar. 31, 2018
CONSOLIDATED STATEMENTS OF OPERATIONS    
REVENUE $ 538,473 $ 464,941
COST OF SERVICES 431,808 375,888
Gross profit 106,665 89,053
SELLING, GENERAL AND ADMINISTRATIVE EXPENSES 78,905 70,023
GAIN ON SALE OF ASSETS (219) (211)
Operating income 27,979 19,241
OTHER INCOME (EXPENSE):    
Interest income 25 14
Interest expense (1,062) (713)
Changes in the fair value of contingent earn-out obligations (158) 153
Other 15 38
Other income (expense) (1,180) (508)
INCOME BEFORE INCOME TAXES 26,799 18,733
PROVISION FOR INCOME TAXES 6,933 2,074
NET INCOME $ 19,866 $ 16,659
INCOME PER SHARE:    
Basic (in shares) $ 0.54 $ 0.45
Diluted (in shares) $ 0.53 $ 0.44
SHARES USED IN COMPUTING INCOME PER SHARE:    
Basic (in shares) 36,923 37,192
Diluted (in shares) 37,234 37,628
DIVIDENDS PER SHARE (in dollars per share) $ 0.095 $ 0.075
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.19.1
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Common Stock
Treasury Stock
Additional Paid-In Capital
Retained Earnings
Total
BALANCE at Dec. 31, 2017 $ 411 $ (63,519) $ 312,784 $ 168,269 $ 417,945
BALANCE (in shares) at Dec. 31, 2017 41,123,365        
BALANCE (in shares) at Dec. 31, 2017   (3,936,291)      
Increase (Decrease) in Stockholders' Equity          
Net income       16,659 16,659
Issuance of Stock:          
Issuance of shares for options exercised   $ 326 (88)   238
Issuance of shares for options exercised (in shares)   19,124      
Issuance of restricted stock & performance stock   $ 892 1,331   2,223
Issuance of restricted stock & performance stock (in shares)   52,306      
Shares received in lieu of tax withholding payment on vested restricted stock   $ (846)     (846)
Shares received in lieu of tax withholding payment on vested restricted stock (in shares)   (19,921)      
Stock-based compensation     1,880   1,880
Dividends       (2,786) (2,786)
Share repurchase   $ (6,175)     (6,175)
Share repurchase (in shares)   (150,481)      
BALANCE at Mar. 31, 2018 $ 411 $ (69,322) 315,907 182,142 429,138
BALANCE (in shares) at Mar. 31, 2018 41,123,365        
BALANCE (in shares) at Mar. 31, 2018   (4,035,263)      
BALANCE at Dec. 31, 2018 $ 411 $ (87,747) 316,479 268,904 $ 498,047
BALANCE (in shares) at Dec. 31, 2018 41,123,365       41,123,365
BALANCE (in shares) at Dec. 31, 2018   (4,229,653)     4,229,653
Increase (Decrease) in Stockholders' Equity          
Net income       19,866 $ 19,866
Issuance of Stock:          
Issuance of shares for options exercised   $ 861 (61)   800
Issuance of shares for options exercised (in shares)   41,103      
Issuance of restricted stock & performance stock   $ 817 1,189   2,006
Issuance of restricted stock & performance stock (in shares)   38,539      
Shares received in lieu of tax withholding payment on vested restricted stock   $ (781)     (781)
Shares received in lieu of tax withholding payment on vested restricted stock (in shares)   (15,013)      
Stock-based compensation     2,084   2,084
Dividends       (3,506) (3,506)
Share repurchase   $ (3,321)     (3,321)
Share repurchase (in shares)   (67,394)      
BALANCE at Mar. 31, 2019 $ 411 $ (90,171) $ 319,691 $ 285,264 $ 515,195
BALANCE (in shares) at Mar. 31, 2019 41,123,365       41,123,365
BALANCE (in shares) at Mar. 31, 2019   (4,232,418)     4,232,418
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.19.1
CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2019
Mar. 31, 2018
CASH FLOWS FROM OPERATING ACTIVITIES:    
Net income $ 19,866 $ 16,659
Adjustments to reconcile net income to net cash provided by operating activities-    
Amortization of identifiable intangible assets 4,891 3,827
Depreciation expense 5,833 5,413
Bad debt expense 235 261
Deferred tax provision 149 8,648
Amortization of debt financing costs 96 94
Gain on sale of assets (219) (211)
Changes in the fair value of contingent earn-out obligations 158 (153)
Stock-based compensation 3,176 2,793
(Increase) decrease in-    
Receivables, net 38,272 (3,542)
Inventories (492) (537)
Prepaid expenses and other current assets (2,083) 3,388
Costs and estimated earnings in excess of billings and unbilled accounts receivable 671 (8,065)
Other noncurrent assets 3,061 296
Increase (decrease) in-    
Accounts payable and accrued liabilities (59,331) (15,663)
Billings in excess of costs and estimated earnings (10,740) (293)
Other long-term liabilities (2,552) (9,064)
Net cash provided by operating activities 991 3,851
CASH FLOWS FROM INVESTING ACTIVITIES:    
Purchases of property and equipment (8,844) (5,588)
Proceeds from sales of property and equipment 357 366
Cash paid for acquisitions, net of cash acquired (1,313) (6,719)
Net cash used in investing activities (9,800) (11,941)
CASH FLOWS FROM FINANCING ACTIVITIES:    
Proceeds from revolving line of credit 54,000 20,000
Payments on revolving line of credit (53,000) (15,000)
Payments on other debt (1,030) (546)
Payments of dividends to stockholders (3,506) (2,786)
Share repurchase (3,321) (4,293)
Shares received in lieu of tax withholding (781) (846)
Proceeds from exercise of options 800 238
Deferred acquisition payments (250)  
Payments for contingent consideration arrangements (593)  
Net cash used in financing activities (7,681) (3,233)
NET DECREASE IN CASH AND CASH EQUIVALENTS (16,490) (11,323)
CASH AND CASH EQUIVALENTS, beginning of year 45,620 36,542
CASH AND CASH EQUIVALENTS, end of year $ 29,130 $ 25,219
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.19.1
Business and Organization
3 Months Ended
Mar. 31, 2019
Business and Organization  
Business and Organization

1. Business and Organization

Comfort Systems USA, Inc., a Delaware corporation, provides comprehensive mechanical contracting services, which principally includes heating, ventilation and air conditioning (“HVAC”), plumbing, piping and controls, as well as off-site construction, electrical, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. Approximately 41.6% of our consolidated 2019 revenue is attributable to installation of systems in newly constructed facilities, with the remaining 58.4% attributable to maintenance, repair and replacement services. The terms “Comfort Systems,” “we,” “us,” or the “Company,” refer to Comfort Systems USA, Inc. or Comfort Systems USA, Inc. and its consolidated subsidiaries, as appropriate in the context.

XML 19 R8.htm IDEA: XBRL DOCUMENT v3.19.1
Summary of Significant Accounting Policies
3 Months Ended
Mar. 31, 2019
Summary of Significant Accounting Policies  
Summary of Significant Accounting Policies

2. Summary of Significant Accounting Policies

Basis of Presentation

These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form 10-K as filed with the Securities and Exchange Commission (“SEC”) for the year ended December 31, 2018 (the “Form 10-K”).

The accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form 10-Q and applicable rules of Regulation S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form 10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.

Use of Estimates

The preparation of financial statements in conformity with generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, the allowance for doubtful accounts, self-insurance accruals, deferred tax assets, warranty accruals, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing.

Recent Accounting Pronouncements

In February 2016, the FASB issued ASU No. 2016-02, “Leases (Topic 842)”. The standard requires substantially all leases (with the exception of leases with a term of one year or less) to be recorded on the balance sheet using a method referred to as the right-of-use asset approach. ASU 2016-02 is effective for fiscal years beginning after December 15, 2018 and interim periods within those years. Full retrospective application is prohibited. We adopted ASU No. 2016-02, Leases (Topic 842), on January 1, 2019, using the transition method allowed by ASU No. 2018-11, “Leases (Topic 842) Targeted Improvements” in which lessees apply the new lease standard on the adoption date and recognize a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption. We adopted the practical expedient allowing us to not include leases with an initial term of 12 months or less on the balance sheet. Furthermore, we elected to apply the practical expedient allowing an entity to forgo reassessing (1) whether expired or existing contracts contain a lease, (2) classification of expired or existing leases, and (3) whether capitalized

costs associated with expired or existing leases should be classified as “initial direct costs” under Topic 842. The adoption of ASU 2016-02 did not have a significant impact to our Statement of Operations or Cash Flows. The adoption of ASU 2016-02 resulted in the recording of right-of-use asset and lease liabilities of $75.9 million on our Balance Sheet as of January 1, 2019 but did not result in a cumulative-effect adjustment to retained earnings.

In June 2016, the FASB issued ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326)”. The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. ASU 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Early adoption is permitted. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.

In August 2018, the FASB issued ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement”. This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.

Revenue Recognition

Revenue is recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. Sales-based taxes are excluded from revenue.

We provide comprehensive mechanical contracting services, which principally includes HVAC, plumbing, piping and controls, as well as off-site construction, electrical, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. All of our revenue is recognized over time as we deliver goods and services to our customers. Revenue can be earned based on an agreed upon fixed price or based on actual costs incurred marked up at an agreed upon percentage.

For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption “Cost of Services.” Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed. Non-labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.

We account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability

of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract.

Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred. On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that contract. If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract. We do not currently have any capitalized selling, marketing, or estimation costs on our Balance Sheet and did not incur any impairment loss in the current year.

We generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtaining or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.

Project contracts typically provide for a schedule of billings or invoices to the customer based on our job to date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in the statement of operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our balance sheet under the caption “Costs and estimated earnings in excess of billings.” Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our balance sheet under the caption “Billings in excess of costs and estimated earnings.”

We typically invoice our customers with payment terms of net due in 30 days. It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer 45 to 60 days to make their payment. It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source. In most instances we receive payment of our invoices between 30 to 90 days of the date of the invoice.

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC Topic 606. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.

To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In cases where we do, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized customer specific solution, and in these cases we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation.

We recognize revenue over time for all of our services as we perform them, because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred. The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to

payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.

For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.

For a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.

Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts. Variable amounts can either increase or decrease the transaction price. A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated. Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion. Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule.

Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s). The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue (either as an increase or decrease) on a cumulative catchup basis.

We have a Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management's judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g. to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables.

Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities these adjustments may result in a decrease in

operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, which recognizes in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation's percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects where estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined.

The Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue. The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period. The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly. We include an estimated amount to cover estimated warranty expense in our Cost of Services and record a liability on our Balance Sheet to cover our current estimated outstanding warranty obligations.

Prior to implementing ASC 606 on January 1, 2018, our methods for recognizing revenue were very similar to our current method under ASC 606. We used the actual cost as a percent of total expected cost at completion to estimate our percentage complete on fixed price jobs, a mark-up of costs for jobs where revenue was based on time and materials incurred and elapsed time for those service maintenance contracts where the full cost to provide the services cannot be reasonably estimated. Furthermore, our process for allocating transaction price to performance obligations is also substantially similar to prior years where, in most cases, a contract is one performance obligation. In those cases where a contract is determined to have more than one performance obligation, the contract price is allocated to each performance obligation based on its standalone sales price.

In the first three months of 2018 and 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material.

Disaggregation of Revenue

We disaggregate our revenue from contracts with customers by activity, customer type and contract type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. Our consolidated 2019 revenue was derived from the following service activities, all of which are in the mechanical services industry, the single industry segment we serve. See details in the following tables (dollars in thousands):

Three Months Ended March 31,

Revenue by Service Provided

2019

2018

HVAC and Plumbing

$

481,990

89.5

%

$

424,017

91.2

%

Building Automation Control Systems

29,014

5.4

%

20,045

4.3

%

Other

27,469

5.1

%

20,879

4.5

%

Total

$

538,473

100.0

%

$

464,941

100.0

%

Three Months Ended March 31,

Revenue by Type of Customer

    

2019

    

2018

 

    

Industrial

$

168,660

31.3

%

$

100,100

    

21.5

%

Education

66,743

12.4

%

88,203

19.0

%

Office Buildings

66,212

12.3

%

69,120

14.9

%

Healthcare

92,023

17.1

%

63,183

13.6

%

Government

32,279

6.0

%

36,147

7.8

%

Retail, Restaurants and Entertainment

59,391

11.0

%

52,787

11.3

%

Multi-Family and Residential

30,235

5.6

%

33,052

7.1

%

Other

22,931

4.3

%

22,349

4.8

%

Total

$

538,473

100.0

%

$

464,941

100.0

%

Three Months Ended March 31,

Revenue by Activity Type

    

2019

2018

 

    

New Construction

$

223,961

41.6

%

$

185,282

39.9

%

Existing Building Construction

182,296

33.8

%

156,758

33.7

%

Service Projects

50,384

9.4

%

42,433

9.1

%

Service Calls, Maintenance and Monitoring

81,833

15.2

%

80,468

17.3

%

Total

$

538,473

100.0

%

$

464,941

100.0

%

Accounts Receivable

Accounts Receivable, include amounts from work completed in which we have billed or have an unconditional right to bill our customers. The amounts due are stated at their net estimated realizable value. We maintain an allowance for doubtful accounts to provide for the estimated amount of receivables that will not be collected. The allowance is based upon an assessment of customer creditworthiness, historical payment experience, the age of outstanding receivables and collateral to the extent applicable.

Contract Assets and Liabilities

Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used and revenue recognized exceeds the amount billed to the customer and right to payment is conditional, subject to completing a milestone, such as a phase of the project. Contract assets are generally classified as current.

Contract liabilities consist of advance payments and billings in excess of revenue recognized. Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets are usually all current. If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our consolidated balance sheets.

The following table presents the changes in contract assets and contract liabilities (in thousands):

Three Months Ended

Year Ended

March 31, 2019

December 31, 2018

Contract

Contract

Contract

Contract

Assets

    

Liabilities

    

Assets

    

Liabilities

Balance at beginning of period

$

10,213

$

130,986

$

30,116

$

106,005

Change due to acquisitions

27

44

2,833

8,195

Change due to conditional versus unconditional

(1,954)

6,244

Reclassified to unbilled accounts receivable

(28,980)

Change in timing for performance obligation to be satisfied

(10,740)

16,786

Balance at end of period

$

8,286

 

$

120,290

$

10,213

$

130,986

In the first three months of 2019 and 2018, we recognized revenue of $105.6 million and $85.5 million related to our contract liabilities at January 1, 2019 and January 1, 2018, respectively.

We did not have any impairment losses recognized on our receivables or contract assets in the first three months of 2019 and 2018.

Remaining Performance Obligations

Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and excludes unexercised contract options. As of March 31, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was $1.14 billion. The Company expects to recognize revenue on approximately 85% of the remaining performance obligations over the next 12 months, with the

remaining recognized thereafter. Our service maintenance agreements are generally one-year renewable agreements. We have adopted the practical expedient that allows us to not include service maintenance contracts one year or less, therefore we do not report unfulfilled performance obligations for service maintenance agreements.

Leases

We lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations. Leases with an initial term of 12 months or less are not recorded on the balance sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense was not material to our financial statements and aggregated to $1.9 million in the first quarter of 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of March 31, 2019 was 4.1%. We recognize lease expense, including escalating lease payments and excluding lease incentives, on a straight-line basis over the lease term. Lease expense for the three months ended March 31, 2019 and 2018 was $5.6 million and $5.2 million, respectively.

The lease terms generally range from three to ten years. Some leases include one or more options to renew, with renewal terms that can extend the lease term. Our lease terms may include the exercise of lease renewal options when it is reasonably certain that we will exercise the option and it is at our sole discretion. The weighted average remaining lease term was 8.6 years at March 31, 2019.

A majority of the Company’s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the three months ended March 31, 2019 and 2018 was approximately $1.2 million and $1.1 million, respectively.

If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. On rare occasions we rent or sublease certain real estate assets that we no longer use to third parties.

The following table summarizes the lease asset and liabilities included in the consolidated balance sheet as follows (in thousands):

March 31,

2019

Lease right-of-use assets

$

70,316

Lease liabilities:

Other current liabilities

11,066

Long-term lease liabilities

62,028

Total lease liabilities

$

73,094

The maturities of lease liabilities are as follows (in thousands):

Year ending December 31—

2019 (excluding the three months ended March 31, 2019)

$

10,687

2020

12,508

2021

11,341

2022

9,410

2023

7,821

Thereafter

35,541

Total Lease Payments

87,308

Less—Present Value Discount

(14,214)

Present Value of Lease Liabilities

$

73,094

Supplemental information related to leases was as follows (in thousands):

Three Months Ended

March 31, 2019

Cash paid for amounts included in the measurement of lease liabilities

$

5,904

Lease right-of-use assets obtained in exchange for lease liabilities

$

174

Income Taxes

We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items, such as tax law changes, judgments and legal structures can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions, accounting for losses associated with underperforming operations and noncontrolling interests.

Our provision for income taxes was reduced by $2.8 million in the first quarter of 2018 due to a decrease in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.

Financial Instruments

Our financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, life insurance policies, notes to former owners, leases and a revolving credit facility. We believe that the carrying values of these instruments on the accompanying balance sheets approximate their fair values.

Segment Disclosure

Our activities are within the mechanical services industry, which is the single industry segment we serve. Each operating unit represents an operating segment and these segments have been aggregated, as the operating units meet all of the aggregation criteria.

XML 20 R9.htm IDEA: XBRL DOCUMENT v3.19.1
Fair Value Measurements
3 Months Ended
Mar. 31, 2019
Fair Value Measurements  
Fair Value Measurements

3. Fair Value Measurements

We classify and disclose assets and liabilities carried at fair value in one of the following three categories:

Level 1—quoted prices in active markets for identical assets and liabilities;
Level 2—observable market based inputs or unobservable inputs that are corroborated by market data; and
Level 3—significant unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.

The following table summarizes the fair values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of March 31, 2019 and December 31, 2018 (in thousands):

Fair Value Measurements at March 31, 2019

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

29,130

$

$

$

29,130

Life insurance—cash surrender value

$

$

3,446

$

$

3,446

Contingent earn-out obligations

$

$

$

6,939

$

6,939

Fair Value Measurements at December 31, 2018

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

45,620

$

$

$

45,620

Life insurance—cash surrender value

$

$

3,252

$

$

3,252

Contingent earn-out obligations

$

$

$

7,375

$

7,375

Cash and cash equivalents consist primarily of highly rated money market funds at a variety of well-known institutions with original maturities of three months or less. The original cost of these assets approximates fair value due to their short-term maturity. The carrying value of our borrowings associated with the Revolving Credit Facility approximate its fair value due to the variable rate on such debt.

We have life insurance policies covering 62 employees with a combined face value of $44.5 million. The policies are invested in several investment vehicles and the fair value measurement of the cash surrender balance associated with these policies is determined using Level 2 inputs within the fair value hierarchy and will vary with investment performance. The cash surrender value of these policies was $3.4 million as of March 31, 2019 and $3.3 million as of December 31, 2018. These assets are included in “Other Noncurrent Assets” in our consolidated balance sheets.

We value contingent earn-out obligations using a probability weighted discounted cash flow method. This fair value measurement is based on significant unobservable inputs in the market and thus represents a Level 3 measurement within the fair value hierarchy. This analysis reflects the contractual terms of the purchase agreements (e.g., minimum and maximum payments, length of earn-out periods, manner of calculating any amounts due, etc.) and utilizes assumptions with regard to future cash flows, probabilities of achieving such future cash flows and a discount rate. The contingent earn-out obligations are measured at fair value each reporting period and changes in estimates of fair value are recognized in earnings.

The table below presents a reconciliation of the fair value of our contingent earn-out obligations that use significant unobservable inputs (Level 3) (in thousands).

    

    

Balance at beginning of year

    

$

7,375

 

Issuances

 

Settlements

(594)

Adjustments to fair value

 

158

Balance at March 31, 2019

$

6,939

We measure certain assets at fair value on a nonrecurring basis. These assets are recognized at fair value when they are deemed to be other-than-temporarily impaired. We did not recognize any impairments, in the current quarter, on those assets required to be measured at fair value on a nonrecurring basis.

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.19.1
Acquisitions
3 Months Ended
Mar. 31, 2019
Acquisitions  
Acquisitions

4. Acquisitions

We completed one acquisition in the first quarter of 2019 with a total purchase price of $1.6 million for the three months ended March 31, 2019.  We completed two acquisitions in the first quarter of 2018, three acquisitions in the second quarter of 2018 and two acquisitions in the third quarter of 2018. One acquisition completed in the third quarter

of 2018 reports as a separate operating location and the remainder were “tucked-in” with existing operations. Our consolidated balance sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed pending the completion of the final valuation of intangible assets and accrued liabilities.

The results of operations of acquisitions are included in our consolidated financial statements from their respective acquisition dates. Our consolidated balance sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed for the applicable acquisitions pending the completion of the final valuation of intangible assets and accrued liabilities. The acquisitions completed in the current and prior year were not material, individually or in the aggregate. Additional contingent purchase price (“earn-out”) has been or will be paid if certain acquisitions achieve predetermined profitability targets. Such earn-outs, which are not subject to the continued employment of the sellers, are estimated as of the purchase date and included as part of the consideration paid for the acquisition. If we have an earn-out where continued employment is a condition to receive payment, then the earn-out is recorded as compensation expense over the period earned.

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.19.1
Goodwill
3 Months Ended
Mar. 31, 2019
Goodwill  
Goodwill

5. Goodwill

The changes in the carrying amount of goodwill are as follows (in thousands):

March 31,

December 31,

    

2019

    

2018

 

Balance at beginning of year

$

235,182

$

200,584

Additions (See Note 4)

 

678

 

34,598

Impairment adjustment

Balance at end of period

$

235,860

$

235,182

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.19.1
Debt Obligations
3 Months Ended
Mar. 31, 2019
Debt Obligations  
Debt Obligations

6. Debt Obligations

Debt obligations consist of the following (in thousands):

March 31,

December 31,

    

2019

    

2018

 

Revolving credit facility

$

51,000

$

50,000

Notes to former owners

26,150

 

26,813

Other debt

89

105

Total debt

77,239

 

76,918

Less—current portion

(2,755)

 

(3,279)

Total long-term portion of debt

$

74,484

$

73,639

Revolving Credit Facility

On April 18, 2018, we amended our senior credit facility (the “Facility”) provided by a syndicate of banks, increasing our borrowing capacity from $325.0 million to $400.0 million, with a $100 million accordion option. The Facility, which is available for borrowings and letters of credit, expires in April 2023 and is secured by a first lien on substantially all of our personal property except for assets related to projects subject to surety bonds and assets held by certain unrestricted subsidiaries and a second lien on our assets related to projects subject to surety bonds. As of March 31, 2019, we had $51.0 million of outstanding borrowings, $33.6 million in letters of credit outstanding and $315.4 million of credit available.

There are two interest rate options for borrowings under the Facility, the Base Rate Loan Option and the Eurodollar Rate Loan Option. These rates are floating rates determined by the broad financial markets, meaning they can and do move up and down from time to time. Additional margins are then added to these two rates.

The following is a summary of the additional margins:

Consolidated Total Indebtedness to

 

Credit Facility Adjusted EBITDA

 

    

Less than 1.00

    

1.00 to 1.75

    

1.75 to 2.50

    

2.50 or greater

 

Additional Per Annum Interest Margin Added Under:

Base Rate Loan Option

0.25

%  

0.50

%  

0.75

%  

1.00

%

Eurodollar Rate Loan Option

1.25

%

1.50

%

1.75

%

2.00

%

The weighted average interest rate applicable to the borrowings under the Facility was approximately 3.7% as of March 31, 2019.

Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. Our lenders issue such letters of credit through the Facility. We have never had a claim made against a letter of credit that resulted in payments by a lender or by us and believe such a claim is unlikely in the foreseeable future. The letter of credit fees range from 1.25% to 2.00% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.

Commitment fees are payable on the portion of the revolving loan capacity not in use for borrowings or letters of credit at any given time. These fees range from 0.20% to 0.35% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA, as defined in the credit agreement.

The Facility contains financial covenants defining various financial measures and the levels of these measures with which we must comply. Covenant compliance is assessed as of each quarter end.

The Facility’s principal financial covenants include:

Total Leverage Ratio—The Facility requires that the ratio of our Consolidated Total Indebtedness to our Credit Facility Adjusted EBITDA not exceed 3.00 to 1.00 as of the end of each fiscal quarter. The total leverage ratio as of March 31, 2019 was 0.4.

Fixed Charge Coverage Ratio—The Facility requires that the ratio of (a) Credit Facility Adjusted EBITDA, less non-financed capital expenditures, provision for income taxes, dividends and amounts used to repurchase stock to (b) the sum of interest expense and scheduled principal payments of indebtedness be at least 2.00 to 1.00; provided that the calculation of the fixed charge coverage ratio excludes stock repurchases and the payment of dividends at any time that the Company’s Net Leverage Ratio, as defined in the credit agreement, does not exceed 1.75 to 1.00. The Facility also allows the fixed charge coverage ratio not to be reduced for stock repurchases made after the effective date of the Facility in an aggregate amount not to exceed $30 million, if at the time of and after giving effect to such repurchase the Company’s Net Leverage Ratio was less than or equal to 1.75 to 1.00. Credit Facility Adjusted EBITDA, capital expenditures, provision for income taxes, dividends, stock repurchase payments, interest expense, and scheduled principal payments are defined under the Facility for purposes of this covenant to be amounts for the four quarters ending as of any given quarterly covenant compliance measurement date. The fixed charge coverage ratio as of March 31, 2019 was 22.6.

Other Restrictions—The Facility permits acquisitions of up to $40.0 million per transaction, provided that the aggregate purchase price of all such acquisitions in the same fiscal year does not exceed $80.0 million. However, these limitations only apply when the Company’s Total Leverage Ratio is greater than 2.00 to 1.00.

While the Facility’s financial covenants do not specifically govern capacity under the Facility, if our debt level under the Facility at a quarter-end covenant compliance measurement date were to cause us to violate the Facility’s leverage ratio covenant, our borrowing capacity under the Facility and the favorable terms that we currently have could be negatively impacted by the lenders.

We were in compliance with all of our financial covenants as of March 31, 2019.

Notes to Former Owners

As part of the consideration used to acquire six companies, we have outstanding notes to the former owners. These notes had an outstanding balance of $26.2 million as of March 31, 2019. In conjunction with an acquisition in the first quarter of 2019, we issued a promissory note to former owners with an outstanding balance of $0.4 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.0%. The principal is due in January 2021. In conjunction with an acquisition in the third quarter of 2018, we issued a promissory note to former owners with an outstanding balance of $6.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.5%. The principal is due in three equal installments in July 2019, 2020 and 2021. In conjunction with a separate acquisition in the third quarter of 2018, we issued a promissory note to former owners with an outstanding balance of $3.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 2.9%. The principal is due in September 2020. In conjunction with a small acquisition in the second quarter of 2018, we issued a subordinated note to former owners with an outstanding balance of $1.0 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.5%. The principal is due in equal installments in May 2020 and 2021. In conjunction with a small acquisition in the first quarter of 2018, we issued a subordinated note to former owners with an outstanding balance of $0.5 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 2.5%. The principal is due in January 2020. In conjunction with the BCH acquisition in the second quarter of 2017, we issued a promissory note to former owners with an outstanding balance of $14.3 million as of March 31, 2019 that bears interest, payable quarterly, at a weighted average interest rate of 3.0%. The principal is due in equal installments in April 2020 and 2021.

Other Debt

As part of the Shoffner acquisition, we acquired debt with an outstanding balance at the acquisition date of $0.4 million with principal and interest due the last day of every month; ending on the December 30, 2019 maturity date. The interest rate is the one month LIBOR rate plus 2.25%. As of March 31, 2019, $0.1 million of the note was outstanding, all of which was considered current.

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.19.1
Commitments and Contingencies
3 Months Ended
Mar. 31, 2019
Commitments and Contingencies  
Commitments and Contingencies

7. Commitments and Contingencies

Claims and Lawsuits

We are subject to certain legal and regulatory claims, including lawsuits arising in the normal course of business. We maintain various insurance coverages to minimize financial risk associated with these claims. We have estimated and provided accruals for probable losses and related legal fees associated with certain litigation in the accompanying consolidated financial statements. While we cannot predict the outcome of these proceedings, in management’s opinion and based on reports of counsel, any liability arising from these matters individually and in the aggregate will not have a material effect on our operating results, cash flows or financial condition, after giving effect to provisions already recorded.

Surety

Many customers, particularly in connection with new construction, require us to post performance and payment bonds issued by a financial institution known as a surety. If we fail to perform under the terms of a contract or to pay subcontractors and vendors who provided goods or services under a contract, the customer may demand that the surety make payments or provide services under the bond. We must reimburse the surety for any expenses or outlays it incurs. To date, we are not aware of any losses to our sureties in connection with bonds the sureties have posted on our behalf, and do not expect such losses to be incurred in the foreseeable future.

Surety market conditions have seen some strengthening as the commercial construction markets have started to rebound. Bonding capacity remains adequate in the current market conditions along with acceptable terms and conditions. Historically, approximately 20% to 30% of our business has required bonds. While we currently have strong surety relationships to support our bonding needs, future market conditions or changes in the sureties’ assessment of our operating and financial risk could cause the sureties to decline to issue bonds for our work. If that were to occur, the alternatives include doing more business that does not require bonds, posting other forms of collateral for project performance such as letters of credit or cash, and seeking bonding capacity from other sureties. We would likely also encounter concerns from customers, suppliers and other market participants as to our creditworthiness. While we believe our general operating and financial characteristics would enable us to ultimately respond effectively to an interruption in the availability of bonding capacity, such an interruption would likely cause our revenue and profits to decline in the near term.

Self-Insurance

We are substantially self-insured for workers’ compensation, employer’s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks, such as workers’ compensation, auto liability and general liability, are reviewed by a third-party actuary quarterly.

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.19.1
Stockholders' Equity
3 Months Ended
Mar. 31, 2019
Stockholders' Equity  
Stockholders' Equity.

8. Stockholders’ Equity

Earnings Per Share

Basic earnings per share (“EPS”) is computed by dividing net income by the weighted average number of shares of common stock outstanding during the year. Diluted EPS is computed considering the dilutive effect of stock options, restricted stock, restricted stock units and performance stock units. The vesting of unvested contingently issuable performance stock units is based on the achievement of certain earnings per share targets and total shareholder return. These shares are considered contingently issuable shares for purposes of calculating diluted earnings per share. These shares are not included in the diluted earnings per share denominator until the performance criteria are met, if it is assumed that the end of the reporting period was the end of the contingency period.

Unvested restricted stock, restricted stock units and performance stock units are included in diluted earnings per share, weighted outstanding until the shares and units vest. Upon vesting, the vested restricted stock, restricted stock units and performance stock units are included in basic earnings per share weighted outstanding from the vesting date.

There were less than 0.1 million anti-dilutive stock options excluded from the calculation of diluted EPS for the three months ended March 31, 2019 and 2018, respectively.

The following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):

Three Months Ended

March 31,

    

2019

    

2018

 

Common shares outstanding, end of period

36,891

 

37,088

Effect of using weighted average common shares outstanding

32

 

104

Shares used in computing earnings per share—basic

36,923

 

37,192

Effect of shares issuable under stock option plans based on the treasury stock method

230

 

317

Effect of restricted and contingently issuable shares

81

 

119

Shares used in computing earnings per share—diluted

37,234

 

37,628

Share Repurchase Program

On March 29, 2007, our Board of Directors (the “Board”) approved a stock repurchase program to acquire up to 1.0 million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On August 10, 2018, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 8.8 million shares to be repurchased. As of March 31, 2019, we have repurchased a cumulative total of 8.3 million shares at an average price of $16.51 per share under the repurchase program.

The share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the three months ended March 31, 2019, we repurchased 0.1 million shares for approximately $3.3 million at an average price of $49.27 per share.

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.19.1
Subsequent Events
3 Months Ended
Mar. 31, 2019
Subsequent Events  
Subsequent Events

9. Subsequent Events

On April 1, 2019, we acquired all of the issued and outstanding equity interests of Walker TX Holding Company, LLC and each of its wholly-owned subsidiaries (collectively “Walker”) pursuant to the terms of the Purchase Agreement (the “Purchase Agreement”) dated as of February 21, 2019. The purchase price consisted of $178 million in cash at closing, subject to working capital and certain other post-closing adjustments as set forth in the purchase agreement and $25 million in a promissory note that is payable in two equal installments of $12.5 million on the third and fourth anniversaries of the closing date, plus an earn out that we will pay if certain financial targets are met after the acquisition date. As of closing, we also funded a $20.5 million advance that we expect to recover as part of the working capital settlement and other contingent future payments. Walker is a full-service electrical contracting and network infrastructure engineering business serving commercial and industrial clients with headquarters in Irving, Texas and operations throughout the state of Texas. The transaction was primarily funded from the Company’s revolving credit facility.

Beginning on or about April 14, 2019, the Comfort Systems USA, Inc. information technology infrastructure was impacted by a ransomware attack virus. As a result, a substantial majority of our operating locations experienced loss of access to certain data and outages affecting systems including accounting, payroll, billing, job report and management and other software environments. Our first quarter financial results were not affected by this incident. We expect to incur certain costs and experience inefficiencies and delays associated with the incident and our response efforts that might not be covered by existing insurance, and which could adversely affect our financial results in future periods. We anticipate that any such costs, inefficiencies and delays would likely be incurred during our second quarter of 2019 and could also impact the timing of our cash flows in the short and intermediate term. We do not believe that this incident will have a long-term material adverse impact on our business, results of operations or financial condition.

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.19.1
Summary of Significant Accounting Policies (Policies)
3 Months Ended
Mar. 31, 2019
Summary of Significant Accounting Policies  
Basis of Presentation

Basis of Presentation

These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form 10-K as filed with the Securities and Exchange Commission (“SEC”) for the year ended December 31, 2018 (the “Form 10-K”).

The accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form 10-Q and applicable rules of Regulation S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form 10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.

Use of Estimates

Use of Estimates

The preparation of financial statements in conformity with generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, the allowance for doubtful accounts, self-insurance accruals, deferred tax assets, warranty accruals, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing.

Recent Accounting Pronouncements

Recent Accounting Pronouncements

In February 2016, the FASB issued ASU No. 2016-02, “Leases (Topic 842)”. The standard requires substantially all leases (with the exception of leases with a term of one year or less) to be recorded on the balance sheet using a method referred to as the right-of-use asset approach. ASU 2016-02 is effective for fiscal years beginning after December 15, 2018 and interim periods within those years. Full retrospective application is prohibited. We adopted ASU No. 2016-02, Leases (Topic 842), on January 1, 2019, using the transition method allowed by ASU No. 2018-11, “Leases (Topic 842) Targeted Improvements” in which lessees apply the new lease standard on the adoption date and recognize a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption. We adopted the practical expedient allowing us to not include leases with an initial term of 12 months or less on the balance sheet. Furthermore, we elected to apply the practical expedient allowing an entity to forgo reassessing (1) whether expired or existing contracts contain a lease, (2) classification of expired or existing leases, and (3) whether capitalized

costs associated with expired or existing leases should be classified as “initial direct costs” under Topic 842. The adoption of ASU 2016-02 did not have a significant impact to our Statement of Operations or Cash Flows. The adoption of ASU 2016-02 resulted in the recording of right-of-use asset and lease liabilities of $75.9 million on our Balance Sheet as of January 1, 2019 but did not result in a cumulative-effect adjustment to retained earnings.

In June 2016, the FASB issued ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326)”. The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. ASU 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Early adoption is permitted. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.

In August 2018, the FASB issued ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement”. This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We are currently evaluating the potential impact of this authoritative guidance on our consolidated financial statements.

Revenue Recognition

Revenue Recognition

Revenue is recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. Sales-based taxes are excluded from revenue.

We provide comprehensive mechanical contracting services, which principally includes HVAC, plumbing, piping and controls, as well as off-site construction, electrical, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. All of our revenue is recognized over time as we deliver goods and services to our customers. Revenue can be earned based on an agreed upon fixed price or based on actual costs incurred marked up at an agreed upon percentage.

For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption “Cost of Services.” Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed. Non-labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.

We account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability

of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract.

Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred. On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that contract. If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract. We do not currently have any capitalized selling, marketing, or estimation costs on our Balance Sheet and did not incur any impairment loss in the current year.

We generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtaining or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.

Project contracts typically provide for a schedule of billings or invoices to the customer based on our job to date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in the statement of operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our balance sheet under the caption “Costs and estimated earnings in excess of billings.” Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our balance sheet under the caption “Billings in excess of costs and estimated earnings.”

We typically invoice our customers with payment terms of net due in 30 days. It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer 45 to 60 days to make their payment. It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source. In most instances we receive payment of our invoices between 30 to 90 days of the date of the invoice.

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC Topic 606. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.

To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In cases where we do, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized customer specific solution, and in these cases we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation.

We recognize revenue over time for all of our services as we perform them, because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred. The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to

payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.

For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.

For a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.

Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts. Variable amounts can either increase or decrease the transaction price. A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated. Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion. Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule.

Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s). The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue (either as an increase or decrease) on a cumulative catchup basis.

We have a Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management's judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g. to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables.

Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities these adjustments may result in a decrease in

operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, which recognizes in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation's percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects where estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined.

The Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue. The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period. The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly. We include an estimated amount to cover estimated warranty expense in our Cost of Services and record a liability on our Balance Sheet to cover our current estimated outstanding warranty obligations.

Prior to implementing ASC 606 on January 1, 2018, our methods for recognizing revenue were very similar to our current method under ASC 606. We used the actual cost as a percent of total expected cost at completion to estimate our percentage complete on fixed price jobs, a mark-up of costs for jobs where revenue was based on time and materials incurred and elapsed time for those service maintenance contracts where the full cost to provide the services cannot be reasonably estimated. Furthermore, our process for allocating transaction price to performance obligations is also substantially similar to prior years where, in most cases, a contract is one performance obligation. In those cases where a contract is determined to have more than one performance obligation, the contract price is allocated to each performance obligation based on its standalone sales price.

In the first three months of 2018 and 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material.

Disaggregation of Revenue

We disaggregate our revenue from contracts with customers by activity, customer type and contract type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. Our consolidated 2019 revenue was derived from the following service activities, all of which are in the mechanical services industry, the single industry segment we serve. See details in the following tables (dollars in thousands):

Three Months Ended March 31,

Revenue by Service Provided

2019

2018

HVAC and Plumbing

$

481,990

89.5

%

$

424,017

91.2

%

Building Automation Control Systems

29,014

5.4

%

20,045

4.3

%

Other

27,469

5.1

%

20,879

4.5

%

Total

$

538,473

100.0

%

$

464,941

100.0

%

Three Months Ended March 31,

Revenue by Type of Customer

    

2019

    

2018

 

    

Industrial

$

168,660

31.3

%

$

100,100

    

21.5

%

Education

66,743

12.4

%

88,203

19.0

%

Office Buildings

66,212

12.3

%

69,120

14.9

%

Healthcare

92,023

17.1

%

63,183

13.6

%

Government

32,279

6.0

%

36,147

7.8

%

Retail, Restaurants and Entertainment

59,391

11.0

%

52,787

11.3

%

Multi-Family and Residential

30,235

5.6

%

33,052

7.1

%

Other

22,931

4.3

%

22,349

4.8

%

Total

$

538,473

100.0

%

$

464,941

100.0

%

Three Months Ended March 31,

Revenue by Activity Type

    

2019

2018

 

    

New Construction

$

223,961

41.6

%

$

185,282

39.9

%

Existing Building Construction

182,296

33.8

%

156,758

33.7

%

Service Projects

50,384

9.4

%

42,433

9.1

%

Service Calls, Maintenance and Monitoring

81,833

15.2

%

80,468

17.3

%

Total

$

538,473

100.0

%

$

464,941

100.0

%

Accounts Receivable

Accounts Receivable, include amounts from work completed in which we have billed or have an unconditional right to bill our customers. The amounts due are stated at their net estimated realizable value. We maintain an allowance for doubtful accounts to provide for the estimated amount of receivables that will not be collected. The allowance is based upon an assessment of customer creditworthiness, historical payment experience, the age of outstanding receivables and collateral to the extent applicable.

Contract Assets and Liabilities

Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used and revenue recognized exceeds the amount billed to the customer and right to payment is conditional, subject to completing a milestone, such as a phase of the project. Contract assets are generally classified as current.

Contract liabilities consist of advance payments and billings in excess of revenue recognized. Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets are usually all current. If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our consolidated balance sheets.

The following table presents the changes in contract assets and contract liabilities (in thousands):

Three Months Ended

Year Ended

March 31, 2019

December 31, 2018

Contract

Contract

Contract

Contract

Assets

    

Liabilities

    

Assets

    

Liabilities

Balance at beginning of period

$

10,213

$

130,986

$

30,116

$

106,005

Change due to acquisitions

27

44

2,833

8,195

Change due to conditional versus unconditional

(1,954)

6,244

Reclassified to unbilled accounts receivable

(28,980)

Change in timing for performance obligation to be satisfied

(10,740)

16,786

Balance at end of period

$

8,286

 

$

120,290

$

10,213

$

130,986

In the first three months of 2019 and 2018, we recognized revenue of $105.6 million and $85.5 million related to our contract liabilities at January 1, 2019 and January 1, 2018, respectively.

We did not have any impairment losses recognized on our receivables or contract assets in the first three months of 2019 and 2018.

Remaining Performance Obligations

Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and excludes unexercised contract options. As of March 31, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was $1.14 billion. The Company expects to recognize revenue on approximately 85% of the remaining performance obligations over the next 12 months, with the

remaining recognized thereafter. Our service maintenance agreements are generally one-year renewable agreements. We have adopted the practical expedient that allows us to not include service maintenance contracts one year or less, therefore we do not report unfulfilled performance obligations for service maintenance agreements.

Leases

Leases

We lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations. Leases with an initial term of 12 months or less are not recorded on the balance sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense was not material to our financial statements and aggregated to $1.9 million in the first quarter of 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of March 31, 2019 was 4.1%. We recognize lease expense, including escalating lease payments and excluding lease incentives, on a straight-line basis over the lease term. Lease expense for the three months ended March 31, 2019 and 2018 was $5.6 million and $5.2 million, respectively.

The lease terms generally range from three to ten years. Some leases include one or more options to renew, with renewal terms that can extend the lease term. Our lease terms may include the exercise of lease renewal options when it is reasonably certain that we will exercise the option and it is at our sole discretion. The weighted average remaining lease term was 8.6 years at March 31, 2019.

A majority of the Company’s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the three months ended March 31, 2019 and 2018 was approximately $1.2 million and $1.1 million, respectively.

If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. On rare occasions we rent or sublease certain real estate assets that we no longer use to third parties.

The following table summarizes the lease asset and liabilities included in the consolidated balance sheet as follows (in thousands):

March 31,

2019

Lease right-of-use assets

$

70,316

Lease liabilities:

Other current liabilities

11,066

Long-term lease liabilities

62,028

Total lease liabilities

$

73,094

The maturities of lease liabilities are as follows (in thousands):

Year ending December 31—

2019 (excluding the three months ended March 31, 2019)

$

10,687

2020

12,508

2021

11,341

2022

9,410

2023

7,821

Thereafter

35,541

Total Lease Payments

87,308

Less—Present Value Discount

(14,214)

Present Value of Lease Liabilities

$

73,094

Supplemental information related to leases was as follows (in thousands):

Three Months Ended

March 31, 2019

Cash paid for amounts included in the measurement of lease liabilities

$

5,904

Lease right-of-use assets obtained in exchange for lease liabilities

$

174

Accounts Receivable

Accounts Receivable

Accounts Receivable, include amounts from work completed in which we have billed or have an unconditional right to bill our customers. The amounts due are stated at their net estimated realizable value. We maintain an allowance for doubtful accounts to provide for the estimated amount of receivables that will not be collected. The allowance is based upon an assessment of customer creditworthiness, historical payment experience, the age of outstanding receivables and collateral to the extent applicable.

Income Taxes

Income Taxes

We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items, such as tax law changes, judgments and legal structures can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions, accounting for losses associated with underperforming operations and noncontrolling interests.

Our provision for income taxes was reduced by $2.8 million in the first quarter of 2018 due to a decrease in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.

Financial Instruments

Our financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, life insurance policies, notes to former owners, leases and a revolving credit facility. We believe that the carrying values of these instruments on the accompanying balance sheets approximate their fair values.

Segment Disclosure

Segment Disclosure

Our activities are within the mechanical services industry, which is the single industry segment we serve. Each operating unit represents an operating segment and these segments have been aggregated, as the operating units meet all of the aggregation criteria.

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.19.1
Summary of Significant Accounting Policies (Tables)
3 Months Ended
Mar. 31, 2019
Summary of Significant Accounting Policies  
Schedule of disaggregation or revenue

Three Months Ended March 31,

Revenue by Service Provided

2019

2018

HVAC and Plumbing

$

481,990

89.5

%

$

424,017

91.2

%

Building Automation Control Systems

29,014

5.4

%

20,045

4.3

%

Other

27,469

5.1

%

20,879

4.5

%

Total

$

538,473

100.0

%

$

464,941

100.0

%

Three Months Ended March 31,

Revenue by Type of Customer

    

2019

    

2018

 

    

Industrial

$

168,660

31.3

%

$

100,100

    

21.5

%

Education

66,743

12.4

%

88,203

19.0

%

Office Buildings

66,212

12.3

%

69,120

14.9

%

Healthcare

92,023

17.1

%

63,183

13.6

%

Government

32,279

6.0

%

36,147

7.8

%

Retail, Restaurants and Entertainment

59,391

11.0

%

52,787

11.3

%

Multi-Family and Residential

30,235

5.6

%

33,052

7.1

%

Other

22,931

4.3

%

22,349

4.8

%

Total

$

538,473

100.0

%

$

464,941

100.0

%

Three Months Ended March 31,

Revenue by Activity Type

    

2019

2018

 

    

New Construction

$

223,961

41.6

%

$

185,282

39.9

%

Existing Building Construction

182,296

33.8

%

156,758

33.7

%

Service Projects

50,384

9.4

%

42,433

9.1

%

Service Calls, Maintenance and Monitoring

81,833

15.2

%

80,468

17.3

%

Total

$

538,473

100.0

%

$

464,941

100.0

%

Schedule of contract assets and liabilities

Three Months Ended

Year Ended

March 31, 2019

December 31, 2018

Contract

Contract

Contract

Contract

Assets

    

Liabilities

    

Assets

    

Liabilities

Balance at beginning of period

$

10,213

$

130,986

$

30,116

$

106,005

Change due to acquisitions

27

44

2,833

8,195

Change due to conditional versus unconditional

(1,954)

6,244

Reclassified to unbilled accounts receivable

(28,980)

Change in timing for performance obligation to be satisfied

(10,740)

16,786

Balance at end of period

$

8,286

 

$

120,290

$

10,213

$

130,986

Schedule of lease asset and liabilities

The following table summarizes the lease asset and liabilities included in the consolidated balance sheet as follows (in thousands):

March 31,

2019

Lease right-of-use assets

$

70,316

Lease liabilities:

Other current liabilities

11,066

Long-term lease liabilities

62,028

Total lease liabilities

$

73,094

Schedule of maturities of lease liabilities

The maturities of lease liabilities are as follows (in thousands):

Year ending December 31—

2019 (excluding the three months ended March 31, 2019)

$

10,687

2020

12,508

2021

11,341

2022

9,410

2023

7,821

Thereafter

35,541

Total Lease Payments

87,308

Less—Present Value Discount

(14,214)

Present Value of Lease Liabilities

$

73,094

Schedule of supplemental information related to leases

Supplemental information related to leases was as follows (in thousands):

Three Months Ended

March 31, 2019

Cash paid for amounts included in the measurement of lease liabilities

$

5,904

Lease right-of-use assets obtained in exchange for lease liabilities

$

174

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.19.1
Fair Value Measurements (Tables)
3 Months Ended
Mar. 31, 2019
Fair Value Measurements  
Summary of fair values and levels within the fair value hierarchy in which the fair value measurements fall for assets and liabilities measured on a recurring basis

The following table summarizes the fair values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of March 31, 2019 and December 31, 2018 (in thousands):

Fair Value Measurements at March 31, 2019

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

29,130

$

$

$

29,130

Life insurance—cash surrender value

$

$

3,446

$

$

3,446

Contingent earn-out obligations

$

$

$

6,939

$

6,939

Fair Value Measurements at December 31, 2018

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

45,620

$

$

$

45,620

Life insurance—cash surrender value

$

$

3,252

$

$

3,252

Contingent earn-out obligations

$

$

$

7,375

$

7,375

Schedule of reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)

The table below presents a reconciliation of the fair value of our contingent earn-out obligations that use significant unobservable inputs (Level 3) (in thousands).

    

    

Balance at beginning of year

    

$

7,375

 

Issuances

 

Settlements

(594)

Adjustments to fair value

 

158

Balance at March 31, 2019

$

6,939

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.19.1
Goodwill (Tables)
3 Months Ended
Mar. 31, 2019
Goodwill  
Schedule of changes in the carrying amount of goodwill

The changes in the carrying amount of goodwill are as follows (in thousands):

March 31,

December 31,

    

2019

    

2018

 

Balance at beginning of year

$

235,182

$

200,584

Additions (See Note 4)

 

678

 

34,598

Impairment adjustment

Balance at end of period

$

235,860

$

235,182

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.19.1
Debt Obligations (Tables)
3 Months Ended
Mar. 31, 2019
Debt Obligations  
Schedule of components of debt obligations

Debt obligations consist of the following (in thousands):

March 31,

December 31,

    

2019

    

2018

 

Revolving credit facility

$

51,000

$

50,000

Notes to former owners

26,150

 

26,813

Other debt

89

105

Total debt

77,239

 

76,918

Less—current portion

(2,755)

 

(3,279)

Total long-term portion of debt

$

74,484

$

73,639

Summary of additional margins

Consolidated Total Indebtedness to

 

Credit Facility Adjusted EBITDA

 

    

Less than 1.00

    

1.00 to 1.75

    

1.75 to 2.50

    

2.50 or greater

 

Additional Per Annum Interest Margin Added Under:

Base Rate Loan Option

0.25

%  

0.50

%  

0.75

%  

1.00

%

Eurodollar Rate Loan Option

1.25

%

1.50

%

1.75

%

2.00

%

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.19.1
Stockholders' Equity (Tables)
3 Months Ended
Mar. 31, 2019
Stockholders' Equity  
Reconciliation of number of shares outstanding with the number of shares used in computing basic and diluted earnings per share

The following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):

Three Months Ended

March 31,

    

2019

    

2018

 

Common shares outstanding, end of period

36,891

 

37,088

Effect of using weighted average common shares outstanding

32

 

104

Shares used in computing earnings per share—basic

36,923

 

37,192

Effect of shares issuable under stock option plans based on the treasury stock method

230

 

317

Effect of restricted and contingently issuable shares

81

 

119

Shares used in computing earnings per share—diluted

37,234

 

37,628

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.19.1
Business and Organization (Details)
3 Months Ended
Mar. 31, 2019
Installation of systems in newly constructed facilities  
Business and Organization  
Percentage of revenue attributable to services 41.60%
Maintenance, repair and replacement services  
Business and Organization  
Percentage of revenue attributable to services 58.40%
XML 34 R23.htm IDEA: XBRL DOCUMENT v3.19.1
Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) - USD ($)
$ in Thousands
Mar. 31, 2019
Jan. 01, 2019
New Accounting Pronouncements or Change in Accounting Principle    
Lease right-of-use assets $ 70,316  
Operating lease liability $ 73,094  
ASU 2016-02    
New Accounting Pronouncements or Change in Accounting Principle    
Lease right-of-use assets   $ 75,900
Operating lease liability   $ 75,900
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.19.1
Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2019
Mar. 31, 2018
Disaggregation of Revenue    
Revenue, Performance Obligation, Description of Payment Terms We typically invoice our customers with payment terms of net due in 30 days  
Receivable payment terms (in days) 30 days  
Revenue $ 538,473 $ 464,941
Percentage of revenue from contract with customer (as a percent) 100.00% 100.00%
Industrial    
Disaggregation of Revenue    
Revenue $ 168,660 $ 100,100
Percentage of revenue from contract with customer (as a percent) 31.30% 21.50%
Education    
Disaggregation of Revenue    
Revenue $ 66,743 $ 88,203
Percentage of revenue from contract with customer (as a percent) 12.40% 19.00%
Office Buildings    
Disaggregation of Revenue    
Revenue $ 66,212 $ 69,120
Percentage of revenue from contract with customer (as a percent) 12.30% 14.90%
Healthcare    
Disaggregation of Revenue    
Revenue $ 92,023 $ 63,183
Percentage of revenue from contract with customer (as a percent) 17.10% 13.60%
Government    
Disaggregation of Revenue    
Revenue $ 32,279 $ 36,147
Percentage of revenue from contract with customer (as a percent) 6.00% 7.80%
Retail, Restaurants and Entertainment    
Disaggregation of Revenue    
Revenue $ 59,391 $ 52,787
Percentage of revenue from contract with customer (as a percent) 11.00% 11.30%
Multi-Family and Residential    
Disaggregation of Revenue    
Revenue $ 30,235 $ 33,052
Percentage of revenue from contract with customer (as a percent) 5.60% 7.10%
Other    
Disaggregation of Revenue    
Revenue $ 22,931 $ 22,349
Percentage of revenue from contract with customer (as a percent) 4.30% 4.80%
New Construction    
Disaggregation of Revenue    
Revenue $ 223,961 $ 185,282
Percentage of revenue from contract with customer (as a percent) 41.60% 39.90%
Existing Building Construction    
Disaggregation of Revenue    
Revenue $ 182,296 $ 156,758
Percentage of revenue from contract with customer (as a percent) 33.80% 33.70%
Service Projects    
Disaggregation of Revenue    
Revenue $ 50,384 $ 42,433
Percentage of revenue from contract with customer (as a percent) 9.40% 9.10%
Service Calls, Maintenance and Monitoring    
Disaggregation of Revenue    
Revenue $ 81,833 $ 80,468
Percentage of revenue from contract with customer (as a percent) 15.20% 17.30%
HVAC and Plumbing    
Disaggregation of Revenue    
Revenue $ 481,990 $ 424,017
Percentage of revenue from contract with customer (as a percent) 89.50% 91.20%
Building Automation Control Systems    
Disaggregation of Revenue    
Revenue $ 29,014 $ 20,045
Percentage of revenue from contract with customer (as a percent) 5.40% 4.30%
Other    
Disaggregation of Revenue    
Revenue $ 27,469 $ 20,879
Percentage of revenue from contract with customer (as a percent) 5.10% 4.50%
Minimum    
Disaggregation of Revenue    
Payments received term (in days) 30 days  
Maximum    
Disaggregation of Revenue    
Payments received term (in days) 90 days  
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.19.1
Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2019
Mar. 31, 2018
Dec. 31, 2018
Contract Assets      
Balance at beginning of period $ 10,213 $ 30,116 $ 30,116
Change due to acquisitions 27   2,833
Change due to conditional versus unconditional (1,954)   6,244
Reclassified to unbilled accounts receivable     (28,980)
Balance at end of period 8,286   10,213
Contract Liabilities      
Balance at beginning of period 130,986 106,005 106,005
Change due to acquisitions 44   8,195
Change in timing for performance obligation to be satisfied (10,740)   16,786
Balance at end of period 120,290   $ 130,986
Revenue related to our contract liabilities 105,600    
Impairment losses $ 0 0  
Calculated under Revenue Guidance in Effect before Topic 606 [Member]      
Contract Liabilities      
Revenue related to our contract liabilities   $ 85,500  
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.19.1
Summary of Significant Accounting Policies - Remaining Performance Obligations (Details) - Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2019-04-01
$ in Millions
Mar. 31, 2019
USD ($)
Remaining Performance Obligations  
Remaining performance obligations $ 1,140
Expected percentage of remaining performance obligations 85.00%
Expected timing of performance obligations 12 months
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.19.1
Summary of Significant Accounting Policies - Service Maintenance Agreements (Details)
3 Months Ended
Mar. 31, 2019
Summary of Significant Accounting Policies  
The term of the renewable service maintenance agreements (in years) 1 year
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.19.1
Summary of Significant Accounting Policies - Leases (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2019
USD ($)
Option
Mar. 31, 2018
USD ($)
Lessee, Lease, Description [Line Items]    
Variable lease expense and short-term lease expenses $ 1,900  
Weighted average discount rate 4.10%  
Lease expense $ 5,600 $ 5,200
Weighted average remaining lease term 8 years 7 months 6 days  
Rent paid to related parties $ 1,200 $ 1,100
Existence of option to extend true  
Summary of lease asset and liabilities    
Lease right-of-use assets $ 70,316  
Lease Liabilities    
Other current liabilities $ 11,066  
Operating Lease, Liability, Current, Statement of Financial Position [Extensible List] Other Liabilities, Current  
Lease liabilities $ 62,028  
Present Value of Lease Liabilities 73,094  
Maturities of lease liabilities:    
2019 (excluding the three months ended March 31, 2019) 10,687  
2020 12,508  
2021 11,341  
2022 9,410  
2023 7,821  
Thereafter 35,541  
Total Lease Payments 87,308  
Less-Interest (14,214)  
Present Value of Lease Liabilities 73,094  
Supplemental information related to leases:    
Cash paid for amounts included in the measurement of lease liabilities 5,904  
Lease right-of-use assets obtained in exchange for lease liabilities $ 174  
Minimum    
Lessee, Lease, Description [Line Items]    
Lease term 3 years  
Number of options to renew | Option 1  
Maximum    
Lessee, Lease, Description [Line Items]    
Lease term 10 years  
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.19.1
Summary of Significant Accounting Policies - Income Taxes (Details)
$ in Millions
3 Months Ended
Mar. 31, 2018
USD ($)
Summary of Significant Accounting Policies  
Provision for income taxes $ (2.8)
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.19.1
Fair Value Measurements (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2019
USD ($)
item
Dec. 31, 2018
USD ($)
Fair Value Measurements    
Number of employees covered under life insurance policies | item 62  
Combined face value of life insurance policies $ 44,500  
Cash surrender value 3,400 $ 3,300
Contingent earn-out obligations    
Reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)    
Balance at beginning of year 7,375  
Issuances  
Settlements (594)  
Adjustments to fair value 158  
Balance at end of period 6,939  
Recurring basis | Total    
Fair Value Measurements    
Cash and cash equivalents 29,130 45,620
Life insurance-cash surrender value 3,446 3,252
Contingent earn-out obligations 6,939 7,375
Recurring basis | Quoted Market Prices In Active Markets for Identical Assets (Level 1)    
Fair Value Measurements    
Cash and cash equivalents 29,130 45,620
Recurring basis | Fair Value Measurements at Reporting Date Using Significant Other Observable Inputs (Level 2)    
Fair Value Measurements    
Life insurance-cash surrender value 3,446 3,252
Recurring basis | Significant Unobservable Inputs (Level 3)    
Fair Value Measurements    
Contingent earn-out obligations $ 6,939 $ 7,375
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.19.1
Acquisitions (Details)
3 Months Ended
Mar. 31, 2019
USD ($)
Sep. 30, 2018
item
Jun. 30, 2018
item
Mar. 31, 2018
item
Acquisitions        
Total purchase price | $ $ 1,600,000      
Number of acquisitions 1 2 3 2
Number of acquisitions reported as separate operating location | item   1    
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.19.1
Goodwill (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2019
Dec. 31, 2018
Changes in the carrying amount of goodwill    
Balance at beginning of year $ 235,182 $ 200,584
Additions (See Note 4) 678 34,598
Balance at end of period $ 235,860 $ 235,182
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.19.1
Debt Obligations (Details) - USD ($)
$ in Thousands
Mar. 31, 2019
Dec. 31, 2018
Debt Obligations    
Total debt $ 77,239 $ 76,918
Less-current portion (2,755) (3,279)
Total long-term portion of debt 74,484 73,639
Revolving credit facility    
Debt Obligations    
Total debt 51,000 50,000
Notes to former owners    
Debt Obligations    
Outstanding balance 26,150 26,813
Other debt    
Debt Obligations    
Total debt $ 89 $ 105
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.19.1
Debt Obligations - Other (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2019
USD ($)
item
Mar. 31, 2018
USD ($)
Dec. 31, 2018
USD ($)
Apr. 18, 2018
USD ($)
Apr. 17, 2018
USD ($)
Reconciliation of Earnings before Interest Tax Depreciation and Amortization to Net Income          
Net income $ 19,866 $ 16,659      
Provision for income taxes 6,933 2,074      
Stock-based compensation 3,176 $ 2,793      
Other disclosures          
Outstanding balance 74,484   $ 73,639    
Shoffner          
Other disclosures          
Outstanding balance 100        
Acquired debt $ 400        
London Interbank Offered Rate (LIBOR) | Shoffner          
Additional per annum interest margin added under:          
Additional per annum interest margin (as a percent) 2.25%        
Revolving credit facility          
Debt Obligations          
Outstanding borrowings $ 51,000        
Letters of credit amount outstanding 33,600        
Credit available $ 315,400        
Principal financial covenants          
Number of interest rate options | item 2        
Leverage ratio 0.4        
Fixed charge coverage ratio 22.6        
Number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for calculation of fixed charge coverage ratio | item 4        
Other disclosures          
Weighted average interest rate (as a percent) 3.70%        
Revolving credit facility | Through maturity          
Principal financial covenants          
Leverage ratio 3.00        
Revolving credit facility | Minimum          
Principal financial covenants          
Fixed charge coverage ratio 2.00        
Additional per annum interest margin added under:          
Letter of credit fees (as a percent) 1.25%        
Commitment fees payable on unused portion of the facility (as a percent) 0.20%        
Revolving credit facility | Minimum | Covenant Requirement          
Principal financial covenants          
Net leverage ratio used as basis for other restrictions 2.00        
Revolving credit facility | Maximum          
Principal financial covenants          
Net leverage ratio after giving effect to stock repurchases for calculation of the fixed charge coverage ratio 1.75        
Permitted amount of acquisitions per transaction $ 40,000        
Aggregate purchase price of current acquisition and acquisitions in the preceding 12 month period for determining permitted amount of acquisition per transaction $ 80,000        
Additional per annum interest margin added under:          
Letter of credit fees (as a percent) 2.00%        
Commitment fees payable on unused portion of the facility (as a percent) 0.35%        
Revolving credit facility | Maximum | Covenant Requirement          
Principal financial covenants          
Net leverage ratio used to determine exclusion of stock repurchases and the payment of dividends for calculation of the fixed charge coverage ratio 1.75        
Revolving credit facility | Maximum | Stock Repurchases After February 22, 2016 And On Or Before December 31, 2017          
Principal financial covenants          
Amount of stock repurchases to maintain maximum net leverage ratio $ 30,000        
Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00          
Additional per annum interest margin added under:          
Additional per annum interest margin (as a percent) 0.25%        
Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75          
Additional per annum interest margin added under:          
Additional per annum interest margin (as a percent) 0.50%        
Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50          
Additional per annum interest margin added under:          
Additional per annum interest margin (as a percent) 0.75%        
Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater          
Additional per annum interest margin added under:          
Additional per annum interest margin (as a percent) 1.00%        
Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00          
Additional per annum interest margin added under:          
Additional per annum interest margin (as a percent) 1.25%        
Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75          
Additional per annum interest margin added under:          
Additional per annum interest margin (as a percent) 1.50%        
Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50          
Additional per annum interest margin added under:          
Additional per annum interest margin (as a percent) 1.75%        
Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater          
Additional per annum interest margin added under:          
Additional per annum interest margin (as a percent) 2.00%        
Amended senior revolving credit facility          
Debt Obligations          
Borrowing capacity       $ 400,000 $ 325,000
Line of credit borrowing capacity accordion option $ 100,000        
Notes to former owners          
Other disclosures          
Cumulative number of companies acquired | item 6        
Outstanding balance $ 26,150   $ 26,813    
Subordinate note | Acquisition First Quarter 2018 [Member]          
Other disclosures          
Outstanding balance $ 500        
Weighted average interest rate (as a percent) 2.50%        
Subordinate note | Acquisition Second Quarter 2018 [Member]          
Other disclosures          
Outstanding balance $ 1,000        
Weighted average interest rate (as a percent) 3.50%        
Promissory note | BCH          
Other disclosures          
Outstanding balance $ 14,300        
Weighted average interest rate (as a percent) 3.00%        
Promissory note | Acquisition First Quarter 2019 [Member]          
Other disclosures          
Outstanding balance $ 400        
Weighted average interest rate (as a percent) 3.00%        
Promissory note | Acquisition Third Quarter 2018 [Member]          
Other disclosures          
Outstanding balance $ 6,500        
Weighted average interest rate (as a percent) 3.50%        
Promissory note | Acquisition Two Third Quarter 2018 [Member]          
Other disclosures          
Outstanding balance $ 3,500        
Weighted average interest rate (as a percent) 2.90%        
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.19.1
Commitments and Contingencies - Other and Bonds (Details) - Surety
3 Months Ended
Mar. 31, 2019
Minimum  
Surety  
Percentage of business which has required bonds 20.00%
Maximum  
Surety  
Percentage of business which has required bonds 30.00%
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.19.1
Stockholders' Equity - Incentive and Other (Details) - USD ($)
$ / shares in Units, $ in Thousands, shares in Millions
3 Months Ended 144 Months Ended
Mar. 31, 2019
Mar. 31, 2018
Mar. 31, 2019
Aug. 10, 2018
Mar. 29, 2007
Share Repurchase Program          
Share repurchase $ 3,321 $ 4,293      
Stock Repurchase Program 2007          
Share Repurchase Program          
Number of shares of outstanding common stock authorized to be acquired under a stock repurchase program 8.8   8.8 0.7 1.0
Share repurchase (in shares) 0.1   8.3    
Average price (in dollars per share) $ 49.27   $ 16.51    
Share repurchase $ 3,300        
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.19.1
Stockholders' Equity - Anti-Dilutive Stock Options (Details) - shares
shares in Millions
3 Months Ended
Mar. 31, 2019
Mar. 31, 2018
Stock Options | Maximum    
Earnings Per Share    
Anti-dilutive securities excluded from computation of earnings per share amount (in shares) 0.1 0.1
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.19.1
Stockholders' Equity - Number of Shares (Details) - shares
shares in Thousands
3 Months Ended
Mar. 31, 2019
Mar. 31, 2018
Reconciliation of the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share    
Common shares outstanding, end of period 36,891 37,088
Effect of using weighted average common shares outstanding 32 104
Shares used in computing earnings per share-basic 36,923 37,192
Effect of shares issuable under stock option plans based on the treasury stock method 230 317
Effect of restricted and contingently issuable shares 81 119
Shares used in computing earnings per share-diluted 37,234 37,628
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.19.1
Subsequent Events (Details) - Subsequent Event - Walker
Apr. 01, 2019
USD ($)
Subsequent Events  
Purchase price paid in cash $ 178,000,000
Promissory note payable 25,000,000
Number of equal installments 2
Installment amount on third and fourth anniversaries 12,500,000
Purchase price advance $ 20,500,000
EXCEL 51 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( -*$F4X?(\\#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+,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C M-R."?S]PN -02P,$% @ TH293B?HAPZ" L0 ! !D;V-0&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 " #2A)E.ULP5O^\ K @ $0 &1O8U!R;W!S+V-O M&ULS9+/3L,P#(=?!>7>NG]@0-3E N($$A*30-PBQ]LBFB9*C-J]/6W9 M.B%X (ZQ?_G\67*#0:*/]!Q]H,B6TL7@VBY)#&NQ9PX2(.&>G$[YF.C&YM9' MIWE\QAT$C1]Z1U 5Q0HUW-NW*&$ MMZ?'EWG=S':)=8&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T M$W-I=MNTF83M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY M\^XN8NB&B)3R> +]O6N[!3+UES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4? M,_@5RU2-9:,!$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA M5,+$P&IG/U9KQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M M&N#C\7@XMLO2BW A(5M>5 TR 6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T M1G*=D 4. #?$T4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH]5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J M-2S%UGB5P/&MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2. MFJW"$2M"/F(9-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$. M$9)>-T(^8LZ+D!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]07 M2N0/)J<_Z3(T!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL! M_]':-\*K^(+ .7\N?<^E[[GT/:'2MSAD M6R4)RU3393>*$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W MF)&Y"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>( M\J(A[J&&F,_#0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R M4E5@,5O& RN0HGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K> M9;'!51W/55ORL+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4X MOT4SMA*7&+SCYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5 MYYN MTB42%(JP# 4A%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+ MA=OB5,V[&KXF8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'YA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> , M?-2K6J5D*Q$_2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H: M,]6+K#F-"F]!U4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ M 5!+ P04 " #2A)E.IGW"T6T" #:" & 'AL+W=OLH?*)=ZS5 M=ZY<-%3IK;@AV0E&+Y;4U(A$488:6K5AD=NSHRAR?E=UU;*C".2]::CXO6<&8)% M_*A8+V?KP)1RXOS5;#Y?MF%D,F(U.RL3@NK+@QU879M(.H]?8]!PTC3$^?H] M^D=;O"[F1"4[\/IG=5'E-ER'P85=Z;U6+[S_Q,:"TC 8J__"'JS6<).)UCCS M6MK?X'R7BC=C%)U*0]^&:]7::S_<2?!(@PED))")0)+_$N*1$$\$; EHR,R6 M^H$J6N2"]X$8W.JH>2GP^+1R;\"!Q\1PP(Q6$%LZ?&,GL#T!*0GEI[,Z*GS 'Q$!@NDH$#J MT5>.@(]8PP(9*)!Y](TCX"-P!"NL0(65S\>.! AL,0:E%C[_-B1 " +3F] MB8W/=ZT&( M>XPANI\B/X-H-818,QPM-B_T(KN< ABR8CL'.W6'B1W!MAS + MOF.X?7'L1W"=AS +UF.XR['?Q,0U'\ L^@*W.O8[F62NBH]95('['?OM3)QW M[#!B4HMIAS_5;!,EJ=VU$C.QL9+E M2DJ\??M2LF,X,\/L32PI9\@S)/5IR-6IZ[\-NQC'Q?>V.0SWR]TX'N^*8GC< MQ;8>/G7'>$C_>>KZMA[3;?]<#,<^UMLYJ&T*5,H5;;T_+->K^=GG?KWJ7L9F M?XB?^\7PTK9U_]\F-MWI?@G+MP=?]L^[<7I0K%?'^CG^%<>OQ\]]NBNNK6SW M;3P,^^ZPZ./3_?)GN*MT.07,BK_W\33<7"^F5!ZZ[MMT\_OV?JDF1[&)C^/4 M1)U^7F,5FV9J*?GX]]+H\MKG%'A[_=;ZKW/R*9F'>HA5U_RSWXZ[^V58+K;Q MJ7YIQB_=Z;=X2<@N%Y?L_XBOL4GRR4GJX[%KAOGOXO%E&+OVTDJRTM;?S[_[ MP_Q[NK3_%B8'X"4 KP%@/@S0EP!- HJSLSG57^JQ7J_Z[K3HS[-UK*=% 7;C]' >N_E_*=LA/7U=8U@5KU,[%\GF+,%;R7M%)2C*JZ1(_5]-H&@"YWA] M$Z^5'*_%>#W'F]MX($F<)6Z6'"X6X::7C'<"QFNS5EB;WLQ M'DLR[I4@"Z"=D]U8T8WE;C1Q8UDW.AA'5)6@\A R(^-$+XY[,<2+8[U ZH;, M926HG'8@>_&B%\^]6.+%\UZP5'22))6!S!P%T4O@7ASQ$E@OWG@BJKC(66-D M)Z7HI.1./'%2LDX"!NJ$BT A:-D**!E,BIMA9%*L(VL]>L8GKG.J]"JS?"&# M2N".2NH(I-2]-]01UY6E@Y Q)&,3D!DRBAI"OG24SBU0D/D*'+"& O:BN>T( MM0V.(E;60<",(YFRP#%K*&:! [0$Y2G9))E%;S-^9,X"!ZVAH 7.4/ F6.I' MDCF=>9%!9BUPV!H*6^ @?,91S(OD?/24%XBYZ"S0+_%E2 +7H<,+C%397)<6HI+Y+@$5.F[3PT) M.JW*D%E!*',5.5P/1.^] MR'#4'(Z.HDASZ/U4*O#,CJ +:=>26W,R'#6'HZ,PTIQZ&DI7,D>2SIE<4:1E M/&J.1T>II3D>IP\5'8+.E,&E9TU MF:6:L]0Q=ITUMP=CQWEYOFO@T3I<^7??GD]KSS=@=+Z?0Q?4H?/T_4$L#!!0 ( -*$ MF4[?IJB#6P( #H( 8 >&PO=V]R:W-H965T&ULC99O MKYHP%,:_"N$#2,M_#)),EV5+ML3<9=OKJE7(!F0?3/%M>DW[C0?5]XJ2XEEPM> MD7?H@K]C_J/;4S'SIBBGJL$MJTCK4'S>N!_@>@>502E^5KAGL[$C2SD0\BHG M7TX;%T@B7.,CER&0N-SP#M>UC"0X?H]!W2FG-,['[]$_J>)%,0?$\([4OZH3 M+S=NZCHG?$;7FK^0_C,>"XI<9ZS^*[[A6L@EBZ?NB6J96+T5<99[-QEGE&P'B3^3^$O%SJ+X%\03^2<(WPKA*W\P M\R? [@^L_D#YP[D?:D4,DEA)6B6)TCC2ZK")LM1.$EI)0I-$VZSM($EF2< * M:+B[!Z(%260EB4R20",9)-&\7* ^&LQCW8(GMO+$)D^H\<1&'IWDGF+!D%@9 M$I-!>P2VR4.&>XH%0VIE2$V&6&-(GWE"'H@6))F5)#-)$HTD,VJ%P,_B+(-Z M"WA&N6""P-Z/@$F5Z@T)&,E""/T@,%[H9Y1+JO]T26A2&6T2FKG\P ]AJD/9 MA&*OHD!C\F9-7)ZJWQ"]5"US#H2+\T!U[3,A'(N@8"7"E>(@GR8U/G,Y3,28 M#J?9,.&D&T]J;_J[4/P%4$L#!!0 ( -*$F4[>P*@)D0, "8/ 8 M>&PO=V]R:W-H965T&UL?9=MCZ,V$,>_"N+]'1Z;)Z^22!M. MIU9JI=55;5^SB9.@ YP"V5R_?9R"FCJ20J114U9M MN-M,8R_=;F-O0UVUYJ4+^EO3E-V_>U/;^S:$\'W@6W6^#.- M-M"IF, 9/BK\K<^]5Y,);R:NWW\>+7XS84 MHR-3F\,P3E&ZPYLI3%V/,SD?_RR3AH^<8^#Z_'WVKU/QKIC7LC>%K?^NCL-E M&^9A<#2G\E8/W^S]%[,4E(3!4OUOYLW43CXZ<3D.MNZGW^!PZP?;++,X*TWY M8SY6[72\+_._A_$!<@F0CP!(_C= +0'J9T \%3\[FTK]4@[E;M/9>]#-JW4M MQTT!3\K=S,,X.-V[Z3]7;>]&WW:YV$1OXSR+9#]+Y$H"#T7D)G]DD%R&O23A M\F."@BIR3P;%UJ"F>+6.EWQ\S,;'4WR\CE?H'LR2=)*TDR11>9PA64%E<1KK MV%--PKI)J)L8N9DER3J-@ESDR V5J2S)\YQWD[)N4NHF06Y2D@9$FJ9(5E!9 MKD6B>#,9:R:C9E)D)B-9LC$-\L*HA) >+SGK):=>,N0E)UD^2=#("BOR;!C- M.M'4"=H)>TV2R$QGV I5@9:^S0N"YXF@#Z/VS. A$I!Z-$$2T(+P&C,:B#U. M6'(]@Z1. #N1=/W<]L>(XV09>#8<\)@#1>U(;$&8"A:;& MT%PT']-@*U2C/( "GI= @:DQ,(&B\!, ?M,5G"P1/CL\,($24V-B F6A3#.- MGT=&!GFF? O%,Q,H-#6&)E >IEKAEQNCDB+S/5(\-8%B4V-L+IKT X?R-,5V M&)E[Z_A@P[,3-,&5]JRWY($G!:T(+>1^T60KJ^)S@C9IP:KBQ..&AZ>D\ 2! MZ;F(D!V\W*PJ]BRWY DJ);F]('Q?CSSU)$,]? MI.!C[C!#M4PJLN*<+)6^#N-'JTQKO_ %!+ P04 M" #2A)E.6F.!-P % #I& & 'AL+W=O%F.JV>-FZ75=^*@]LW M_WDNREU6-X?ER[0ZE"Y;=XUV^92B2$]WV78_GL^ZR0O;@_7?W7X:%LCJ;G*NOMSNVK;;$? ME>[Y=OR+NEFQ;1MTBK^W[EA=?!^U0WDLBA_MP6_KVW'4.G*Y>ZK;$EGS\>86 M+L_;2HV/?_NBXW.?; M'']U_8"2\:@?_>_NS>6-O'72]/%4Y%7W=_3T6M7%KJ_26-EE/T^?VWWW>>SK MOS?##:AO0.<&BC]MP'T#_FB0?-H@[AO$YP:4?MH@Z1LD'SV83QOHOH'^:'!: MC]-D=;._S.IL/BN+XZ@\74"'K+U.U8UNUO>I/=DM9_>_9@&JYNS;7$4\F[ZU MA7K-W4E#GB;V-0ND27S-$FFTK[E'FM37K)#&G#739KSG01,<-'4%8J^ %8,^ M:72GV7>:6"DQZ% ST9PH46H9REA1:L04WHTI@3TE7A;V>!@IH6$ #JR36 M2 =6E=:)7*)K*L],"LVD8#2,"QA8P(#1R)O6A!#.5YA2"F"*(KGD(:>4,9$<^165;P>C3"7 CKBV[GN1-_)F5PE6XIK,-X31 MJ ;B>12:+ =JC21AD(Z^C+?$,:C2H$AEH92<&TD46R&+@Y,4@502@*E=RID M:9@7@&BB+6A+FYVUR%&*PQI!2A-B9R'$-.? MQP;"I"9 :MG9@D*\3N*($](#B"6,6 *(E1OA72^ZD@A#T<2D:2Q6;DDAKUGI M.!5XNP0*<#R(GA0!7UFC)^5ZF!V6^((P#?4K0"(A,-[+:$^4XH*@>H 0A5EX_*?D^8 MH(1RKHR?O\5@SSLR7Q# MF).,\K",GXR";LIV:#$P3QDE77%7W''(TS"; -'$1BJ5W 4Z5E;;X H(=62: M[!5,';_@CP1U:^;/?5Z+&HZV+7O=%]+HK:-46C;TVYCOI\.ZN+0_[ P/?^Z,?\?4$L#!!0 ( -*$F4YNO#BTW00 &P8 M 8 >&PO=V]R:W-H965T&UL?9G=;N,V$(5?Q?"]U^(, M24F!8R!V4;1 "P1;M+U6;"8V5K)<28FW;U])=KSVS&%OHA\?DF=$\N.069SJ MYEN["Z&;?*_*0_LXW77=\6$^;S>[4!7ME_H8#OTOKW53%5W_V+S-VV,3BNU8 MJ"KGE"1^7A7[PW2Y&-\]-\M%_=Z5^T-X;B;M>U45S;^K4-:GQZF9?K[XNG_; M=<.+^7)Q+-["'Z'[\_C<]$_S:RW;?14.[;X^3)KP^CA],@]KRT.!4?'7/IS: MF_O)$,I+77\;'G[=/DZ3P5$HPZ8;JBCZRT=8A[(<:NI]_'.I='IM_]9 M^\]C\'TP+T4;UG7Y]W[;[1ZGV72R#:_%>]E]K4^_A$M ;CJY1/];^ AE+Q^< M]&ULZK(=_TXV[VU75Y=:>BM5\?U\W1_&Z^E2_VA:H&_[_PKPI0#_ M*&#'X,_.QE!_*KIBN6CJTZ0Y]]:Q& :%>>#^8VZ&E^.W&W_KHVW[MQ]+P\EB M_C%4=-&LSAJZU5P5\[[V:Q.$FEB1*D[W#:RU(HNTP# ('LOS71"1"BRLP(X5 MV-L*C#"Y.FO\J#F<-7GFO0@%J+QW.3;CH!D'HB%<@8<5>!T-LXCFK'$W/FV6 M&Q&,%G%&*;:20BLIL&*%E52UXC+I=PU$UC"VDD$K&;#BA)5,M4)2LP8:'QEL M.322 R-B&*URU8BQN3"B-9FW&79B$CS[$^ EE=,_40WELEETHP6S8R+C%R#^698?QM2E&8] M6TVJ.DJK*,UC=C MC06$BB#.8,89IR.R*B('^2-7#R";L;,19!K,3*.AJ>A@ M- ]G5HZ*-5(YCE#38&P:P$UKI!W-Q!DEF20GD#%G,4Y@=AH 3ZNF@R:C3^62 M D2S+/$N8@<3U "$6KG"&F,\SXRR0D#D#0 G9R@A-B6I'(BKY&.8M AS$ "#+1RV21-MQDY MI_)-(,L3'^LS3$$"2:.5:^=%=+*).. M%0&Z99FU,B0$01>C#F$*$J"@'H, ;RZ5=H#(QV8Y1B !!#J)9 )TZ[)6J" IDQN8WMPC (&8 PENDP!B$#$#JY86 - M.&<3%12047(KNS>$,<@:@\9),C/@FV/@".:"<4N1W2X@H9,D9( XD\BM_1K) MG(W,#,8@9 !".0-7K!G7)VF)3$^1C-(L9@BSD$%R27)F,,H:F22;D]A#P#8)*+ M31O,2P:\E.G@B@$(7:RW+<:@!9MJKTZ3](9YEGK5W4C&Q#%#&*H60-7+=-FB MK-';7'8YU)G>4\02QJH%6/62\U;CTCHO-[YK(&,?W?]9#%4+H.HEYR^BV],] MRM5YZ1K)'*GE?7YS1EN%YFT\SFXGF_K]T VGH3=OKT?F3S2<\8KW*_.P/A]\ M_ZCF? [_>]&\[0_MY*7NNKH:SWE?Z[H+O&PO=V]R:W-H965T&UL?5-A;]L@$/TKB!]0$I*E561;:EI- MF[1)4:=MGXE]ME&!\P#'W;\?8-?S-J]?@#ONO7MW'-F ]MFU )Z\:&5<3EOO MNR-CKFQ!"W>#'9AP4Z/5P@?3-LQU%D250%HQOMD:V%_GD#AD-,M?74\R:;UT<&*K!,-? '_M3O;8+&9I9(:C)-HB(4ZI_?; MXVD?XU/ -PF#6YQ)K.2"^!R-CU5.-U$0*"A]9!!AN\(#*!6)@HP?$R>=4T;@ M\OS*_C[5'FJY" MY1,A7_":Z@0GA4$G*4 MJ%Q:2=D[CWIB"5*T>!EW:=(^C#?\,,'6 7P"\!EPE_*P,5%2_BB\*#*+ [%C M[SL1GWA[Y*$W972F5J2[(-X%[[78'@X9NT:B*>8TQO!ES!S! ON<@J^E./%_ MX'P=OEM5N$OPW7\4_D&P7R78)X+]FR6NQ=S^E80M>JK!-FF:'"FQ-VF2%]YY M8.]Y>I/?X>.T?Q:VD<:1"_KPLJG_-:*'(&5S$T:H#1]L-A34/AYOP]F.8S8: M'KOI!['Y&Q>_ %!+ P04 " #2A)E.B&F+;[4! #2 P & 'AL+W=O MN#@Q59QQOX!OY[=[)HL9FE$@JT$T83"W5.;[>'8QKB M8\ / 8-;G$FHY&S,4S"^5CG=!$$@H?2!@>-V@3N0,A"AC%\3)YU3!N#R_,K^ M.=:.M9RY@SLC?XK*MSG=4U)!S7OI'\WP!:9Z/E R%7\/%Y 8'I1@CM)(%U=2 M]LX;-;&@%,6?QUWHN _C3;J;8.N 9 (D,V ?\[ Q453^B7M>9-8,Q(Z][WAX MXNTAP=Z4P1E;$>]0O$/OI=A>[S-V"413S'&,298QQTE>>.>!O4WB MF_P)'Z?]@=M&:$?.QN/+QO[7QGA *9LK'*$6/]AL2*A].-[@V8YC-AK>=-,/ M8O,W+GX#4$L#!!0 ( -*$F4X15\:.L@$ -(# 8 >&PO=V]R:W-H M965T&UL?5-A;]P@#/TKB!]0]P?&7-F"%N[* M]-#A36VL%AY-VS#76Q!5!&G%>))<,RUD1XLL^DZVR,S@E>S@9(D;M!;VUQ&4 M&7.ZHZ^.!]FT/CA8D?6B@>_@?_0GBQ9;6"JIH7/2=,1"G=.[W>&8AO@8\%/" MZ%9G$BHY&_,4C"]53I,@"!24/C (W"YP#TH%(I3Q/'/2)64 KL^O[)]B[5C+ M63BX-^I15K[-Z2TE%=1B4/[!C)]AKN<#)7/Q7^$""L.#$LQ1&N7B2LK!>:-G M%I2BQ S@"^ VYB'38FB\H_"BR*S9B1VZGTOPA/O#AQ[ M4P9G;$6\0_$.O9=B=Y-D[!*(YICC%,/7,4L$0_8E!=]*<>1_P?DV?+^I^+9*N>:K!-G"9'2C-T<9)7WF5@[WA\DS_AT[1_ M$[:1G2-GX_%E8_]K8SR@E.0*1ZC%#[88"FH?CC=XMM.8388W_?R#V/*-B]]0 M2P,$% @ TH293CT"5NZR 0 T@, !D !X;"]W;W)K&UL?5-AC]0@$/TKA!]P[-+5NVS:)K=GC"::;,[H?6;;:4L.F IT M>_Y[@?9JU>H78(9Y;]X,0SZB?78=@"Z" M>!>\UW)_RW-VC41SS&F*X>N8)8(%]B4%WTIQXG_!^38\VU28)7CV#X6_$1PV M"0Z)X/#?$K=BLC^2L%5/-=@V39,C%0XF3?+*NPSL/4]O\BM\FO;/PK;2.')! M'UXV];]!]!"D[&[""'7A@RV&@L;'XVTXVVG,)L-C/_\@MGSC\B=02P,$% M @ TH293CUG!V&S 0 T0, !D !X;"]W;W)K&UL?5/;;IPP$/T5RQ\0[[*D25> E$U5I5(CK5(U??;" %9\(;99DK_OV!!* M&](7VS,^<^;,>)P-QCZY%L"3%R6URVGK?;=GS)4M*.XN3 <:;VIC%?=HVH:Y MS@*O8I"2+-EL/C'%A:9%%GU'6V2F]U)H.%KB>J6X?3V -$-.M_3-\2":U@<' M*[*.-_ #_,_N:-%B,TLE%&@GC"86ZIS>;/>'-. CX%' X!9G$BHY&?,4C&]5 M3C=!$$@H?6#@N)WA%J0,1"CC>>*D<\H0N#R_L7^-M6,M)^[@ULA?HO)M3J\I MJ:#FO?0/9KB#J9Y+2J;BO\,9),*#$LQ1&NGB2LK>>:,F%I2B^,NX"QWW8;SY M/$6MXY,)G\SXZYB&C7FB\"_<\R*S9B!V;'W'PPMO]PFVI@S.V(EXA]H=>L_% M]BK-V#D039C#B$F6F!G!D'U.D:RE."3OPI/U\-VJPET,WWV@\"^"=)4@C03I M?TMJK -G&8'"E-K^,@+[SSO-XD\4W^P,=AO^>V$=J1D_'XLK'_ MM3$>4,KF B>HQ?\U&Q)J'XY7>+;CE(V&-]WT@=C\BXO?4$L#!!0 ( -*$ MF4YMAKM+LP$ -(# 9 >&PO=V]R:W-H965TO&AE7$Y;[[LC8ZYL00MW@QV8<%.CU<('TS;,=19$E4!: M,;[9W#(MI*%%EGQG6V38>R4-G"UQO=;"_CR!PB&G6_KJ>))-ZZ.#%5DG&O@" M_FMWML%B,TLE-1@GT1 +=4[OM\?3/L:G@&\2!K,P.7YE?U]JCW4$V8]=( M-,6K"G<)OON/PC\(]JL$^T2P?[/$M9C# M7TG8HJ<:;).FR9$2>Y,F>>&=!_:>IS?Y'3Y.^V=A&VD/Q$,YV'+/1\-A-/XC-W[CX!5!+ P04 " #2A)E.VT]K MBK,! #2 P &0 'AL+W=O\9PS9\;C M;+#NV;< @;QH97Q.VQ"Z(V.^;$$+?V<[,'A36Z=%0-,US'<.1)5 6C&^V;QF M6DA#BRSYSJ[(;!^4-'!VQ/=:"_?C!,H..=W2F^-)-FV(#E9DG6C@,X0OW=FA MQ6:62FHP7EI#'-0Y?=@>3_L8GP*^2AC\XDQB)1=KGZ/QHA5>++#>YCJ M>47)5/Q'N(+"\*@$.O2FC,[4BW:%XC]YKL;T_9.P:B::8TQC# MES%S!$/V.05?2W'B?\'Y.GRWJG"7X+M_*/R-8+]*L$\$^_^6N!;SYH\D;-%3 M#:Y)T^1):7N3)GGAG0?V@:(]G-X[9: 3;33^(S=^X^ E02P,$% @ TH293JC\)T:T 0 MT@, !D !X;"]W;W)K&UL=5-A;]P@#/TKB!]0 M$NZZG4Y)I%ZG:I,VZ=1IVVWXV)AO1/-D6 MP)%GK3J;T]:Y_LB8+5O0PMY@#YV_J=%HX;QI&F9[ Z**(*T83Y(/3 O9T2*+ MOK,I,AR GQ)&NSJ34,D%\2D87ZJ<)D$0*"A=8!!^N\(]*!6( MO(S?,R==4@;@^OS"_A!K][5N8)8)Y M]B4%WTIQXO_ ^39\MZEP%^&[_RA\0[#?)-A'@OT;@O1=B5LQ[U6R54\UF"9. MDR4E#EV$#Y332N+^F1D@9:/DKWB--[2/6\HB05_Q%N('UX M4.)SU"AM7$D]6HU,$96Q'OO'CKO;=J?SP4[!:(4LQYCLG6,4L$\^Q+BFPK MQ3G["YYMPP^;"@\1?OB'PM\(\DV"/!+D_RUQ*R;_(PE;]52!Z>(T65+CJ.,D MK[S+P-YG\4U^A<_3_HF;3FA+KNC\R\;^MX@.O)3=G1^AWG^PQ9#0NG!\X\]F M'K/9<#BD'\26;US]!%!+ P04 " #2A)E.O!O#ZB4" $!P &0 'AL M+W=O<'V>G9FUXO762?5FZX 3/ N>*/SL#*F MW1*BRPH$TT^RA<;NG*42S-BENA#=*F G[R0XH5&T(H+535ADWG9012:OAM<- M'%2@KT(P]6N%2.4KZYQ==3'D8N(N!0&D?!['"#9^#<,=DX?@^D MX:CI'*?S#_;//GF;S)%I>);\5WTR51ZF87"",[MR\R*[+S DE(3!D/TWN &W M)U2@EU_X;E%=MI!A8;"B"O?=CW?BQZW>2Y>"&.]#!@8X.J=%CR/\!D4(Q;ST*.A![>,'-S6^H[#-=ZZ#@1Z4/T:OZRZF",7\!T!! M\S^ 3)J0 '7Q[5<'I;PVOO=/K&.+W_D.3_[!^_?A.U.7NM'!41K;"GW#.DMI MP,82/=E[5=DG:5QP.!LW7=NYZOMROS"R'=X<,CY\Q5]02P,$% @ TH29 M3IX:XN?N 0 9@4 !D !X;"]W;W)K&UL=51A M;YLP$/TKR#^@!A(2%@%2TZK:I$V*.JW[[, 14&W,;"=T_WZVH8RQZQ?L.[][ M[\[F+AND>M4-@ G>!.]T3AIC^@.ENFQ ,'TG>^CL22V58,::ZD)UKX!5/DAP M&H?AC@K6=J3(O.^DBDQ>#6\[.*E 7X5@ZO<1N!QR$I%WQW-[:8QST"+KV06^ M@_G1GY2UZ,Q2M0(ZWNDK.4K\[X4N4D= D! MA](X!F:7&SP YX[(IO%KXB2SI M<[M_9GWSMMI8ST_ @^<^V,DU.4A)44+,K M-\]R^ Q3/0D)IN*_P@VXA;M,K$8IN?;?H+QJ(\7$8E,1[&UY[YIXX.L3V;DKG]%?ASVSRVGIO11QN M,WIS1!/F.&+B!2::$=2RSQ(Q)G&,_PN/\? -FN'&AV^6ZKL4)]BB!%M/L/VG MQ&15(H;9X2()*I(@!/N5"(;YH)(=*K)#"#ZM1!!,%.(B>U1DCQ!$*Q$,\\&C MIJA(BA!L5B(89KL2H8O_7("Z^ [702FOG9\N"^\\1.YCWR=_X>,$^L;4I>UT M<);&=IOOB5I* S:5\,X^76.'WFQPJ(W;[NU>C:T_&D;VTU2C\V@M_@!02P,$ M% @ TH293DYM[\O" 0 -P0 !D !X;"]W;W)K&UL;53M;N,@$'P5Q ,4F\1-+[(M-:VJGG25HIZN]YO8ZP\5C LX;M_^ M #L^7XX_@5W/SLP"FW24ZETW 9]"M[I##?&]'M"=-& 8/I&]M#9+Y54@AD; MJIKH7@$K?9'@A$;1+1&L[7">^MQ1Y:D<#&\[."JD!R&8^CH EV.&8WQ)O+9U M8UR"Y&G/:O@)YE=_5#8B"TO9"NAT*SNDH,KP?;P_) [O 6\MC'JU1ZZ3DY3O M+OA>9CARAH!#81P#L\L9'H!S1V1M?,R<>)%TA>O]A?W)]VY[.3$-#Y+_;DO3 M9/@.HQ(J-G#S*L=GF/M),)J;_P%GX!;NG%B-0G+M?U$Q:"/%S&*M"/8YK6WG MUW'FOY2%"^A<0*\*R"3DG3\RP_)4R1&IZ>Q[YJXXWE-[-H5+^J/PWZQY;;/G MG,9)2LZ.:,8<)@Q=8>(%02S[(D%#$@?Z7SD-EV^"#C>^?+-6WT5A@FV08.L) MMO^T>'O58@BS"XLD09$D0'!W)1+"?+L2(:N+$Z!J_V0U*N30^7%999>IN*?^ MXO_"IY%Z8:IN.XU.TMCGXR^YDM* M1+=6"^-G>(EX% 9M]W9O9K>\A08V<]C M2I;_BOP/4$L#!!0 ( -*$F4Z/\/K;M@$ -(# 9 >&PO=V]R:W-H M965T-"VQO0%61Y 4A";)-R(95[C,H^]DREP/3G %)X/L("4S_XX@ M]%C@%+\['GG;N> @9=ZS%I[ _>Y/QEMD8:FY!&6Y5LA 4^#;]'#,0GP,^,-A MM*LS"I6J"^ M-U5PQE;$.R_>>N^EI#3)R240S3''*8:N8M(E@GCV)07=2G&D_\'I-GRWJ7 7 MX;MU]NMLFR#;),@B0?:IQ/1+B5LQ7U6254\EF#9.DT65'E2.U_YLIC&;#*?[^0>1 MY1N7;U!+ P04 " #2A)E.3#CSJ<4! W! &0 'AL+W=O-FIR>TW3)FVRN:;M9U9' M)0=B =?KOR^@9^V6+\(,;]Z;81CS2>E7TP%8]"9%;PK<63N<"#%5!Y*9!S5 M[TX:I26SSM0M,8,&5H<@*0C=[0Y$,M[C,@^^BRYS-5K!>[AH9$8IF?Y]!J&F M N_QN^.%MYWU#E+F VOA&]COPT4[BZPL-9?0&ZYZI*$I\-/^=,X\/@!^<)C, M9H]\)5>E7KWQN2[PSB<$ BKK&9A;;O ,0G@BE\:OA1.ODCYPNW]G_QAJ=[5< MF8%G)7[RVG8%?L2HAH:-PKZHZ1,L]608+<5_@1L(!_>9.(U*"1.^J!J-57)A M<:E(]C:OO _K-)^DR1(6#Z!+ %T#'H,.F85"YA^8966NU83T?/<#\RW>GZB[ MF\H[PU6$,Y>\<=Y;26F2DYLG6C#G&4,WF/V*((Y]E: QB3/]+YS&PY-HADD( M3[;JQT.<((T2I($@_:?$]*[$&":+BV11D2Q"<+@3B6&.=R)DTS@)N@U/UJ!* MC7T8EXUWG8HG&AK_%SZ/U%>F6]X;=%76/9_0Y$8I"RZ5W8/+I7-3O!H"&NNW M1[?7\UN>#:N&94S)^J\H_P!02P,$% @ TH293G:KW7*S 0 T@, !D M !X;"]W;W)K&UL;5-M;YLP$/XKEG] 39QLS2) M:CI-F]1*4:=MGQTXP*J-F6U"^^]W-H2QC"_X[GB>YUY\3@=C7UT#X,F;5JW+ M:.-]=V#,%0UHX>Y,!RW^J8S5PJ-K:^8Z"Z*,)*T83Y*/3 O9TCR-L9/-4]-[ M)5LX6>)ZK85]/X(R0T8W]!IXD77C0X#E:2=J^ [^1W>RZ+%9I90:6B=-2RQ4 M&7W8'(Z[@(^ GQ(&M[!)Z.1LS&MPOI4934)!H*#P04'@<8%'4"H(81F_)TTZ MIPS$I7U5_Q)[QU[.PL&C4;]DZ9N,[BDIH1*]\B]F^ I3/Q\HF9I_@@LHA(=* M,$=AE(M?4O3.&SVI8"E:O(VG;.,Y3/I7VCJ!3P1^0V!CHECY9^%%GEHS$#O. MOA/ABC<'CK,I0C".(O[#XAU&+SGG^Y1=@M"$.8X8OL!L9@1#]3D%7TMQY/_1 M^3I]NUKA-M*WR^S[9%U@MRJPBP*[?UK\=-/B"F9[FX0M9JK!UG&;'"E,W\9- M7D3GA7W@\4[^PL=M?Q:VEJTC9^/Q9N/\*V,\8"G)':Y0@P]L=A14/ICW:-MQ MS4;'FVYZ06Q^QOD?4$L#!!0 ( -*$F4[T#E_^W $ /H$ 9 >&PO M=V]R:W-H965TAV3^L5PQW///7?F2$>IGG0#8-"+X)W.<&-, M?R1$%PT(IF]D#YT]J:02S%A3U43W"ECI@P0G=+-)B&!MA_/4^\XJ3^5@>-O! M62$]",'4GQ-P.69XB]\<#VW=&.<@>=JS&A[!_.S/REID82E; 9UN98<45!F^ MW1Y/!X?W@%\MC'JU1ZZ2BY1/SOA69GCC! &'PC@&9I)XY\9+2 M!:[W;^Q??>VVE@O3<"?Y[[8T388/&)50L8&;!SG>PUQ/C-%<_'>X K=PI\3F M*"37_HN*01LI9A8K1;"7:6T[OX[329S,8>$ .@?0)<#F=K5,B;SR+\RP/%5R M1&KJ?<_<+]X>J>U-X9R^%?[,BM?6>\UIM$W)U1'-F-.$H2O,.X)8]B4%#:4X MT7_":3@\"BJ,?/CN+X7_(=@%"7:>(%K+3Y(P01PDB ,*H@\]"F%VX21),$D2 M((C#!/L@P?[S91Z"!(=/E!G"?$Q"5G=/@*K]U&E4R*'S$[_R+H-]2_W=?8=/ MK\(/INJVT^@BC9T ?T\K*0U8*9L;V_+&/D2+P:$R;KNW>S6-XV08V<\O#5F> MN_P54$L#!!0 ( -*$F4X"D,5#YP$ &8% 9 >&PO=V]R:W-H965T MV$[M_/-@31U%K[!?N.Y^7N,,Y'+IYE"Z"\5T9[N4>M4L,.8UFUP(B\XP/T M^DW#!2-*A^*$Y2" U);$* Y]/\&,=#TJQ2@:^*Q.[7*)'"1#^0$OT#]'@Y"1WA1J3L&O>QX[PEH]NA+L"LS@[> IPY& MN=I[II,CY\\F^%[OD6\* @J5,@I$+Q8^]D@;V[^!UR :KBI1'M4G$K[]*JS5)S- M*KH41EZGM>OM.L[Z5YJ;$,Z$<"$$\7\)T4R(;@AXJLRV^I4H4N2"CYZ8/M9 MS)D(=I$>9F62=G;VG>Y6ZNRE"*,TQQ9.@72C^=9IN\;W6Q]WVV3.6VRC^=99I^RP:L3 M;VZ@GT2,.Y JWHW^GYMOK26P(*C3+;5._%].M/@>+#?*OA MY6HM_@%02P,$% @ TH293DKH%2A5!0 -B !D !X;"]W;W)K&ULE5KM;N,V$'P5PP]P$K^IP#&0N"A:H 6"*]K^5FPF M-DZR7$F)KV]?2E91RAB,QJW/3?NOVSO6+[W5U[.Z7^[X_ MW659M]V[NNR^-"=W]']Y:=JZ[/UE^YIUI]:5N[%1764\SW56EX?C'HWMJ%]U;79?MOX^N:L[W2[;\N/'U\+KOAQO9>G4J7]T?KO_S]-3Z MJ^P:97>HW;$[-,=%ZU[NEP_L;F/$T&!$_'5PY^[F^V(8RG/3?!LN?MW=+_,A M(U>Y;3^$*/W'N]NXJAHB^3S^F8(NKWT.#6^_?T3_>1R\'\QSV;E-4_U]V/7[ M^Z5=+G;NI7RK^J_-^1I_@?S7 #/C7@UP9&_["!F!J(:P,FQ\%?,AN'^E/9E^M5VYP7 M[:5:IW)8%.Q.^,G<#C?'N1O_YD?;^;OO:R[%*GL? DV8QPN&WV#8%9'YZ-<.-C'"$CT(. @QMA>?!B%Q D#R#& _!1 !;. ,!IWHF G"@0P M02<(8W$G&G:B08 BZ.2"T2/F.&*4L-($9=_$,*EE(8G*&)B.B=-1>9 .PK @ MEQ]C/B5B82(6!. X0 $#%.EKC.68:GE";2;0[:PS;;4.)FV#<'GN?XB4"/:S MA/I 4+A8((B:'Z@3#XR#$(H(@86 S5 "AJ6 (9Y'59+1[&MM0N'< )BU/!=$ M0E@V&-"$N$8(I,-T$,@0R6!Y84!?%"%0#$L",S-JA,G, )OC&EE0(\["O0?! M"L8I'F%Q8$5*C1"H"-,!($TDP['.<* SFMJQL2YPEEXCCMG, 9NC&DV@V\DO M>,Y#'@&8%LP2/.)8&[A(J!$"Z.-8&GN(7$$BK,!T$(NP:QRK#@ :! MV2Q2/(.(S8#P4A55!=8&D>(9$,A$2P:!J&2PRHA890I"+066!3'# M,@A,9I%B&43L!3@O1#0G""8DM7*Q-(@4RX! T7,:!%&/OUAD)! 90UAOB65! MSK ,$I-9IE@&&7L!/_F%#HL$<,PJ;HFU*[$XR!33@$!"AOD D"$V)$F\I0 R M8PCQEE@8Y S3(#&=98IID+$;8-9S*7PD03BE#?5((;$^R!3;@$ FW)(@B""V MQ$HC@=)88DN26!OD#-N@,*-5BFU0P _DPH9+%\ DEX+0<(7U0:78!@2R(;,A MB*"UPDJC@-)0CQ,**X.:81L4YK-*L0T*O$/PCS[A)H!@N=0$CQ3QAC+%-B!0 MO&00B-A0%-89!73&4B](<$,B:,!\$HEXW8YW10&X1PTYK-.<0X:.(8?_'L MW+MR=[VHW$L_?#7^>WLYR;Y<],UI.J7/KO\JL/X/4$L#!!0 ( -*$F4Z< M)*ZL!@, * + 9 >&PO=V]R:W-H965TLG/HL@K]M X[;DLL^9OR@I^7;G8O1T\YL>3 M4 ?>>EEG1_:#B9_U0R-WWN!EGY>L:G->.0T[K-Q[O-ABJ@PTXE?.KNUH[:A4 MGCA_5INO^Y6+%"-6L)U0+C+YN+ -*PKE2?+XTSMUAYC*<+R^>?^LDY?)/&4M MV_#B=[X7IY5+76?/#MFY$(_\^H7U"86NTV?_C5U8(>&*B8RQXT6K?YW=N16\ M[+U(*F7VTCWS2C^OO?^;&6Q >@,R&,C8;QGXO8'_:A"\:1#T!L&K0:2KU:6B M:[/-1+9>-OSJ--WKK3/517@1R.KOU*$NMOY/EJ>5IY*E=U&.>DS:8<@( M@Z>(K8T@"1TPGF0PT" 0C938#J8A-C:"FBP )PE,P@=KX6M[?V(_XR '03: M03!RX"-D%+/#1!I3=<5$!/M&MC;*1QA'1L+OH2:40Y!R"% VZIIVF' 4AA@M ML@4@U/=A(A%() *(&#V01E:43S@) X.+C8I($,!<8I!+#' QWM VMKD0FE $ MQZ%@' K$,;))J16'$FHV@@V:-M6$2P)R2:SF]U$(.\ (EA+T@?;O01.J/DK, MC#80#D5H1*E7GG=Q4^HS*H@_< UZT#A48/8>@*&R16?(@%IXCPE )C+)$. N MH#A )B$;AZ.8SF@$AH41^Q]HU!XTB40022Q&OJV TPZ84H*E%D-::WVX J Y MP@C-7%(,2R2&-)*:H4(K*V2VM"V2$S7F&.[ M?L^:8UZUSA,7=@; MAO+U/U!+ P04 " #2A)E.T!)./K8! E! &0 'AL+W=OMO8A_' MJ'QX0.+V[@?8L9*(/X:#W_.\YX!Q-2G]808 BSX%EZ;&@[7CEA#3#B"H>5 C M2/>F5UI0ZT)])&;40+N0)#C)DF1#!&42-U58V^NF4B?+F82]1N8D!-5?.^!J MJG&*+PMO[#A8OT"::J1'^ WVS[C7+B(KI6,"I&%*(@U]C9_3[:[T^B#XRV R M5W/D.SDH]>&#'UV-$U\0<&BM)U WG.$%./<@5\:_A8E72Y]X/;_0OX7>72\' M:N!%\7?6V:'&3QAUT-,3MV]J^@Y+/R5&2_,_X0S_]2/T1I]O,[4WK M%\-6A'>N>.-6STV>)A4Y>]"BVY<8IHR;E)&3&UL;5/;CILP$/T5RQ^P!B?=IA$@;;:J6JF5HJVZ?79@ &MM M3&T3MG_?L2&4;GG!,\,Y9RX>9Z.Q+ZX%\.15J\[EM/6^/S+FRA:T<'>FAP[_ MU,9JX=&U#7.]!5%%DE:,)\D]TT)VM,AB[&R+S Q>R0[.EKA!:V%_GT"9,:9-/Z$&!%UHL&OH/_T9\M>FQ1J:2&SDG3$0MU3A_2XVD?\!'P+&%T*YN$ M3B[&O 3G2Y73)!0$"DH?% 0>5W@$I8(0EO%KUJ1+RD!BUUZR-@U",V8TX3A*TRZ(!BJ+RGX5HH3_X_.M^F[S0IWD;Y;9[\_ M; OL-P7V46#_3XL?WK2X@>')FR1L-5,-MHG;Y$AIABYN\BJZ+.P#CW?R%SYM M^S=A&]DY;S;.OS;& Y:2W.$*M?C %D=![8/Y'FT[K=GD>-//+X@MS[CX M U!+ P04 " #2A)E.Y>@QU9P# !O$ &0 'AL+W=O1:=_.VK?I_MZ*1UW7(PK>&S_7QI,:&:+,Z5T?QMU!?SL^]?HIN4?9U*[JA MEEW0B\,Z?&0/3SP;.TR*K[6X#HO[8"SE18\?E_5OT/Z;B=3$OU2">9/.MWJO3.BS"8"\.U:51G^7U M3V$*2L/ 5/]1O(I&R\=,M,=.-L/T-]A=!B5;$T6GTE8_YFO=3=>KB?_6#7<@ MTX%N'2C_WP[<=.#O'>;BY\RF4G^O5+59]?(:]/-LG:MQ4; 'K@=S-S9.8S?] MIJL==.OKAA-;1:]C(*/9SAI::-X5D8Y^LR!DL26G.R>ZMWA"&HY-.*R#3P'X M78 $!TA@@&0*D-P%2*V!F#79I.GF@2CC&+NDT"4%+IGE@C0Y-LF@208"%)9) MYI229HM2YED!(O+5F\-49QZ5O16'46>[.<^*!AV&0&2 Y<=Y&A9.LGN?"-P&84P8@ M3)PE5;I.E,:>"2#,*L7 B5M.1G3GQ):EWSMAI,E%FB>)[<07>Y[8.!K1THBGJ7?L,/@$F$YRVREQG K-B6\]8/0) MH)_8Z!O1TNDWEA#S$$F8??H9]NF7V"?,/B'V2T\(S#X!]E/[A40N^VD9^W+% MZ!- /[4W&2.Z>YOD'A^.P>[V^ M:FIO/MQ%U8,IQYAR%U,J/=\2'//'TU\84\P5!URY8XI$=JK1XIC6BOXXG6B' M8"&UL M;5/;;MLP#/T50>^+$CE-N\ VT'08-F #@@[;GA6;MH7JXDERW/W]='$\K_.+ M1=*'AX<4E8_:O-@.P*%7*90M<.=Z!^7_--I(YKQK6F)[ ZR. M25(0NMT>B&1<]: M^ ;N>W\VWB,S2\TE*,NU0@:: C_NCJ=]P$? #PZC7=@H='+1^B4XG^L";X,@ M$%"YP,#\<84G$"(0>1F_)DX\EPR)2_O&_C'V[GNY, M/6OSDM>L*_(!1#0T; MA'O6XR>8^KG#:&K^"UQ!>'A0XFM46MCX1=5@G983BYDF%HO(/S+$R-WI$)LV^9^&*=T?J9U.%8!Q%_.?%6Q^]EMG=(2?7 M0#1A3@E#%YC=C"">?2Y!UTJ&ULE5=1;YLP$/XKB/<5? 8]LS\]2/3=[(73P4I5ULPCW6A]NHZA9[T7%FQMY$+7Y M9RM5Q;49JEW4')3@&VM4E1'$<195O*C#Y=S./:CE7!YU6=3B007-L:JX^GA"2\3#P6N[UN)Z+E_,!WXJ?0OPX/RHRBP7'4C_*\U?1)Y2&09_]=W$2I8&W MD1B.M2P;^QNLCXV65>_%A%+QE^Y9U/9Y[OU?S' #Z U@,(#TJ@'M#>BK09=\ M%YE-]3/7?#E7\ARH[FL=>+LHR"TUQ5RWD[9V]C^3;6-F3TN:SN;1J7748^X[ M#(PP9$!$QOM 1C%/3CF-,W?4JP03!;C)!3-@UH'=!PC\SA(4 >)=9"\B8!, M"M%A4HNI+28#G"-%.5*$ R8<'28;<21)&GM2R5":#*&A$YK,284F(Y;NJV1. M+)3Z0F%H* P))<$=S% ',^>[TBS%'>2H@QR)()L4(W>*P2CSL) 8UU&,\+"I MD%R0;Y43CUP)0N/HE3CY?$IS3]D)*MH[ @A1/B4"AXB,NL=;'ERWA+H\<3+E MH:[P1.LY;&V]X'1['#LOP-[3GV%=W>&'USMBKH)GJ0VIUU[)MU*J84) M)KXQU=V;:\HP*,56MZ_,O*ONK-X-M#ST]Y!HN PM_P-02P,$% @ TH29 M3N%6C"$@ @ &P8 !D !X;"]W;W)K&ULC57K M;ILP%'X5Q /47 )D$2 U::M-VJ2H4[??#CD)J#:FMA.ZMY\OA!%B1Q+2]S=I*D:6'+/7&B%/,_:R"L+_S0OP1>FV,M=0"5>8>/ M\!/D6[?E:H=&E7U#H14-:ST.A\)_#%?/J<8;P*\&>C%9>[J2'6/O>O-M7_B! M3@@(5%(K8'4YPP8(T4(JC8]!TQ\M-7&ZOJB_F-I5+3LL8,/([V8OZ\)?^MX> M#OA$Y"OKO\)03^)[0_'?X0Q$P74FRJ-B1)A_KSH)R>B@HE*A^-->F]9<>WLG MN]#9>P& B+_R4D R&9$9"MW33S"4M;9A5FZDXV=_8B-0#RM-8O< @NGP,((+*XR^#)K MJ,6D!M-:DS30/[=1XC1*;HV6PR@^B=CQ^8/ MS(]-*[P=D^I]-&_-@3$)*L'@0>56JTD];@@U#^ M!5!+ P04 " #2A)E.[7%<]@X" ".!0 &0 'AL+W=O,42V7R%HF1 ZY-$"4H#((44=P/?ID;WXF7.;M(T@]PXIZX4(KYGP,0-A7^ MSG]S//5M)[4#E?F(6_@!\N=XXLI""TO=4QA$SP:/0U/XC[O],=5X WCN81*K MO:$'6A 0J*1FP&JYPA$(T41*QN^9TU]2ZL#U_HW]LZE=U7+& M HZ,_.IKV15^YGLU-/A"Y!.;OL!<3^)[<_'?X I$P;42E:-B1)BO5UV$9'1F M45(H?K5K/YAULB=Q/(>Y \(Y(%P"5.[_!41S0/0>8+J)K#)3ZBJF95VFMZ9,U6M4-YK&65ACJZ::,8<+"9<878?$<=;1/B0+1BD M%"PR0I>,0WA+L$GA0#RX,T3.0B,3'WTH-'(3Q$Z"V!#$:X(TW73*8E*#&:S( M*-EM&WITP((@R6*WG,0I)[F5LR*P5)[[.-EEM,%"?_NKS4*26]E1)L MI:2NSF1IL%'CA*T;:.6@U>]-@;=F$@BO8I?!3*&5=QDVCZ%Y'N]P.ZF^8][V M@_#.3*I'9IY"PY@$I2:X4VWIU'!<# *-U-M[M>=V1%A#LG&>?F@9P>5?4$L# M!!0 ( -*$F4XQ5Q^ 7P( "4( 9 >&PO=V]R:W-H965T0TIO%-F>.OYDUX^0]%Z^R9$QY;TW=RHU?*M6M@T >2M90^<0[UNHW M)RX:JO14G /9"4:/-JBI QR&2=#0JO6+W*[M1)'SBZJKENV$)R]-0\7?9U;S M?N,C_WWAI3J7RBP$1=[1,_O!U,]N)_0LF%R.5<-:6?'6$^RT\3^B]19%)L J M?E6LE[.Q9U+9<_YJ)E^/&S\T1*QF!V4LJ'Y>/^%C0G%OC=F_XU=6:WEAD3O<>"U MM'^]PT4JWHPN&J6A;\.S:NVS'][$> R# _ 8@*> H3B+ 60,($Y ,)#95#]1 M18M<\-X3PW^KH^90H#71Q3R815L[^TYG*_7JM2!9G =78S1JG@<-GFGPK6(+ M*%:3)- $P4&*;"-)[-XE":P 0$-B#6(;M)(G#0&36(UK=6D*28K)Q5 E:Q0 M!L-$($P$P*0.S*")9]M\P&GL5'X+J A.%TH;@S Q ),Y,/'=-FD499$# ZA( M0A9@$A F 6 6#%+0('W\H&2@0?; 0)C4[*3-,]5@,%]&ULE9K;;MM& M$(9?1= #6'L^&):!R([1 BT0I$A[S=AK6X@DJB1MIV]?DJ(5<>FV5\N%O7]<]H6]46Y3[OV/X]EM2V: M]F?UM*CW52H>^D+;S4()X1;;8KV;7U_US[Y4UU?E2[-9[]*7:E:_;+=%]=\J M;@E?Z_36WWR?=:-Y7M9_NA^_/ZPG(NN2VF3[INNCJ+]>$TW:;/I MJFH[\N]0Z_S8:%?P]/M[[7?]Z-O1?"_J=%-N_ED_-,_+>9C/'M)C\;)IOI9O MOZ5A1'8^&X;_1WI-FU;>]:1MX[[L_WX;Z MWXOA FHHH(X%E/VP@!X*Z%\%Y(<%S%# 3"U@AP)V:@$W%'!9@<7!6+WU;XNF MN+ZJRK=9=9A!^Z*;J/+2M>_WOGO8O\[^?^T+J-NGK]-@5#]ZQ MQQ4$6$&@9HTR&TL@8_'&A&R^W@8R&*^=9MYQA)V)H#,!5R %]A-BND$DXVKD M!),,HE.;2"&8=J"_^205:"?F[2AB5<.V@]V U*0=O@KL"*0A5C6"<:X2XRLI MOT;DS@2*&!XD9E-2.'5@)J'$3$D*U2FZXRHP59)B983)1TN)L>TDXEX-1D92 M9HRP>4N1>J,V*#$M*8R6$J"ES*.M!I$;^3W+SC>%$502S#>&8H7I4I0N(T+> M6T5C =,*9DLAMG*&!U'GFH[-B LFXBA,H**QV,@\Y@RB44-*73!35V%0%6!0 MYNY/T2#*C0=CJMQT/ZTPILJ#CN8>!8H8CZ(PRPJP++G18DA5G#Z?-:9/(_KR MF3:(1IPSK6#P-(U]1G*+3@R>5F>,E5FX JK(9!]$$]C5&"E]1E#3F!6-6,E= M(A1Q!L&T:!K4C,R=&10QD4]CI#2@13&N6V-:=#CC]6-:- AI*O= FH8TYO4; M#)0!0"FN"DR+.2-,&4R+ 6$JWU&N!I&4IZO-"\]P:3!4!D"E\B7)(,J6FUST M-LRV$<0JE2])#-T2A@]:POP9.QUA@]$RB)H<8212W%8:HV50(,H11B+%32C, MGP'12C%[*(/Y,V=$*XOAL@BN/%H-HHG3VF(&+8A8FIE%%C-HSXA8%L-E 5PZ M=UF6PJ7Y*6\Q7!; I1FW99F3E#.HL9@:"X @NSDDTLQZQ&)J+ !",VLOBX&P M*"!QH\5 6+3'(J,%(LW,98>I<8 :S;@9AW%P*"0QHW48!X=V3OEHD4@SS#C, MC$/,,)[*81C<&4LXAV%P4\XED(@[V7+,F2& P3#H.PR#H^<2_&@Q# Z=2Y#1 MH@T/]VXQ,0[ 8)BN>@R#IR=Y[&@]AL&#V$!&BT2&<:@>$^,!#(8[QL4P>'I8 MSX\6P^!!9*"C!2+#.%2/B?$ !L,X.H]A\'3WSX^6.?@&D8&.%JVG&(?J,3$> MP&"X*C ,GJZGV//$@&$((#*8+/OQ.="SMW[QGNV<[X!.*\LN1 *&*R!N\@7M M(!HE?@2_Y@F8KX!.RKDJ,%\!)<.X1 GF*R!T\C7M(!JEH)A6,%T!Y+EH0L82 MLRHG;?:B;Z$L<,=? ;,:0."RG/$QJ^&<+!63IIJ4IP('ZNQ4PZP&$+C(H2(2 M6<9]10QT!$!;)NI$#&"D2SW6JA&#%1%8N54C34'Q68J(\8OH1"\W*Q)99K)& MS&@$C%HFO$4,8*2[(]ZL&)D(F^=GN1ZG M[_"C*??+PYW#Q?'BX_7_4$L#!!0 M ( -*$F4X.O,(UX $ /H$ 9 >&PO=V]R:W-H965T2V5^L5PQSW/W7/F2$>IGG0#8-"SX)W.<&-,?R1$%PT(IF]D#YT]J:02S%A3 MU43W"ECI08(3&D4)$:SM<)YZWUGEJ1P,;SLX*Z0'(9CZ]\S]XLV1VMX4SNE;X<]L M\=IZKWF<1"FY.J(YYC3%T%7,9HD@EGU)04,I3O0-G(;AVV"%6P^/U_!/VS!! M'"2(/<'V/XGO"-@%"79O*H@3^JI'H9AWJDR"29* S%V88!\DV']T MDM* +26ZL2UO[$.T&!PJX[9[NU?3.$Z&D?W\TI#EN0C8 MS(QG[(/-JD/XG1004N.CKAJR-@M*VZ5MD[R -2 6:F'#GAP1K@%E37RR28LA M. A27=F>XT1V#B[P6G*W2F5=G %VR0#%>K6IFM>.U[+4T%Y MAYVN6G""/R!]:U\P:]F#RJ&L84-*U!@8'M?FD[O0&!CWR/XDN#?",%=0B )P8T0WR6$DA ^.D(D"9%" ML/O)$K._!12D*XPZ _<%U )>I^XR8NN;\TZQG.(96P#">B]I$(4K^\*%)";K M,=X(XTX1VSDBB*(!8S,'@PU/9R/S9@+>=(C-')&H+OXI\CQ'!%$\Q>QTF$2? MQ==.J2\$_(G 0B\0: 4"(1",Y]M3DF0])A*81F!\WU,F9#,'!=["UUL)M5;" MF94@=O0"D58@>GPR8JU K'&@Y,QZ#-O@;D$3*W'&/[56_I_RK*$XEEH]/2@< M85Q]VD2;-M$LO:^D370^U'P:4&+YG^2;&%MHC2TTRZ#69(^)Q^6VL#QEAK9S ME!M9X2=F> #=KN4\\(I(T/0=<=3JM4<[90WQ29QSQ,C1N:%\&QCU#F?ID\=W M6J4_;_D2\R?0']'> 3V5#C#VB;!\7N^T1(0J92<=BI5*P;X*A4<$CY;+.(P&Z1ZU2V 06^<"9WC MUIA^2X@N6^!4;V0/PI[44G%JK*D:HGL%M/(DSD@4!'>$TT[@(O.^@RHR>3*L M$W!02)\XI^KW#I@<MK -S#?^X.R%IE5JHZ#T)T42$&= MX\=PNT\=W@-^=##HQ1ZY2HY2OCKC/7I(GG MD(ZXW%_4GWWMMI8CU;"7[&=7F3;'#QA54-,3,R]R^ 13/2E&4_%?X S,PETF M-D8IF?9?5)ZTD7Q2L:EP^C:NG?#K,.E?:.N$:")$,R%,_TF()T+\3DA\\6-F MOM0G:FB1*3D@-?ZLGKH[$6YCV\S2.7WO_)FM5EOON4CNXXR!!PH."37C3BO^ QE3(XN]R4(T?!(U*>1+&]7'AG6?M,7*W MX\:_LS,XCLR[S#C 7ZEJ.J'141I[]_P-J:4T8',,-C;)UKX9L\&@-FY[;_=J MG)S1,+*?'@4ROTS%'U!+ P04 " #2A)E."VC.VTL" 9!P &0 'AL M+W=OV.FS 0?!7$ QQ@"!\103JHJE9J MI>BJMK\=L@GH#*:V$ZYO7]L0+C&^_HGM979V9@/K?*3LE3< PGGK2,]W;B/$ ML/4\7C?08?Y$!^CEDQ-E'1;RR,X>'QC@HT[JB(=\/_8ZW/9ND>O8GA4YO0C2 M]K!G#K]T'69_2R!TW+F!>PN\M.=&J(!7Y ,^PP\0/X<]DR=O83FV'?2\I;W# MX+1SGX-ME2F\!OQJ8>1W>TUF%BFEPV_3VO9Z'6?^6YH] "GG_C2FWVFF2^,[9N>VY\Z!"CGO]%0Z42I BO2?I+Y& MWE/+@$! M !!0 &0 'AL+W=O^Q__F_&@(N) MBU?9 :C@C=%!EJA3:CQ@+.L.&)$/?(1![[1<,*)T*"Y8C@)(8Y,8Q7$8IIB1 M?D!58==.HBKX5=%^@),(Y)4Q(OX>@?*I1!%Z7WCN+YTR"[@J1G*!GZ!^C2>A M([RX-#V#0?9\" 2T)?H4'8Z9T5O!2P^37,T#T\F9\U<3?&M*%)J"@$*MC /1 MPPV>@%)CI,OX,WNB!6D2U_-W]R^V=]W+F4AXXO1WWZBN1#D*&FC)E:IG/GV% MN9\$!7/SW^$&5,M-)9I1)L=M&E,/+FQGZPX^1VDG1.\R?$RE7\FBE2%X%,@W-F/Q#SBZ!#KLZG-HCT*NZ>+EWKU5NWSI, W8S1K MCDX3?]"DBP9K_P42>R&Q-=BM#*)\YS?8>0UVUF#_H8)L4Z73I%8S.$B6A_;G M1^V]J+T'E6]03I.L4''R/U+B)24>TN.&E-R3_(C4BTCO$8_A!I'>(:*Y&S\I M\Y(R#RG:D+*[)Q2'7A)>O;WF@3<,'77FG[Z,E MH- J,\WT7+BOT@6*C_.%@Y=;K_H'4$L#!!0 ( -*$F4XP!F;K*G@ "C; M 0 4 >&POK//J/WYS7]?;/_S^]]7B/MTDU:#8ICD\617E)JGA MS_+N]]6V3)-E=9^F]6;]^_%P>/K[39+EOXEV>?;W77I9[/+Z/WXSG8U_\Z<_ M5MF?_EC_Z56QV&W2O(Z2?!E=Y756/T77.;>9%7ET'%7W29E6?_Q]_:<__AZ_ MX>\FT=LBK^\K^&:9+IM/WR;E()J,XF@\',V:#R^V\' \[G[XS'B:K\L;'].[ MK*K+!+Y[EVS2YEN7[]^^?O_Q-KKYZ\WMU=N;Z+N;B^CZW65/8Y?0?9FLH=ME M^CGZS_2I^=YP.!P-)R>S\TGOZ&^?MJU1C(;'?^G]X$-:9@7.>!F]2NK6M[J@ M__M__:^]J_8ZJQ8P]+^F21F]AA];^W;(US*6SN__,FIM)WRZY,_7R5WSZ2I9 M5^W]V)5E<[1],S\^'HV/)ZU>=:^DI8_IMBCK++^+;NJD;@_[KVT*EA9>9^NT MC"ZAY[NB;&WUFZ2\2Z.+Q2*%M^"=);_?T];-)EFOHY>[*LO3JJ_#JTU:WN%( MORF+Q_H^NBPVVR1O]:P3+#8;.(8W=;'X%$L];'7SW\>/5N]OHXN8&VOQ#ZW%2W=/97>!_I'_?90_)&G:HUG:_3.%K#ZD6PE,5CDB_2"$Y_M"QV\WJU6_L/BE7TU4E\ M?GI"W>%_SLYC:*;:IHLZ>TC7K27]+I_W=MI\]WU]#V3AG[?&?YT_P+2*,FL_ M^E"FVR1;1NEGX- 5[!<.L, &6ZM55#4_3JLZVQ"!P6'(86,KW*+T\P*7 J:* M(\=?FRW<%C6G=U MVZ+WJXN;J^CC]3??WAZ_?WW\'?Q!&]U\[YOW[U_]WOQ[IMK_$^FELXN7UV]O@*2>A7=7OR7O-?:C-MOKSY&[]Z_"XFO>RVZ MUT"_? -#NWYS?7M]U4&[LHJP#[LRJV%G<>7717YW7*?E)EJF\[K%_924MLE3 M%QW!\W('N[J 4P[$P)7M_BN;BA8P)\]/;ZW3=7[R[;K:$\]H=JFRS2__@-"%Q56CZD MO_E3U&SRYO;]Y7]^^_[-JZN/-[^C^G^7>@CP*!/BDO23*3M_8U>+)<9GB/84>2S0.-PVVPSV.'FFQ_3&L3?/6>%Z8(&=U^LEVE9 M_8XNK;H]DR8%T< /^7+?E7ST(<%C=9_6&4A"+PZ^HO>TV/97F^>E6Q@)JN+F%?YB1O7\=XK=34>[%]?OHO?OHIL+$%>@_QY)9(MJ M $KO60Y7>OM6I2L)=,OW;Z^B(^GK18OK7^<@4,!-WM.*>RP29&N-[I/\CC<0 M6$>T2C*E5Q(5S[+KF4A0,>7'0DHVB1O4SS MY14HUU4]O0$_ Z"X^7K46]65290LZ ML4S?K?&^RM8[%)SVO$(MHX$ "!GH 7K\\!W* =&SO;^Z_AZ%WUD2(0Z_(XSJV,M7.I^:"_8#7K#7.2C(^R_8JWT7;&NGY,(":<#JFF=][YD- M>_:;ZWR!4/8*]ZL MQ98.'1SDM%QD59O!'_K=/J*U;2#;*+-%K9=?]'^3S?9KI#ZRH>%;5=>6_Y@V M]AXDG@O+'- 0O+G.TATV7R>?H\>LOL?=0$X*FA.9CX!6'Z!G>+DY@%^T\;VS MP!>.YTG5T.#:G.4A6Z8=9Y!&"EUN=^7B/FES\N;S?8,QIV;O;=QS:@[ZIG&Z M#FW[H&\:8VB9(0\8=^N;/;SS\N+FV^CUF_<_'&[X,I^\_OC^K0HOP/XO+D%X MZ+8:7"S_MJMJ)+(JJ@LDRB)?9.LTRAT[P=_Q+[*)@>B"Q+*,YD]PS%6<2%#7 M(;WBN&U@1=/F/]AT "2.E%9GJPPE>>@ )-J[#/^SV_#Q*@45=9'QUSWRQ,MD M2<:-ON>O5)[&TT7CKSH.07.Y:V%^NBM=3&N]^%VN6<,:%]NIJ.7=U]L;P2M?O](_.VV-+=;FV0: M5BD:3B)VH3U6$!Z%MWCM>?7=H?3\W"&[?O?]U$?@ M*M_BZ6OO=K%(TR7Z M6YU=Q?=3EN/U\V4K\_KZ'3#$YU8FF&:9/A3K!^P&R)#5 1A=6U/ZP-=BA6?O MQWS#IZ;+(.K? @Z@UR(R0&LJ^?$7^O[IJ[B$'XH(UU],8[FZ5V6(\?"M7D"[O4%WZ;()[N_4F<7':?WY5V2RPW0?'$TB'K? MC?[O_SD?#R=?H[<+5KJ.;IY 5-M4Z*B-(^!Y@SA*0,A8)X\H+BV*9PMD7G!#9]MDO7[" MNWJ]PY;N4^)A<80>GFSM;?:H9T-KK!QATS4Z*F!15\= @BD15%WN%CRG=)TN4$9-UG$$ M*ER&;B9I9@7(7\)_K9$$?+:$# ML5O* M?W9;&[NT<; 5H2OH.^@$S1AYI6@^AB"Q]]I@L/UF[FJX>./HR0"<9:.]P'/+T$9IVTX?&5LE" MKIR8#CX-K$QQ;K@()^>#Z6];/=#,4SQ9:=?D2070O1^ @?P?U61;)_#;J+ M92_U\6/:_&7GWP'.@"/T+:$WUSTE4R2.L)>TL8'^ASB)K*["]:YV;35(^D4:;W>4@3RX0/B&2 Z[T!^AO MT<&=QH/H\(_=T4;K#%T*']!C F0:''S8$9+I8%$CSNEW:E7C.WA9]O?)M,&&MZ(8>31,-J;H%P@Z6N MYT6>[Z 9!AK@%?@:=.%H-#S^3]R 589RGAO.3;I0#R+A6#XOR&)'WORL0N'9 ML8Z;*\EX![2T5:TK.9D:[%?J$[ MZ5O/#*@(UP1GD7FF1R*"3ND+8B%H4-1-#F;),AP+M%TT:%WN=UCW] M$ML]C)K=MA)[GZ<@"SWP2!.C;.8I:AUX#$E&93/PUIXN7I[N@W6?/:>XI MG1:]9#T,U@AV:RUG!942G'".GO&4&2ATM%NSG"=B/^ZBW?PMX8@J:A.77 >< MT66[A+U%_YYNHK:GAV"U@_FN&"&$!\*3]G2NI'0$E;5;B/V.R"A39(G+!QBO\L4+QZ^RGC6R$^P MMXV#M;#J1VT9!2QV-RQI+E:'7<(JK8MJQS+T74+'P,JKW2WBF:F1J>G2+X@Z ME]D*[RP2J.O[ J;HYL<[OP%U.*H,W_?S5RD7183N4P!M+^I@*F@8(+,)-$C; M)L*VXPU.@JOH8#_GO(P;R =6?!,4O9;6D,&+ D(&R>_UDWG/>%0,%3150<>5^RN*):/&9!]MD$)AFBF9K714S]: M.1IW;5GD\-\+66)]\1KNJ'0.,P(. 3?'*2_>ZXN;EPHAC62K MRR-/Z6%"HABQD5RN/E@QA("]P#N!>"5R=AAOP5?Q/%FS$1IQKG([)2#Q [$N M(^?[A6\3/J5E=G=?'Q>K8SRNM.LL,"6+^P&M@4Z!/9$NZ;83^5T:"2 M%0S97\VC$[F:25AK,#^<(XD0>)"HH4'T&EE;F8(^H" 'O>QH@3+R;]YG<[RM MZ0I(E@6QI-:&M7(W,7XEYC"XB(QGDJ@9 OHX$ 47F.]X?8K?0[4)15 M515H,%6!#E@MB0- #^GGC(TX0L#^/E^LX3-@ %7SY]8CCH.DIXJ="&6G ,HC//3@:S:(,6T8*,O#C E[(U-W1V M205N4FL$>IV;,8\&Q_(\";3V>F!YX9]WP%X.X(.CB2-[KSUL(=O"2 MK&31FZ(R9V,R/GV.6;),CHL$8U9+DM5@\&X'U2XG.\7"@1++3VGMS0^JQB15 MD3L3;[7;XD5#?P/_2A=)53N*WY#+UU$']D(*-UO[HC7-PS#$T>0G,L39P0SQ M*BGQWE"*S,A=#L*9XW]H]>&%@/=2O%C9S$PG&:1VNGKT+)! F3D$3LUBYMT. M-![B"GG;@M$EJP34<[&[ THCQKB7?LX#^D$IX'N2 MZ:Q5LRV:2/1?F)26P,)"9 #^%OYMV/3$W>.MG=ER%%6!!#BQM@V4"*:8E'Q@B0 M2J8J**-JH LMRX[V4K2Z$MECUV] F%M'$ROT&%H3H6V+!@%654!8%'9"EQ'< MUTA+]2,J(VMLRTM6+!43EW;4+BI"ZU,>QHC>Y/\>JVYA1G:? 5,L%_=/O<=3 MUB3Q( @K7V/?V]T<)A,AU;%D[M?)K*3TO?!@G5T.,U@C)"RZ@RY$(&?^8>T- M[(:Y# R:U^Q)/&"]W>*159K^>DR1;^/=] "SOV.T@;E$=GDQ1_.8N!2WNUI$ M>2"\)?96;)_KU3&.\W\FX[C4S=(@E& SF((T/ 45BM-E^ AV?!:(BRE$%R=BZ,*+SHZ5FR[(4[)!??N1P_PY<]*/H M?!^-JM=\EE5>Z(-5!^)7P[D>)UC"#0%B4%DBP4;MNOBQ<@51 &B$P+?AY)1$ M&;"9RE/J^P3%BQ7:VBLUF1JO#GS.,NQC*G>EJ"-T[-=\4E.U[+'5 BFS-:Y! M=(/.1X&1@.:9LDD$ON43KYX[7 &_7#^DZMOX&5T;Z*CX4@=%]._LH5BOU2-1 M=I(07'-TX:0\*^!FZPQ_XEVBCI1\FO0R<%0)1YPV'L1*U)-H'PNFI;LRU7.W MRC[3$<_P=)3F-3:RL'*1L8-_R?(H1&^-D@ M>@L"<81%75F8G2R)8/(6-PA"IG3?1-XM(QYZM$; MRY0]FC'HT;2V9]$-\8LR(^/3.ID7I8CS\\;<^5ZT^J3S9+ RP2\;J!Y<0SOH M,JG\=]1!3,K"FL27NJ!SST=23(H6-B0+R$Z:YHC*-)!=^"AVF8:9V(C1)EO' M_F47"N%&0HOO$@C#2J)6=\JZ7ALNNFDJD47$_N] M^L]HFBU#1%%B<$J1*VF0:8_UZ"8]#Z(WM)E^J?2.X0V;IX::^1(B^9\5()PO M*D WG@S0,D8MAERN_]MW17[,7\!(_^:IAL;!RZ[80P.'0;=ZNDKFR.%K8E9" MG08RY7X;1!_:+:A\(+W2Y1Q:"9G;\SK\K9C[D^FU6Y0^6-0\!FD5 VC9<9+<8#.S*YE\H<. M+S1Z'^?#MVU,X_0.![=;R-!P6B ;JN0[FB+&R>/YF-Z5\<)Q_HWUU-8'*ST M0/0+OZE^]?RHG-&5NI$EX+5JK &IEM:XP-($'KJL\LJBU[!VVR4Y"Z0ISS!7 M[EK8=R)CE<^! VA3F\0).4AF?U.K*HKSE=>*_K9;WC6DTA^)_ MB(ZR%U&&EC?QLC^(4VR!KEPV/9'\-H=309<)<=2C##YSMF>W^O*OPOF*5&9K0?N?A17Q1K%-38+/AQD1 M&SU[+-&DD[O0*!Z$.)I2)WEA-UO&=45T$R*N:[&S=[K?OYN4$)>Q&,A4"A6B M79P-9SE>FR/@5?^_O$I'-R;VVY'N3OX1S Y^2@W2Q2"H& ^*]P[2'!]?Z MQ-1!9^YG[9/M5M+,D1T0B#G2O2;)5&B0Q/XBESM7L M2TP6].:^=-N%R:FY5$?]KJ3FC5<,%76'=!$+:>@D_L$R,^_S;^Q2AGA:;-%Q M';-=+.N1J:I$=_0J:VT?R.)%J8RL?6"Z20:/CQT$W+7'W5*52##0^!-?;F:! M[>8N_ZE;V[4N&X9%_L0=123XCG018[?NWM\/3IS1<^LO;M6;F:%COISECO'E M#I]-,(6'0A6_@/TXS0VG@:()6L'P@NI=7[0&R74+"G[U"<<.7$]\_H)F<,LD M"JN-I_$!>D?5"[%,RK#9Y$C+XD:_JW:6KDE4K] R!$=KP?Y6/^O<*7A-R@+] M&24L%M?C?@W0.X,JZU\RLCUJR 1Y=P.#<5L@@<(;F#FQ/BWH>+\5R]96B(JW M+3+HTNB=GFHOI.'YDT[3>8GV3H@.C!?R&7@1W<%GXH!$AS7>.+ZY;G"_R1'2 M&KY1>5Q/9&,GJQ-?+TD8?* Z5,/)O4]W^K+0!*==[5LY-]7N&7WIRCVS$89 M1Q88@ M1CL /IFVK=VC0)*KL[7*X"Y$@"T JUVNV'\" #Q"GWPKL7I>P58M0+:]SAFU M1'8;=*RBS"1M^1A!YLON7E#'TD4/JV;]5 S2XJ(V&Z8:)OR\)-@ _(QF1V,; M;O,[UGI%C:N-N0[;O[BY%,3 Z? 46)_KCOR%9U^+5ILLQ$F'/61,%@L5:M($ M3KH;3\_$VKJG'MQ',LD@<:I?KW=I,%2R0MW%@%(+;QM4:_XV+9MLP1HL-?+" M&-C8<4%C(=T"%&P<$1T,+PX8;$:!UFX5F7@Y15]&[I7W3H)4&.WDWC2$.XA( M4W,ZC->FV0,-#$Y%OJ'9*XO=UAJD MQ"%!R,CTV;G 95NHV;9OP(H6%/]'Z*RU\#Y.U>#M"71.^+9@!]: ;-L;,0): MJZF0F#L=?C;$5:(HD[(6P&#U@&"\)>W&G86DBM7V.*H[B8FE-+1:P/^SV M9C;$RZ+*+Q)BLM4;Z BG&&4K9G>-5]4 *BS3&9"@0[>LA 0$6>_;E%1VLH0 MIROM/E1?0JZ#Z W>;,R^T;I]7SS"($NGI"JG,HL6,*;0FR;N5L_38@_K6B2B MG(84%9#/041_W70=:(O+PUNA^2F/8XP;69':O%#97Q_/LNY!IP18$Y7$#>"E MP<"!-0Y+U7KJQ-MZ^AV5)*B(0Z1_/.(Y6R$C8&T,._*(!>\F>SB$/N>C-H*8>KI\O@EY!S;]0XOXTV"N14=O)-V7,V+^P9.@*A]6V', M"MX9H&S..QGID'J?I-OQT(>!GHC8&7G0PJA.;L9L[XI=A6Y^!W$A,0$5)RE83$$:,?VA&A)]+;G?V1[':9!#K8-KI4PMO $N>67=W#QM'@3;L) MWEQHK$0=3BQ^\R=WL-']R>0CEI\U3IS.! 8-H\>(S:3(F408PY7D*3KSN%/# M>:\-]DWN&*)3]N^ZPV'/':VAZ,QBV8#=@I'E?*9WE9/()(XK]+\R')(Q2.N, MLDF0"=1#\T.W3,A#/M MG%P1R!(P\&"T'.EA>%G':I(Q6,._!Z'%34\I'4Z23>!?'9Y= \IV8N]\,KD" M_\7\1\L4R$_0&4Z<]A$23>F9]I>-HG+BV-04V*5<1X/H.Z.>[Q]F_ 5;Z+TA M#0H@8XG7/)VU5^E:IM/MGR2;[J%D(L %BX7R[:U2/GI\:! 64WGIS/LS&Q'7"Y!5*/, MN\832]8!C3=VG=:GT$$\5C4\JFWJP>[XRTUB&ZR M3;9.2G&]LEJUYUK[VHN2*Z.\]JR-6^U:H[CT=*G4Z;8 I5)DQK!LGW)0WFD@ M(1-)]%EK C(@?*DK:S\:+\AMY92,>^@O\W1 M$N'17DJ9KW;N2(?/T[IXQ*TCB7N)2/KU"S%6H;X4JUN5J1'&]Y"4&5L]V5JP1UM5 M'WT?O(X\;HJJ$S;MDY#XF\%Z>R.HMLDFD:%8P? MTXPR[I*Q.@-;6<@@EGY.<"EPI9N]>;/VO@Z7!9*311 M<)W^NTVQ-!Y]DI!H"1/]'C,G+8IM2J8R(EF?A9*,-@L\9K#*=PS-LH;,F.(N MZ,QF"'H.8RNLQXNM2D^I^H,5-D4N4IJ^+!4G7"DPW.@A]8OFA"6%00T/A)673!=($-5CT]GO-ZD3-"R](CQ:PS_6<=A)3%*(A@PF+==2B\G$DL*Y[)60 M]UA:'2,E(QLZK[U(Y^VW*$\U@J68,H]D)_B=+K[U0GQEQIV#7L;=EMW*@6XL M 6JB/1T_XFTOD1],0;*.((V 6 )CR'#C^5K4>&Z\L"Z-.*WBA FDY@\KU4UX MG3@L&H$B1@;L,UZ&;A^?7B2@J@L+#V6LS(*4@8ZAV/P&3NIFGHIDM0:)B^6& MF#R:)A=Q]"E],@23U#6!U?>I&"Y 0< *R@"5%<0&.01G1DV%1,U/8 M1@PG\ '=#6.N1X+V-JM,Q+6DSI 6@8!;B16I%BT: M?W]A\\1YQF[YX5M/#QL,$R,/F\T#8,G-QN@[:"9='P^Z'LD#W!2R0+&:ZU$, M$Q27DR(;PJ/$QYNO:8D\+)'0'VE^AP;#E4-.!S"['C9#JQ?8TY17L,2?W E) MB144N5:H!BJ=29"B"*=.R<.=\\=7A)-0=>R8'I&"BR=3MQ_Q[E"XH3V$';[' MQ!N<#9/0$3(\/<=),_2C:B$H>/B2C>=9, MU&XCH[3XORWO]HD^1 '\^PZX$ELNGM",B)^1_J08;3LP%)I%5*%E&,O_$$)">8(JUS@,##3 JH)T,8=CYL9 5Q;92'+3Y><'L+8GV2ODE P MDYC*47OJ8].4.P%A1]21+%Z;C9DYLA'?W6,(%&BNL,&1!/VRD0%40[17]HQH M$+W)/J6/684\MF>Q1*/M73 V;?.R'3#!>M^6BO39/]M!=+F?K[?)]2=0JU F ML->],H,J[.[+%MA++!;\DVO$BUCT0"9&4KM :)@!%:4+CO-A.#U;^KNJ%]>% MRI_59[V6A?>-NIQ=EAV_NNP:E5PG(J2L,HO#;32P1U1A]ZC#T;,')]C(!FC: M8M[WS%MA.J&Y,;CQ)=Z-PIYBACIPZE[?9V!6(?ZO:^_0/,JJBBW?!6,AENL+< M9OE"H=P4$D)FH0"BMBNKT.:#&K@-ER%P4Z A^%MD$,R:YEH0G"XQJ!OG"W0Y M;,1Z@MT9JQ@YU]4Q+,9!H,!CRK:B7GCL#[I>%F4E)C*=BH_J8&;K;G4Z_!@+ M4V62D.=>8DG&B7K]D@2^%31 BR>.LG\7>*32 WXKE&;**D@C9) M_\3-6^#6"@QKAA0Y1 NL56)P9)U85=H"CHX0QK# M!<1O$,5S.CQMYVDYCT4'1$-G)8F#^,CP[2 0'&0 !">HO!G7#E4LI0R'D]YH M<=F9BR*4#TED(A0.Z+E)Z%T-38A6"!3&I>S329*->$BV,I-_]M.Q0E,J,:3C M0^%K;HZ)->52^&9 >3YJ"@7K=;*EF:D'-K#(!F9J@R"A_GI-U*2!*/$ \Y<[ MW?DEMISO.8ZHI]G$ M;+^M:G:;QPUHQ5X4UL-W'1E@XJP61D&, MM"93!ULP2]S.^S+%05*=4J XEZ.)DW9:/'(O =9ZDZ1WSU'3>8FMTA1UKRA9-5<*F! M%W]PN_RO_O>6CH4MWXLU%F"M)I+PR[ZL) I;)W D^JU]83R-AZ,S]\ML-!B;%U[N,B[Y M<;$#ZNN#^G@XEYB?T=K4_.XNGI MS+0[ZF[W_&QFVK73Y7)S?O(GD_-X>C9QOXR&P\$P7)[3:3R;CGK?^%?_^V/) M[E8,?9?*U0)R(S*[Y@.;!2LV.CV/3T\]/4U&P<9]A0L4P_^B\2A8^2L05,/D MQ/KOZ6E\-C5;,.XDE_/S&/[U;\V"77B_6N$94F)MDR1T,AZ-;2>3CDY.9_%H M[.CCH>5867WH/IP$0N\%%1J"!0:V)'=%L%H-U&4J+;>]_;4F D M@B5(:C&WH&ICO9MH8*:Y$/*$; $.429(NWW58(U>[ Q_3>,,F0U-)"3%M1MK MN*0B4(2Q[]*!MACVD9ND#60F<,$?E*82EA;#$L@+:U)F*FK8I\X47]&=F%>] MR<:.DG4CS.-#H6J:D()AGC[_?!M9$5WXC-IO3-K3UGN"5%4R\26A%#CDS)EL MT'?>*U9OV8:#6*BH@85RL(H&=%6S/'6%5&62U8^-82W-EPW"E87.R6B[PM0< MD>K:$UC,$7$ &%/C$2=J5H^MA[@DT9:JWWFX,4?/-Y<\JDK5+2]6$YO#<<7)E@7 ZED>"=7#9Y,]L Q'L386 Q@ M7@+V^3QK^1TRDOA,XFJV_<$E'W[Z:5,*%I'C00(2FJJ]Q1F6ZC-:!@--(5C%?BU+"3+$-BBBZZ/GC$V M=,A0^NBOZ 0(?_+B52 UM8N1M,[:3_A!6*IEIQT_J:D^J<.25N)*0K4.%*B) MN?M'(*O/SD_-+_##:&1_& U/X^'P1%RE=*T2&L7D^G<2XUEK;:?3UD_C0,AQ M4DT\FC4[L?>^ %!"84 _/AK%LY/IBTXI&7,%MW2X>-PQ,'T;9!C//3'_U9Y: MA<]VU??[T?@<5G[8/^9+YU 5X^*JZ 7"LS/2&U^?[1P(X6RZI_.65 U"-9") M(3!AO(ZT0+.'%X!J6'Z/ 3C^XL:,ZJ/AJAH:DIU_.*K M\Y/!B?O%)J^QO#6XD^I6PG5LJ.6*0L>>9IP-,'YA,OIV%IA0.UZ'H*X)(8*B:.Q.^B\/PZ( MO;?JRZ"9MT_6U-IV,RO!["X\Y=D%< MP$JBW##GCS'GE9-:\\(A-T8-$+B8I%V_P7FN%?S)QS! -&U=$ "=?*GDR%Q@ M+;WYF!G4MP4%Y$;#3,:.SD;_L)KNB[WR>]J^=D\Z62E< M8]BRE*&@N%C.PB").8MU&L2%X *V4L-[[NE'3SMV#G/]VB=$GK/"U%I7)RD MYD6L[K/M(/I68_Y0#Y$U\_ESS,BPD[24M!F=HQ-O-6M>F)X';T(8W&:[+I[2 ME%)M4S:C3&XI@;5+NDQE2H%@D#8,P8&40.N=!.5+OT)W82 ZC08C_:%/W+D6 MB.>","%%Q.R3:GY*/#O")'B?YWRI&(T=$0OX'HETK%-Z>T_QF K)5Y6++0\I MQS$=G]E*^:8[+/:5^KW3R\X(@:4F)&+FA;CAV0'^K2F%-,P^ZSTNWY?G6Y MHOJCA!OU7,.4(PHT\[".9[^*3G4\"Y8RGE.GF_^V_1%$CF^8+;6*)E6@(9P- MXPDHH6^:I9/:G;&GJ)D$S9H;1Z-X> IM>=M$JR"34PO1 7@N)O3V:S"N23R< M38/EIW@(5]>I_1&!/'[\X@6&" F(-*:&?5JG6^DCEJ@=^OPY3O$B5-Y.S\_@ M9^-1=2L[CD^&Y_ALU'XVBB?3$3X;MY[-XNEHB(_:5H"S&.:#ZRKB=.N%R4E\ M NWR%C%]N$+D+9/"63R!\6'F'UDGJ:\KM8"P9! )26WU> HJZ_1%%+X/^\L] M=EFU6\1Q@RGD-7^JC8 RBJA> 4GU4VADC_VJ<050G3.Z20A])W;V)AMH%,/J M.@@G\6PXW7.$.0UJVJX#TM78Z,ROFI3RN:5*($8W0*L/@F3=?;RO]@7V^I"5 MM;>4KK)5_<2"G\"J? T8K'=)(KO:%HW+A=5S0=@'0'6"3Z^3Q2?6F8H5R0+< M@Y./GY@M<_L"M-UIUB$MHA2KV(1P,ZRP[4S_^.4Z>=2!Q3Y'-[-RD%I1FD6= MG2#%*#!JA9K.*6H,#/7#B4D11FDE1WRU1BNQRS1C3!AHN=8ZG#[P"YUE^1VA MG+5NJ#'3FII(E+'/V0V/]2#TU72E4:>$+F,YQT'KZ)&Z"A#6%A8BU5)%C6*% M)"F(ZDJ649^C%?M Q46L.X@#^DP;Y--XS?-7@_"72@PO7L'F $_>#/OC5 M>'#NA*K B*,Q2HJ[5)MJ$*R"19B\@0'F.P<)'I.2&*Q?MA8+;Q*MTB7YZ?R( M,+Z=P%X+NS[B!9,C:4IKFK0AO:7]=!%LZ6K_AO$?$&K24>NC:LH"T.:'\@*INJG>&4 MIHR=77"/X73:S$'(31?EC;[6BOS MB8#R]UU1IRY.-,MYXU-)%"\EQ EWA1O>/<1FVV-IVZ2SDX*9?-%)33OBK^U2 M=RX! ,:B%/."$Q!2[6YJ Y2%Y&L:0MCK1'I]KI2>+X>;U5A^I$"#GFV<#H] M/>"-2U^1'H,*CRGE4H>_YK IG,:SR:SW[W^CG>]WF__TS9^>Q*?C+]U\^>CG MVORQP;CVO_'S;CZHO6XY!SGY_SB ME,\<70$I6V71W'], ?=M0PG.)\?":>^12!@W] =GZ1R=%2HGKUR)% M!H(>2>E=XS&)GA*.!"1=;YG.ZW:NF!YYEP,P<0BG8V\F5IB/RUV]PK*1;FI? M3:?>%\[S=^UQ'! H68+$JM"T3;(]_D9"7N" Z[_>7/1Y>%!4).Y8T,J,(PRD M0T7_SIU^D1:>NX(I*SEJIZA\J]'?S<*X+94$.@ZTHS(W,%3LOIH,IMY$WG<+ MPUN3QELM#N<247A0E[7 (!6,AU^S8?.=!V4QWH>>CK[^(E#5#TH'BV?8#"]Y M(G6OF*R="V/$ :)*6&.0P3VZX*=!!W$=@^GJ$+ M&:!F*(F:I6V#3+P^2[64[K.^ TF4 R2:;78;B;S]3/^M'HG89)%QRRPAD)0> M*6?5'R3X!25O(#GVR0*7XRBM%P-.K@/\1;B.4NCH1/\-$?FG!A/?\,(F196LV[A^=#(S@+N+,-N/661]8V1B,LSP M>B3_/HGU!U/*5,N;"QL-Z(YTI[S(&^I3!^NU&-^@"061/TDRW'3C$I*2M>H8 M,;0@5VP0\$'2$AM*)=VS(L%,>=0 #L8EMVN3UD6L@C%;E8P)HI$.M>>H]4VY M:1.Y,,C-YC-=YND@NN@">/[@LQ@LR>!AS+G[3)PS!T(FX=TQ5H<4^VIDL'L' MN[0'X8"PUDF 2]UG=(VE^:X/*N0L>I8'4JID.0(>K=XE.Z/,YRE1IH%US.1F__[H@T#]V_ MKD@Z\%=,UY>C>&7RD[6N3)?"@4QZM4 "\V0A6YG-DM7//<.I57P2& MRY>$GH=(RMB4NS3H(KPPNFLPA]Z)[NK-P1)U(HK4.)^5!C81T,#2.Z'^Y2NN M1\W'\X1K\$ON"(4ZV3Z2,@A#:U,+9?OE-_KS@#Z^]-\VTB90 M/INOT\5,]\U>>=$81BC<&K3&PV%\8L)E]93!G#$=R+L"J,R(B:=G)C!W M&I_,_)_7WLMLDO%VS?20*(O>0(5P,N>GPSW3ZZ&;5^F\ME#ZYO/30=1\Q>S' M/%0NC,\T]!S]V]/,QSY_JEG1DU$\'-HE/AD&/[SK=-RV.SV-1R=#^^>Y"2AA M2PF:T%H?GK C>0,S% MFEJI=MP".R#IZ:O)^&0P=.H D,=74XI)=X!4T2:^PA0ESMJVP.N!EF[K$<@Z M2N,*EQRYDI//VGO)U4F<6=%89VG. MEEV;G,Q4O@)65)$@XJ# &'JZK:U7T(#$7'I+(PB@ @C?S0LRP><.0W.?KFDL M*I,@B(2AJBG5FH$K/4-;O5I[1-/1(>/HOGP ?;$X)!)T0(IVJ"Q&<&G;&\=G1B[K'_1;7(@^9=L5$(E3N$]8HC?^@ 60Q$>6^SI M"/_"Q,?11_SP30%2S_MMH(Q=[K))5%BL-^9N*Y#EVH3M6FZ9.1@T?ZD MP2C9G 6?7[V\OGUU$?#]B&*G@:2'_'_0W&AP=L+_!W^,!W!5T?]A006)MS;K M_0'_S//=!D8E)/B6*_-=T,)3X:V?;[6Z256?#@=CS.\TQ.'B/V?X%TWKM_O( MV-^F_/V(OQ_Q]V/^WE)+*Q D/'Y&_10M9^\A[(A@F S.?MOIEC$Y#X0G"A?6 M=*YB7>M@-IA\,2=;8YEFFSFFK'6@2%_<1@V$685OT-TF!;C3^V2],FC.0B!\ M"V'!/#&^;M>K8_2GDN[K''ZB'I M DD0H96A^Q:3R=PEZ%>FR)):;&:NO43+RTH"2A>8]D3O\]RIL.).\C\([(_W M2/K!5"#Y.ON4KEU6>80=52G766'/R4 BQ!ICH )R)D(,#\AOF2T,A[_%K8!^ MX?#'/>7O#F!>SS K MIA&N;<&%+D4E0_EDT$LMED@O5-Y4H2P*5+6AV$2AH< MY1H9@A/=..R4'"6-6Y0\^LW-1]Q _B3%COE2XJNQN8+ HH:T@L/!Y.3?< 6M ME*DQ196YKUU\$#?)@(.2\J*:2YUM^MZ_+I SYXMV+TBLFJ1,HHH:7 0),\)P M3_Q#IAF$.&>0,P.12TX-SG DNF="V@U&U('$"T/<8HZ3CBF)](>UN8\:8!5X'^ZS=1IP"S?*SN7F,"]7L G9Y1VE MY_-$VR7@97P_D/9%V]!U Q'L15;Q.*7,(^W%MQYJ,KB1Y9)"Y?"8<+CV0U:L MM01O:UYK74@F;^TD[M.?ND;J$!L/1)*',B=^@2RD/]1@Q.*$O:WQJHRD[)WA-Z6O^ MMLLY&X%&@!_J3J/AT]VZ9+C&)L- 26+":=N>HLWW#7CX'+2%:&6>%MQB M=TVXNA8QGXIG9#UH?3( CBX@),=>,D[9EOG,[QA8]B5+U>E+^WF7JG_0[$T$ M65*"(H#N7OW^W2=ZDVYIM@SB/WN%3P=F.L7?[ M5?C=N_,V>3IP6_KFU>-@_F=-RYR7GCTAF\7EMP?OR=D_ MBZ"Z=\29V>R>A +"*VL;;=P#-_?%:H4@*S-=MG"J.Y3N]GV#EB"@IMNVQ2VI M#3\Q=J@)MR/4)]Z6"?Z1D&TDI:QQ!&GX6L-Y18#U9O>A<%V%JU+7O(8A*Y6X M'@1B4)/1F^N7[S_R,RH$/T;MH\\\!Q,96][VZ@@J:I)9,'JM=%D;R4+Y/DUK192VY MD\TITSN$W"$EDZY7V3+@:VT1Q/.*0P!E44!Y7INB-1J$&B8+5:G>*_ +$7&Y M3#5"!A$'Y,4@+'/5 XKET7EMV#ASR1DNIG9RK&,ZBQ7709ISMA2)?S2%Y7@) M6,5K=.A62:IP>=X0Q+4]"WT8B(".,B47!4'G=R95GH"@*##1HVNQ#DBZ9--O MEIN:B$[Z+;:P9F)8=8F-0E2QV>96NN>"<+URCVZ=0C"K5RI$A3H!/:P@4 M\'E9I5RGR_F@];7R1CX? 9/$%DI9A,)NKH&^'-,..B]^* UJ EE.&)&LRS19 M/CEGMXD09(N[]]O!G%WJVYAS0R">M&2K!?2:I^8*P"JR-L-7[ Q?K(9L$6!O M+45$9V(+8C^#W ?BZK 1H(+RYT)[@EJBX2H^0*O[:EWP,&D'8V],CJ]2& MN0 JXLY,:)O3PD^"4J 6X3"LDZ>*,N@@P!OUBX+8?*PUOY$$L>@S1TTC??.A M=F8YS+/C$F$&6\V[Y8:0I1*1B5OLL\ZI>5*\!M@?%S82:89*N(P^8+ VK2<-OU0Q0XXKA3*A@#1 M7S%%<:S0[O8,PY+6ED"$Y3;R2X>,CI)SA7<7&PO8FA'0&T5C+M98^1%+?)$5 MF,ER592N"AMQ![%#L&$$\ZE)/MID#4N?DPG")]):%A3#CD&@)A,$-. *WBE7 MH]YBHOG,U3!%WB,WATMLO?(5! /^IV;[#B=D2;R>CPX0]"=V9#8(D&LE4;>Z M+,0I.->1F)?)H \R#@56D$T>;N-<4(2&N^-NK[-46""W*OO+C!_$3S&G:'[+ M1DIP0VAJ],;7)*U9[S8#O2#WA"L0UG&AV7_3G,X&WQR8F5M(GPO>+7WFB34% MYE(Z.&BCW&T#\:)1B[>YA.HZ:7P=+"#37K/($N/L C)460X139Q#S3$L=+Y< M.Z&M+4[:$F/X+@EX IY$,H9MT?-C<6FQ!F>5WIR7N>PAF)S!_JT;8<28?.G" MNZ*[LMAMHWLJ7F)$U\@6"==$);9G4N"NN0I&VUDY\XKVB2+>-.'*_(S3YHKA32#;/@^X)G M1JBG! EKX2)7>F*%ERCI9M3PG,^KV.)4<^T-K!W#^ZEI)!:J,$6P<02SX D MH6(:68N.D44\<6%#6&EGK^M%1M[4Q>+3?;%&(^_OHBM@J/73(>\TE<#H\V;] MAPH.<_H?O]E*)I??_.E\$-F/=<+BH^;EXL!"H7 YPP0" MRX&I;HJHR4'T*EM3IS"88!"J.^O;2WPO+. KK6\ENXV%\."3]B^22H-8G[W" M_#,M82JWX0I^E8!/CX9&Q0%C@BBG9W148V M[[@563RYF@=Z2K[3#?XYR*?%1/M7)/8'R9X/OS:ZUE0K$=O&<0ZB[_#&$ )E M"?"7'/^\CX=T#MYE7-(#Q!:Y$%E&,NS:(82L=0WEAV-WT(/CK>FN30E'1[H" M S6,Y,NS??9E[PPQ7*SK:,2DY$%I\S];W5?ON-9;.TXJ(QQ/ ]$6DEVG]R#A MU,@WK:$*4C14(CKAHU\*$KTG?][S:.DV,/I2KHC6FL4]6/3):7P^&T63LWAX M[C'&5^XZX+#LUO6TZ.O'-SR.1D.3D;!O?]J[(>!FWC@SSMEX@N,I(7)3^96];)$);[K*,WPP2T\D?OY>#PX*-H M9*),OWQ!E'[=DB!,?(K_G([;)3U9;/F8NJB;#XSHLD!LIJ@QN0:'9^S8?UE@ M7#?F#LBP_#=:NRSRFAX[ 8>,#P_L9*(5+%,3U<3]&3B?G[M:OYD\>GVHMH!199<_YC* MCKOEA4^&@[/&0L)"97C[U.2N03M2 )YJ[DUS)=U8STWV0%VT@NML:QO+O%RY@0W=/!R<@P;+];[5F%]PR_[]^J M7 P=0?K:Q",YQ7TZ<17$"M")U/!!=AO0T\CRD*=W1YJ]E\Z[83R7M3++,563(JC*6, M-:%[D"4[H'C&Q3$B[I57*IZ]\:4VBM]P*X 8(;F1^3M(6-*S\]/98'QFA>:6 M,NA80W3UT)6(;V;9A[QCPE#,#'S(JD\)J([H/)3*4M887:).?/V'9 U:='3[ M7]&WA1:5)!=6'+UYP_655^PP[=VCA.WB2)(DN7?%#/ M@KRCG(L3R'9=5"2%&(I&HX.8W+):?*2JPS%=HP'U6#XUD7ETLC"G^ HMC'H\ MVQE3.$IC?&('U $HP-L@)$PJ;J ;J?3'2O-XDZ19;5.7'J=<$%E#V[E7\4"+= MO1-8F:&9BY:HTW&(/X8C9"FZM1&DV]R^RB7L,)S)A#N+9T"=6P,]+A3"L=JM MU\=:O25%VF=KG7K0U#BX^399BGB*SWS5]'4>WZ>=$F*V/UV]D@.9$^K P]#(?$UOQ!]5G MG]E,=L#I7.U"$KW98IT9RD?*4EQX,L>A"$>;VH)$T#@>$U=J_;N;BQ@S70\B MFQ>\3A?W>;$N[IZ:2XM#MQC,!/'15;$A]V!2UYB%^B$K=QR)E8A+.F;8D5JO M@]H9/25I3(U0MKYR4H2%X*;U+%!:3N'&!&](V-Z/[BJ9HD=5^-S#!!G$],JQ MUEV,H[\5"5%&O[9 )-(;4V)7=NEPG8&> 3J03$ MAN:*['T$9&!1F"J&NGJP#ZD$%;ID',]O #V.=Q&(*Y<"6#G393!0V&COE'^>< MY<3'N=:=IF;RD IU6-XKJ="UOX&S24,GC\X/KF95(YVSV6]F[@+N\&&W#N8A MB^GRJ.>!!S?NRQW2"?AH@:)N?)3'35@,JRC4J/:D]382#NSZ1K9S8U!FPC5G0 VMK@6V5YWTJ)S_ 6CD0"9!U8X<#U.YR^J;FLL'M4J MP%WZR+ Y;.3F^+\M049XPOP:N3=/\3K$4TS:%*?@VMK3Y2!N'0?+IT;WB5=P MT07GHUA#/BN:R"M/?,19-_^QFZ^&4W5FZ( I11D'Y:,)P%DDN#U7W&Y'Y3(J M/-/LR.IQ$G['6$CUUK94ON;SX(@PD;OEZMPYWB8JUE!++L^#Z4*(B>W8.QZ) M<=5RP+S+IDC9S)W@@0*.1&&K\NWJ5&O8)^Y53]4*BT-PF*_$9Y:G*"Y.W2BP M2I7.NUO$(T:Y*76G^.)<9G#7ERK 8@BFFU]/R4,_?S5X]I?%8SG"3H42\-J" MZ7ST#$;+A8 J?D>KV..;RV(WKX&V7%F'V& I&'8@4-88X^12$B2HB(54%'DD M6 *YL?4]FRHR+ 2IF(2MO=W5-5I,1S9^0;$LB<>-_%UMJ%U!)G1+#^F,$K- M?J'>P_(1SF#CH@=!ML"")IV%"YY[WQVFZ]R8"(:C4U[[UQW1;;;!&=3\&LFGM*6KK,M.(=*!V%%(H<;%8"F>()> S"3(-!;J M8T%#F%Q08F1#$W CO@16F:M-.;^-VJ/8T8;<>JE9842G:ZAJG.2%[+).Y1(" M]M*#*0N>5+IL6K5U2;X:;EZ7B$WD;D$EYYTN 0S+$F98.SI@W:H@,;3/R=38 MPOM ":'D[J]18=K?EXV2YPM.I#A:SHZC1*EQFJ6[T!AW=C*866,<^:]D:VZT M=""\V*RK/=_5)D2O9C!*04DVF;/# M9.QLV$#E@^?!B#K#$$>3G\@09P%H6] 1 MV(REBOF*]7KQSM4LU-[M0+\BKG!@OLZ >L2%Z-V'/?1S'M!/9W$+QT;'PQ=_ ML%6=7I?))B7[J;B4,1X^O_-QQ^;=C\8913O3W9 M+F.J(X2+R^9) 3I$]MBU9EWOJ6L3RR[!_<:*D3?DT&6T2HF6ZD=4?22Y@0IF M/H&BIW912%J?:E40B@"3V@!%*[-WD/B]\WAJSDZ?E\>*YPPFFZ\1(B1%@FV@ MF%E)=2QX6#VFW$K6Y"Z^XPB$W"!9O76#XQC1[ERF]^B2!O*5ZH<'K+=;/,Z4 M02;!)D $O>W/I"S7('DMG?1,KXYQG/\S&8\ 5BDAKR1AN)M#Q62 J"FX>W5 M&!1!JVO*,.R7G]U-_W(N MVM9C6(/\Z!7'@S#"'=_9_(;T3%+"2O)V2M-J=PN==!//:E9&OHF^_O[@D)RD6 ME$'G3;95%Z"L2NYACW1#6D*?N!S?%67"$81%:5YC4P_K M*,ZA0F+ADG+ZU";-?TWJ(SLN]/ M#1"LRZC?22(U=2%U%5E(]1 6"XNG%7#DXI.SY9*-D(6Z2[D( MLA)TTC22/7J379"033UODK#4&,Q%Q51?%5::2>9%J3"EQMS%T6[44IO4T[UL M$-,^&,5]1QVX^#,4\PHZ]WPDU1\('&>1Z02KVJ7+:8ZH(Q*GVY[ML66+Q&<< M!&G[4NJ W2C#5%4;.LR%';6BC(,$=;3PKHA(0"4QJVV<"'/332=5+2J=.!T4 MAD_3;-DS@K@B3/?J!T0,N)/IE62"L)#$>LP)3%,!P@BKYGC3V_OTH 7FXB]X M=7=("CMW..NGK206PYR!R([ESGA2;8Z6&2_% 7I@NY;)'SJ\T.A]"F2@VY9C MNKS;P^V60B1!CMQ6(=U)@OS@Y-%\3._J[=GEV=]W:7,]A<7!2@]$3?&;ZE?/ MC\K9;JD;68)TV;$&I*%:&P5+$WCHLLKKG%Y1VVVI7(8VY1GFRET+^TYDK&(^ MIEN3IA"6J5Q5H'!DG'6AS[R>KM9Z(&;)A2B^/[?*./$_1$?9"PSL\3!>1=29 M)(LHO\T+S!J#<;O(48\R^,R9L#VVF9\STZ22OVAXI-?A?9>ED\/36^\\O @Y MTST735 0EAPO19,

N"=S3QN*&,RP;K.>=4_L$?'@5?\=68.-[!)TJK*"$Z MZL'$0GD_Z$;,BW@=9D1L].RQ1,M0[M#7/ @?(Z.)'#A]!F82(0P6BMGI8F?O M]"#2EU%';&=3*52(RMU>0;H##;RGF'O^WM\E(IN3DV_)]R9_28CTDKRZDJU5 M[AVF/3RXUC.G;D)S/VM?AL@4%ECDZR<_QGG*,=!8Q;M82RR9G_NU:'@46<^# M$+0@7E'R;1RH9V8>J-#8)8H.P!8= MUS';Q;(>6;Q*]*&OLM;V<04;863M ]--,GA\["#@KCWNEJI$@JDU(;%=8+NY MRW_JUG:M"^W*3][1(CC,S]&IQGRYW:\[RQ%M8<3VA MAT(5OX#].,T-IX&B2TU5[P>&>>\-G,'GUD;FQ/HT3H=9O&S%LK45HN)MBPS3'7B]TU/M MA30\?])I^HB8?1.B ^.%?$E7Q*F+:;/1[XTWCF_.+3^'N MV8A#%\@G2_BR17JILPD69+%GZ=PB 5,T"@&3:6@FDGR!@>P&K6,N DF(.!EB MJL J@HN[EK0!&Q_^%.!M7.J,ABR*P@,QF"=.E+-.\XPJU(0BHPO]M5LVI1(& MIS(("GGZE(JQ6;[7D1%R5X:GZH0W[.P;KQD@0XY=+@NCNF9!.A\6B79S$*-] M:BZTD(<9PB3*7&1P*2NV% L URMW$B2EKN1;B=7S"K8*"T-?YXR=(KL-U4>E MP*J@1)GR97' Z/ 76Y[IS(0XV.(+MA%FE%09YP2E2RHVG9V)MW5,/[B.9 M9*BF3:RFNIZEP3PG%>HN!DE;>-N@6O.W:=ED"]9@*9 T:V!C_P>-A70+#"N" MM^A@>'' 0#RT?+JDM)&*UUR9A\!+>Y;!=7)O&L(=1'BL.1W&^=/L@09&^0/Z M^Q(U.O6N6H_1,J*B*K#.T[7$FU]4&1D>GCW*+&0,4N*0D!3$S\T%+MM"S;9] M U;,HO@_0I]O.V^3MR?0.>';0M-;O*;=J]P);* .W>GPLR&>*TD.1=@+T35Z MP HJ7YG>:2(LD=H^4YP;BL DK:G% O:'O>?,AGA95/FE%&%;O8&.<(H83$;L MKO&J"<_@31(#$G3HEI7PB"#K?9N2RDZ6$.!TI=V'ZDO(=<"E;)A]HW7[OGC$ MW+1.255.918M8$RA-TV\MC;;HD.'+1)13D.*"LCG(**_;KH.M,7EX:U("![S M.(;*D16IS0N5_?7Q+.L>#/(9> %!\W$)_F"-PU*UGCJQ<>Q]CDH25,0ATC\> M\9RM2@W0IXX\\,&YRQC%ZMW8=FCH>>3\T0SWYC"0Q#R:P;+MO M\N)D\4..F4K0F2C'F"X4=Z*=UE05ZYVDQ7(97*M41VV%,/5T>1@493FEN$\I M3.50HK3C:E[<-W#"5>W;"F-6\,X 97/>R4B'U/LDW8Z'/@ST1,3.R(,61G5R M2W'58E:\-A$[N&*)3]N^ZPV'/G625-(C,W*:D9-)BB4QB1T/_ M*Z,J&7 M15)"=BDNL'T].+DBD"6:.< X/,7PLH[5)&.PINL=A!8W/:5T.$DV@7]U>'8- M-'>HL;]2#MTYI5M/@?P$G>'$:1^GT92>:7_9*"HG3D(_K5W*5+7ZSJCG^X<9 M?\$6>F_(LJ><4<,BK72M&0Q'7%T5F*L^^$YU++ M.!A/;)"BU\DM(4\N4^/7\EF0*:1!Y4<"K&!=FP!RP8FM%%/NH"J:RB5Q]=D5 M[X)67!3>MIC+3GWUK$;CHWYS(&F#A4](;^G=:7T&$<1C4,\\Y2&ZR M388U -GU6DF:D=YK[6LO2JZ,\MJS-FZU:PT]T]/52KJ-4JG$1U->41I(R$0H M4^QV5QLNUQJI*00;)C)T"@E=SGHON@SC 3D@PDB.E.=,A-Z5JS1I!Y:FZY@M+FNXC^'NTKMG*I<@0:=BO *^0<1\+/ MZ=Y>IM6BS.;D<5H7C[AU)'$O$9"_=HDV05^*PYPY,#XLC4>,AY]$E"HB5,]'O8OVI1;%,RE1')FD17%$.'QPQ6^8ZA6=:0&5/X!IW9 M+$_6C1 -Z_%BJ])3JOY@GZ=)H06R5*0+ 6 M;(2+9"]6;W;+WIT%%1,V:*TF5TJ8W#),5*40$BX%&.1G#&RPZNFQ!2"M+[M8 MH<^=:2>5\FD>\&"0U=Z6U8;BV*&%4($>ZD3-"R](CQ:PS_6<+*B6;D7!968P M+&S)]9IBO/"""Q.(GD H),\,4>UL6X\: ])\E&UUG W6$EGM+"+.J.P&\HS# MSN?Z3;K'X+,C-IA,[!*)]$G(>RRMCI&2D0V=UUZD\_9;E*<:,5=,F4>R$_Q. M%]]Z(;XRX\Y!+^-NRV[E0#>6.#?1GHX?\;:7 !*F()_[%L02SFNMUZ)&E>.% M=6G$:14G3#@W?UBI;L+KQ,'9"!0Q,F"?\3)T^W!A"?)H6ZH*:E Q5F9!RD#' M4&Q2!B=U,T]%LEJ#Q,5R U>VL3G//J5/AF"XJDV\5\5P<0X"5E &J*P@-L@A MSDDNB9900D;#HZ;3L(T83N##RAO&7(\$[6U6N;I?H]]977.N2&Z;]UP%1&'Z MH0/[*!W<#5C>D923-/*G+1T3Q_.Q#AQ3!!<3DILB$\2I1^HP:#@242^H-*M#BIN FSZV$SM'J!/4UY!4O\ MG#,J7ZH5%+E6J 8JG6F5$Q9.G9*'.^>/KP@GH>K8,3TB!1>6IFX_E^+?"S>T MA[##F(Z,NRZ95<*5[FJ).)G69 3S"@6:XT$R>@*FQX?8IA#Q+#5VDH M-1/\ZS)V2>9Z]G];WNVSDX@"J*F7"!4Z9A M-YSE%&_LU<1Y):&8*#&5 MH_;4QZ8I@P/"CJ@C6;PV&S-S9".^N\<0*-!<88,C"?IE(P.7$NL;T2!ZDWU* M'[,JC7L72S3:W@6K?>V-0R98[]M2D3[[9SMPL:@]?+U-KC^!6ET=BOTR@RKL M[LL6V$LL%OR3:\2+6/1 )D92NT!HF $5I8NQ\V$X/5OZNZH7UX7*G]5GO9:% M]XVZG%UJ(+^ZD@=-BL'=JX':\.1& WM$%7:/.AP]>W""C6R IBWF?<^\%:83 MFAN#&U_BW2CL*6:H ]>T"P5O+:A1%5V\"\9"8LUWGSR/'+9ER;ZH **F MI27=;8T:N V7(7!3H"'X6V00S)KF6A"<+C&H&^<+=)ETQ'J"W1FK&#G7U3$L MQD&@P&-*VJ)>>.Q/"_&QB4RGXJ,ZF-FZ6YT./Z4^S"1S 2T0ZKD4$Z'I^UT+^>QZ(!H MZ*PD?1$?&;X=!(*##(#@!)4WX]JABJ64X7#2&RWN3E.WFY!$)D+A@)Z;A-[5 MT(1HA4!A7,H^G239B(=D*S/Y9S\=*S2E$D,Z/A2^YN:86%,NA6\&E.>CIE"P M7B=;FIEZ8 .+;&"F-@@2ZJ_71$T:B!*/E#Z=J_:Q1 M3PM5W57"Q;/4A4CH$WT4CMB, !NR!Y36PW<=&6#ZKA9&08RT)N$'6S QA6R07KU8^51/ MG%H)$9H=>%2G._1MC,.UL0<<]'^L$.R2'21\*2FM&G] 5FE)6KEM-+[8&%"6 M_J6P!%Y@5Q3,A\>@SJD4&"F0<>"]5Z%;88GPBT94:C+$IK/UOG@T3HM8N&^L M:A:#G\4>ZS,/!U8"G^*5LAF;/+V8.[;89 N?6_]],QD!Y9&PC +:SVD)K&S MKW&C9UPF3[%7065KOF_%3>Z]9"YE@-RD3*6"XO+7:\I&BT?F!>@X2]4YXB36 M1L&=*CI:8B'*4E[X^4O;_ *E_)5-#T?Q;/9T-=UF0U.HM_:%\;3>&C*QLQ&@[%YX>4NX^( %SN@ M?CYCEP*KT4RTK4'.H$5?3.=D,#4-^IG$P^F)^W,ZF)B7V-_1^N0LGI[.3+NC M[G;/SV:F73O=6[J%_>1/)N?Q]&SB?AD-AX-AN#RGTW@V'?6^\:_^]\>2W:T8 M^BZ5JP7D1F1V[5//^_48G9['IZ>>GB:C8..^P@6*X7_1>!2L_!4(JF%&9?WW M]#0^FYHM&'>2R_EY#/_ZMV;!+KS'Q-NI(]8V24(GX]'8=C+IZ.1T%H_&?FZC MZ6!FWOJ62HHN;'U%=VC&\7!L1G?629JGDWAT;MZ:#$[-6]^@<$P9VUL?3L;Q MV-#T:2<%3D[CT=2?X[/!N7GI(W'7&/Z%NQ[3B(J[YPJ3"N&5T]GOR2R>S SM MCSH[/AG'9^=G]BV[MF\1F7O\.MED4D<>AL!F=$-7;@[#>#SQ3.$D6"#WTB0> MGHS-1$?/FDPMYSC_E7-T<(X+-:D3"^F_I=ZECY3JW'E4 M_=*,QY-X=FKV8Q1L-#"1\Y-X?.[W>#(+3N*5^@[=[=39D5OY3B7EIU-'%)0A;('*] MM4@@.#EO?4J@%GL>FV=%)<(F[MX9P@?H) IN:_%-(7)+S5IBD2NL%[WD6 M1TT, \FH9.Q157CI/9@.3.0"'Q6%"@*UYH>D.NP6M-M(2G1[[WM;"HQ$L 1< M<#0K2;6QWDTT,--<"'E"M@"'*!.DW9ZTSE8O=H:_IG&&S(8F$I+BVHTU7%(1 M*,+8=^E 6PS[R!OUZGWP1Z/X>5!]6E'#/@.G^(KNQ+SJ339VE*P;N;+QFI"" M89X^:7X;61%=^+S>;TSVU-9[@E15,G%1HPXXY,R9;-!WWBM6;]F&@UBHJ(&% MU:/K8>X)-&62DQYN#%'SS>7,4Q1$J;N%>M7QU[9]+8F[XU69G*QAYSRJ2M4 MM+U83F\-QQ>F>1<#J>29)U<-GDSVP#$>Q-A8#&!> O;# L)D)&E6$&8L#B_$ MTT^;4K"(' ]*5L9=3E'==/0YY(JY%O>U])TULH+?$;:G] 8B-%5]C3,JTY4S ME;66D().=BX?N1_1RO'/_5UW]BOX@2)W#B:/%>YH3F/Y@LQ6)+!Y7*+=Z*PC MJ6(0G%R%WHQFE5Z!^E6!7\M"L@R!+;KH^KDZNGOJX?X5G0#A3XVZP_ISNX)* MZZS]A!^$I5IVVO&3FNJ3VF0C+5S]753K0(&:F+M_!++Z[/S4_ (_C$;VA]'P M-!X.3\152M=J7805!YS$>-9:V^FT]=,X$'*<5!./9LU.[+TO )10&-"/CT;Q M[&3ZHE-*QI3#+1TN'G<,3-\&&<9S3\Q_Y2XFO?3+M@34UU7?[T?C$%() *SLT/E9)'**BZ2N0PZ#.3TRQ09N\QO+6X$ZJ6WG; ML:&6*ZJ[Q#B9J&U.^W86ES1,P*DI ;W45;2Y?G;P\OBA?'2@O0^&8MX;2WW[ MS0 XVV?@]\AK!D'HQVWW#4*.,KSM&+?M$=FD =R+*X" V";+&^$4)2'K+D\_ M8_ZN*C6,7LVFO\Q23=5+&D,E$H@M.[7?S]>L31)[ M 83C8"4E!4'2=KD$-#6 V7:!GH^ :=?2Y3(TO+#)I9_61=?82_ MAIDC&D*]2CFFRFR\Z&E4-\56P'$1#4YPM+F!,]B;SS:9

6FF,FQ".LG,H-3691ZRE-Q]1P\6UZV TS(+L MZ&QL$"OQS%:1C/@];5^[)PTZJQF9Y-SZNL]!W6#7&+8LM2XH:I9S-$C:SF*= M!E$CN("M_/.>M_K1TXZ=P\W.SGQH+V3Y_LZ[""J^UO==16[1'$)I5> EL\+47A<%*5F3:SNL^T@^E8C E%+D37SV77,R+ 3 M+OU+^]TQ.O%ELUZ&R7OPGH3!;;;KXBE-*1$WY3K*Y X3T+LDTU2F]&PU=2=# MT'HW:J:C,S$0K$:^U'J?,'0M - %(4:*B-EG6 <^D7V>\Y5C]'G$,^![)/"Q MQNFM0<5C*B2/);4;@@BWZ)B.SWNE?-,=%GM.S.6L>?X*-0$^>691HM<#]7V. M4KL#J1"N"XD9MF]A\)5D]WK .Y#J]S;3';(PR_M:[>;A!4?4D'*19PWIEF,' MY(>:-F8[Y?F:ZH(BNA2CW7,#6/ KT]+$W:K\!3:=*"99#GE.WF MOVUO!9'C&V9+K@/9\-X BKJFV9]IG9G[$=JIDBSQLC1*!Z>0EO>"ZBK#=>F%R$I] N[Q%3!\?E!.T# YG\03&AWF!9)VD9+ 4',*Z M1"0DM97G*2BTTQ=1^#[L+_?89?-N$<<-)IC7[*HV/LJHJ7H%)-5/H9$]UJW& M%4#%U.@F(6R>6.&;;*!1<:OK()S$L^%TSQ'F)*EINTI(5V.CLVE3.>CP-AWP MRJ_.JE^=54TRD0)4MUAX9M\SJXCB!B->VPE_^\JP(,T\9&7MC?:K;%4_\48+ MPL]7-<("L*0?JIG;+"A;BB38(XB9("3_.EE\8O6]6)'@R3TX9>R)90!N7S#? M.TV I67!8I71$?F8;DR@-7ZY3AYU8+%/%\]R ZA(J#JA^8C0[:B=:,VESBEJ M.!;UPSER$=%KU11\M4:'A4MZ9*QIZ$31PK0^!A&/0GY'@'LMI&L\!J;*%R6/ M=";L8^6Z?46.:=1"(@ZS1([?*>D=0FY$2"CKB&$ENJN(;$'"3X\>#<2?"!/5'#Y10" MK.;](&X*RXIY6Q?,=P[J(N;',;#3;"W.AB1:I4LZA7Y$F&J!<(<+NS[BD!7^ M;XK%]I;7ZJQ=V7S)+I$M#.^+71I')\%Q'2X7;0U 'YQCH,/:KREY#.LQ[P'O MXIQ%)O'4U"F MG?@RB>5)R8>;"+OR-BL[8TWZLN ZG4^VH"S[X*S.)Y>//RY5BW'>"/S75V]\ M_HV >#TJV6G@!V&17=S.8:#D*W0,>_,:)8YU-FP*Z_:^ M; #J'0B][[3\J__]%7GM!_DK\OK?GNQ^15[_BKS^%7G=?.E7Y/6OR&O[VJ_( MZY]"XOODNV?0E<])>;]"WLPOOT+>?H6\_7,@;_M.]!Y77/.S7QU[_PK'WK[- M>\;/U[6!O[H&?W4-\E(]3U[5P=["MEGI5S_CC_8SOD8#*&_A6S^:/08X;\,S MME-QD#RDZ\J:.8TSXCY+2URBIT9^!96H+IS^6@_Y2__915POBYKYX@^L>C>3? ML?P[$:9VV>?*,*QF/(M!%#$_-.^!KE_DHS>!5T->H[XJNH>7J6[POL8F\71Z M>L ;EU3MY8Y\P4F9'U,*^@[\^F%3.(UGDUGOW_]&.]^O4_WTS9^>Q*?C+]U\ M^>CGVORQL3SUO_'S;C[Q$3W4HNY MZ4!+&)U;#C4>#N,38Y6\$*0,S!GS7;TKZC0R1')Z9NR?T_ADYO^\]M@5DVV^ M:Z:'V%1ZS1+A9,Y/AWNFUT-RK])Y'<2*'41Z/H $W<_8A.$PG5V$!3,=)"-, M'/9O3UH?^^ :9N%/1O%P:'?B9!C\\*X3%]+N]#0>G0SMG^?&RL0V$5KYYH?G M;5EG-/17(HL0G5^>G<5CPZ3.@&<%,HG3D)NQXRUF.H[/3D[\23F:H$_N16,, M/H+> FN<)S_: "D1O\'S8T&<"_2_\$?XP&0 M$_T?%O^0W 7?G4^X)]YOMO J!B"AN<$JTC"2] E%8G[^*0O]/'1_7@R,8ELLA3=E 18Y-E[\8 MC]]CDGJ>_;0L'IY[IGGE$K4C@/BN'0:WZ.O' M-SP&_FV""?KVI[T;PJUYX\PX9^,)CG,T&W>,4T:2H30]I_+,J.Y5>$@TXF\+ MXDBCPAQ"=T$Y?)(7!>WIEG4RA.4^Z^A-PZ)?W2@:O9\D-.:'.PP)6 [R^2IU;0)$PJ_ MQKL)/VB=X-Z&.M>A^Z"&!?&"O-71D4T^W^J=H"+MD^8QAZWAC@:3]ON(,FS_ MZL"&K5['7<<;P83M7YN8PHZV.@:$F,'VKQXZV'K_;##J:&72Q=@\0K#YY+1K M F>#\_:/!P$!6\,9=;4_ZMR1?7B_%K?MFF7G@DR[NIIV3; ).VO1T:QK@_8C MREIM3+IZ1KQ8Q]W1@(TUG\^Z*'+6M08'H\-:&W4R&'=LWUG7FK:PY,T7$$#> M,>!15Q<'@,?;)-&Q'"?=)-$QCK=9GFUVFQ;W4D\YHX#0;8PZ>B]O?)M\[FIF MULTRO^@6>R[+Y)??9:-QH"(T'S1-G^-Y^#A75<9P?CN?;, M*%!K>A?F33_0Y2<@NGHNUD/R>+5NQ682KM8PD_5BQ\VR;J.=?;/+EASH=7DOR^ C?^_/Y"8?#R<'@]'?'3>T:]U74CRP/9>@Z2<1AMY:]KJZ\-E*>A7, MVT;*$Y]E[)GD9,C4*==.6^:DWW_2;"2GE:?E_:RYB\#8JK?OS?,>4D2+: J' MA@81:A[__0:+%%[CC=HZQS\BS52'YM*P\2P50H:QT.VKN>.^?F,[>+;]KE1* M+8*7G$IGBND[[=%H^A,,=->FKZ D!L"UW7 MKVS+YNN[3W%TR9Z+F"/V%6_F0XT_%)*2^+^OR!>6,#QZ7Q M[@'OF='S ,+V"=B+)_U#2_7[40C/=BOC8<=OHX[?6M8+!')VL"U!<+:>=" W MNT[XL;HJVJ1U*!2RM58_#V+Q8%/1%P 7N]OL.NT3/NTM?<]9^9NIYZ+_B;IY M[6C8W=07W01!=HW&?= G;WSH37C0?+,7N?D3+A[,5-&R@Z6+9Z\=O\(N:QO7 M4'329D^^ -B KCXO"U0LV2R<>IQ/3R.=I-S ;'5)]GO@0AW*QK\!3&H?Q*.E M$"@NJ&TC<'"@EAFV#__3L1P!1/5_V+';.JG!?AUW8>F>;_DONZ)F)OT);LD/ M7%[\.N<@PU1^YXPEUV1$PJP*HCG+2HZZ')J-;O8 %C^ZI/ND0GQ'+BU[_/E2 M?.\W\CK8R/$!W=OFOK,T4?DFW0XP"(P.<=>)^_,NW_]"('UV MO<"7UW8'=RFE)Z3LP_\3?=7/*_;9!KK?\M44$I_$M2.U; ];\4"S+[:@7/YH MV%DWG*K-99N I"\>HH>X=,H,#?1*]]>]X)0.4T4W)*BUD9VXGY98:3S $I[5 M+7EVC:6U=L=R(@^]"B^V0-N8]'S/%^ X;$0T;,8+N],F\O?%ZM5WA8QB5W@M=Q))T6^A)YI MD/,D_X1)$^@.)\#)T9OKE^\_OD!FU=>XA]5LJ4P,PFHTLY/@D!"9I%)!2P@] MJ(']7J/Q8'S2=M18\BK*DH C'8)E3:EJ\2YGHM;3[3]O\05Y\0'HK,O2*$Y4 MK)_BM"V7,+6?Z;DY"X-CNN[F:G@SL$*,A-,2$ZD,,_#D\HY3M?:_ZKN7E%F\ M%,DVTY+0:(Q%:N-L82XY%^94P\PT<+389D!H".#5[C)PN6H1KH!7]4+,D7). M5OVC[)EURQP0+ME^(NETP_2C'/\'83:8_TXC&EM<;M^W/0X'IC9#;"N4FI]Q MB781-V)V,DD@ATU(CB[$J&#M'K1D!+G>_=CV=S;L\M<<,%'XKTNA0R1N:T#TI7J5)4(14@FFHM,L@UW2N9[!M3MH^GHF0,J[S)JB#/Y$:JD0;]CCCFFU?1!B\ M>U+BB&K%56P7)=:4F"W6(1I@@=BV')158@#6QP' M39*;A@O ++\Q"1M#:6ODZZSZ1).,-.GBQ4:9KJL[Q8U/-K7.FA+DZX\-)K@" M WR; _\RAU<]_3HU>VDP,F6.R4N?E[D$'$V9ZU]VYW)@;?H-9(Z3,O[RP.ES MJ-_Y^2G3-Q8!=0D6B[6N4U?K_H?%"MUS=S)C$"W]C>PW:><$#[7/ =:T>(8^ M@_R]&?AL%N Z,ROC7YX>B1 MOLF<'/3-TG4/"ODJ)_2*\RNL%EA!Z"NH0\SAH&R)QR"M'!,,5XD+&5V .\, MC)UT+&HF_#^JOOS5+"+4-!.7'1/6V+]9*>4\8,(R#HO_[+)7V7(63,% 2/@@ M<]GYJ% ZLM8R)0 ^MC<7/FXV:'25>J H>]/I]4J!5FZ\:D+;&)09&V%U!G"S M36PUA/NG[$ "ZY"C_Z/<_:B?HXE^DR*9++MYW65!M+TXOTZ"&5_;(0QF1-% M9G@\QNWG>725"2G=%D38X4&>*EF@ 6Q>OJX0[O4]%#: C.7B)Q\T@JK65RW! M+(E"%]+$]:!\;,;5*"%G"\U9! %_F;E6L_\6&AD-=1O&AV!JBY3/!=LDV;?= MFT2ZJE:D=$,*@Z-\ZNNB]5^V54I$:G\N2V+_CG;5-]>XPF)63EAY5/PC-0J. MCEFJ$B'S]8_$20].],.!%+CD[XI+;][VG;&^( 3?+L?B3;,Q$00T -=>M*[Z MSJJX64EN^S-67?:][99-H#XE]TRLQ%>SJW"T7Q"'..K0WP#$U0LY6$QV!6HZ M=?)4*XKV=[]02P,$% @ TH293GS&SD%5 @ 7 P T !X;"]S='EL M97,N>&ULU9=;:]LP%,>_BE#&:&'4=K*D[6H;MD)AL(Y"\["WHMBR+=#%D^7, MZ:>?+KXD'NG6K!O-2WQTCL[O_&6=1$I8J0W%]P7&"C2,\BJ"A5+E!\^KD@(S M5)V)$G,=R81D2.FAS+VJE!BEE4EBU)OZ_L)CB' 8A[QF-TQ5(!$U5Q&<]R[@ M\J]%BB/XRW4U1O@GI-WDXG_<'HU]I_8P"D$CO$YC6"P> ^]/X>>^?NY M.C9"SY^)?I(]AB^>!W\"/0*?[P$/H#V)%R;1:[?09,0P6",: MP6M$R4H2DY4A1NC&N:?&D0@J)%"Z973EP'BJ1Q<.W,AT4\MAA MI:[L*[G/5 M3A\%NI$12"CM!4ZA<\1AB93"DM_H@9ULG;^$0&LO-Z56F$NT":9S."38ARZR M$C+%LB\3P,X5AQ1G1HXD>6&>2I2>"2HEF#92@G+!D=709;2&QB:8TGOS5?N6 M[;";#+@Y9DM\"(R*SM2K;LUAUWPK>9OFV-O8Z4%<4)*U4)]JO1QNQZ;G\)W$ M&6GLN,EZ 9J.RI)N/E*2<\RQ1'1;M.[]U_R6_[/BV?G?2[:_*F/! M+ZC1')Q'(')^#"(7QR#R*'KRXO6+G%W^8XU>>WYO71)VK@B]%ZQJ0A7AK=J" MI"EV>LP=+8)?S>6/[AS4PTU!XQ5:Z:O^#E_GICA#-55W9HDV&,'!_F*$!XM^ MUK)'1'"P;W%*:G9I"P[_)^*?4$L#!!0 ( -*$F4Y(%-H1EP, %L: / M >&PO=V]R:V)O;VLN>&ULQ9E;L&;1:W6:.*?>N+G=] M3633OA":I)H*;@K+@B=*-NKS?GF)L*FP)E,\ZWDM#^%"BQO*-)%#K,FM%,6* M\D7/\STTIU+II!R[JIE33G/Z3K+J2BW%YDY(^BZXQBQ)I6"L:E7>J!J9$=1' MR1.1FJ9[%36>/6+#VO.Z+=/AFBHZHXSJMYY7G3/BF:=H6H]1S0UX6BG"A5K>Q8+C"G[X=K^A3 .W6+EQ1YCN4;$G.4 MT 6GIADV8:B?IJ(P84!Q.#;'D,PTBF>,+O"7>8)\X;L6ALAS MJJN7J5J? Y-4F"R$\)22/4C(%[YC821:I"]+P3(BU0\4F;=-O]ELD"9\QYY( MBIDBKT69N43K@S7I0VKP';L!C&O/@8T)R<%W; <8,[0Q(4GXCBWQ30!&)R;7 M9OLK!=*$[]@3N["WX_II@T&*\!T[XC#^U0$&D# "Q\*HBS&UD)!% L<6^3:5 M0B=#HNWT/@ W(8ZE J_IMHT):25PK140LV-C0H8)G!L&PNS:F)!O@J/ZYM3& MA'P3'-4W9S8FY)O@F+N2YW,;$_)-X-@W$.9SM0'XP(3L$SBVS[?V+J,FM3<) M(>2@T+&#[(W4CFU//B$DG]"Q?#YSBSHRR#>A8]]\32[J",$O7HY5\X6P@6*] M)/(OJ8T)J29T_=$+V@VBAHT)J29TK9JZ7*V!1CPU[>C:QH14$[I633UFWS V MAOM1!U)-Z%HU]9CC(I^9%U38F)!J0N>J.=AHUZ]R2#-AI9GF[F=&1N8FF\[& MIGMERE/,THE$Y6'[6:;=*;=,\X*Q@2F+^;W U>^'LH_=?YVK/U!+ P04 M" #2A)E.@TE%A9X! !*& &@ 'AL+U]R96QS+W=O;_LFA=746 M^EM7F"[+3UEA#:?IW+CQC&2['L^<[/:;Q.WVE$P^,U?8L$G,N3+?K3OYTMK@ MS?!!+_V"_BN7SOYG?7LX''/[UN9?M6W"C8J_!8FY'<3Q((8'23Q(X$'3>- 4 M'C2+!\W@0?-XT!P>M(@'+>!!RWC0$AZTB@>MX$&4*C*F^"0-:[S6I'!->*]) M 9OP8I-"-N'-)@5MPJM-"MN$=YL4N DO-RET$]YN4O FO-ZLZ,UXO5G1FY]P MUM8.VWB]6=&;\7JSHC?C]69%;\;KS8K>C->;%;T9KSC->;U;T9KS>HN@M M>+U%T5OP>HNBMSSA78GVL@2OMRAZ"UYO4?06O-ZBZ"UXO4716_!ZBZ*WX/46 M16_!ZST=Z>W+S-G]1W#'IO"/+KD:?K=F!+G?_2.G0;[%FN#[\ MYV*8^AMAKOXZV/X 4$L#!!0 ( -*$F4YFK-&@I0$ *48 3 6T-O M;G1E;G1?5'EP97-=+GAM;,V9WV["(!2'7\7T=K$(;.Y/U)MMMYO)]@*L/;7$ MMA! IV\_6G7)EBYQ49/?32D<..>#DN^FD_>M)3_8U%7CITD9@GU@S&UV3+/>][87D>8Q MZED[\9Q;I/;JY)0?53RFOMR'_31NV;WW'?AWT+.N.>W4S\A(./4$!0C,I1E,I1G,I1I,I1K,I1M,I1O,I1Q,I1S"I0 MS"I0S"I0S"I0S"I0S"I0S"I0S"I0S"I0S"I0S"I1S"I1S"I1S"I1S"I1S"I1 MS"I1S"I1S"I1S"HO:-:N36NEF[](/HQ9'NJS[N_$[ M02P$"% ,4 " #2 MA)E.'R// \ 3 @ "P @ $ 7W)E;',O+G)E;'-0 M2P$"% ,4 " #2A)E.)^B'#H( "Q $ @ 'I M9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0 ( -*$F4[6S!6_[P "L" 1 M " 9D! !D;V-0&UL4$L! A0#% @ TH293J9]PM%M @ V@@ !@ M ( !^ @ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0# M% @ TH293M[ J F1 P )@\ !@ ( !"Q, 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ TH293HM3EK*T M 0 T@, !@ ( !&R$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TH293CT"5NZR 0 T@, !D M ( !V"8 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ TH293MM/:XJS 0 T@, !D ( !E2P 'AL M+W=O&PO=V]R:W-H965T!JR5L@$ -(# 9 " M 6HP !X;"]W;W)K&UL4$L! A0#% @ TH29 M3KP;P^HE @ ! < !D ( !4S( 'AL+W=O&PO=V]R:W-H965T_+P@$ #<$ 9 " =0V !X;"]W;W)K M&UL4$L! A0#% @ TH293H_P^MNV 0 T@, M !D ( !S3@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TH293O0.7_[< 0 ^@0 !D M ( !H#X 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ TH293IPDKJP& P H L !D ( !74@ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ TH293N7H M,=6< P ;Q !D ( !=4\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ TH293N%6C"$@ @ &P8 !D M ( !BU@ 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ TH293IXQO6ZN!@ !"D !D ( ! MO5\ 'AL+W=O ! #Z! &0 @ &B9@ >&PO=V]R:W-H965T&UL4$L! A0#% M @ TH293AG;@<_B 0 I00 !D ( !=VL 'AL+W=O&UL M4$L! A0#% @ TH293GS&SD%5 @ 7 P T ( !ANH M 'AL+W-T>6QE&PO=V]R:V)O;VLN>&UL4$L! A0#% @ TH29 M3H-)186> 0 2A@ !H ( !RO 'AL+U]R96QS+W=O XML 52 Show.js IDEA: XBRL DOCUMENT // 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)}}} XML 53 report.css IDEA: XBRL DOCUMENT /* 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; } XML 54 FilingSummary.xml IDEA: XBRL DOCUMENT 3.19.1 html 127 237 1 false 60 0 false 6 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONSOLIDATED BALANCE SHEETS Sheet http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS Sheet http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations CONSOLIDATED STATEMENTS OF OPERATIONS Statements 4 false false R5.htm 00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 5 false false R6.htm 00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 10101 - Disclosure - Business and Organization Sheet http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization Business and Organization Notes 7 false false R8.htm 10201 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 8 false false R9.htm 10301 - Disclosure - Fair Value Measurements Sheet http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements Fair Value Measurements Notes 9 false false R10.htm 10401 - Disclosure - Acquisitions Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitions Acquisitions Notes 10 false false R11.htm 10501 - Disclosure - Goodwill Sheet http://www.comfortsystemsusa.com/role/DisclosureGoodwill Goodwill Notes 11 false false R12.htm 10601 - Disclosure - Debt Obligations Sheet http://www.comfortsystemsusa.com/role/DisclosureDebtObligations Debt Obligations Notes 12 false false R13.htm 10701 - Disclosure - Commitments and Contingencies Sheet http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 13 false false R14.htm 10801 - Disclosure - Stockholders' Equity Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity Stockholders' Equity Notes 14 false false R15.htm 10901 - Disclosure - Subsequent Events Sheet http://www.comfortsystemsusa.com/role/DisclosureSubsequentEvents Subsequent Events Notes 15 false false R16.htm 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies 16 false false R17.htm 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables Summary of Significant Accounting Policies (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies 17 false false R18.htm 30303 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements 18 false false R19.htm 30503 - Disclosure - Goodwill (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables Goodwill (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureGoodwill 19 false false R20.htm 30603 - Disclosure - Debt Obligations (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables Debt Obligations (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureDebtObligations 20 false false R21.htm 30803 - Disclosure - Stockholders' Equity (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables Stockholders' Equity (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity 21 false false R22.htm 40101 - Disclosure - Business and Organization (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails Business and Organization (Details) Details http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization 22 false false R23.htm 40201 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) Details 23 false false R24.htm 40202 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) Details 24 false false R25.htm 40203 - Disclosure - Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details) Details 25 false false R26.htm 40204 - Disclosure - Summary of Significant Accounting Policies - Remaining Performance Obligations (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails Summary of Significant Accounting Policies - Remaining Performance Obligations (Details) Details 26 false false R27.htm 40205 - Disclosure - Summary of Significant Accounting Policies - Service Maintenance Agreements (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails Summary of Significant Accounting Policies - Service Maintenance Agreements (Details) Details 27 false false R28.htm 40206 - Disclosure - Summary of Significant Accounting Policies - Leases (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails Summary of Significant Accounting Policies - Leases (Details) Details http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables 28 false false R29.htm 40207 - Disclosure - Summary of Significant Accounting Policies - Income Taxes (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails Summary of Significant Accounting Policies - Income Taxes (Details) Details 29 false false R30.htm 40301 - Disclosure - Fair Value Measurements (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables 30 false false R31.htm 40401 - Disclosure - Acquisitions (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails Acquisitions (Details) Details http://www.comfortsystemsusa.com/role/DisclosureAcquisitions 31 false false R32.htm 40501 - Disclosure - Goodwill (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails Goodwill (Details) Details http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables 32 false false R33.htm 40601 - Disclosure - Debt Obligations (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails Debt Obligations (Details) Details http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables 33 false false R34.htm 40602 - Disclosure - Debt Obligations - Other (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails Debt Obligations - Other (Details) Details 34 false false R35.htm 40701 - Disclosure - Commitments and Contingencies - Other and Bonds (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails Commitments and Contingencies - Other and Bonds (Details) Details 35 false false R36.htm 40801 - Disclosure - Stockholders' Equity - Incentive and Other (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails Stockholders' Equity - Incentive and Other (Details) Details 36 false false R37.htm 40802 - Disclosure - Stockholders' Equity - Anti-Dilutive Stock Options (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails Stockholders' Equity - Anti-Dilutive Stock Options (Details) Details 37 false false R38.htm 40803 - Disclosure - Stockholders' Equity - Number of Shares (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails Stockholders' Equity - Number of Shares (Details) Details 38 false false R39.htm 40901 - Disclosure - Subsequent Events (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails Subsequent Events (Details) Details http://www.comfortsystemsusa.com/role/DisclosureSubsequentEvents 39 false false All Reports Book All Reports fix-20190331x10q.htm fix-20190331.xsd fix-20190331_cal.xml fix-20190331_def.xml fix-20190331_lab.xml fix-20190331_pre.xml fix-20190331ex311d39cf5.htm fix-20190331ex312bd5b81.htm fix-20190331ex32144d6a8.htm fix-20190331ex322aa6a12.htm http://xbrl.sec.gov/dei/2018-01-31 http://fasb.org/us-gaap/2018-01-31 http://fasb.org/srt/2018-01-31 true true JSON 57 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "fix-20190331x10q.htm": { "axisCustom": 2, "axisStandard": 20, "contextCount": 127, "dts": { "calculationLink": { "local": [ "fix-20190331_cal.xml" ] }, "definitionLink": { "local": [ "fix-20190331_def.xml" ], "remote": [ "http://xbrl.fasb.org/srt/2018/elts/srt-eedm1-def-2018-01-31.xml", "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-eedm-def-2018-01-31.xml" ] }, "inline": { "local": [ "fix-20190331x10q.htm" ] }, "labelLink": { "local": [ "fix-20190331_lab.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-doc-2018-01-31.xml", "https://xbrl.sec.gov/dei/2018/dei-doc-2018-01-31.xml" ] }, "presentationLink": { "local": [ "fix-20190331_pre.xml" ] }, "referenceLink": { "remote": [ "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-ref-2018-01-31.xml", "https://xbrl.sec.gov/dei/2018/dei-ref-2018-01-31.xml" ] }, "schema": { "local": [ "fix-20190331.xsd" ], "remote": [ "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/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd", "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd", "http://xbrl.fasb.org/srt/2018/elts/srt-roles-2018-01-31.xsd", "http://xbrl.fasb.org/srt/2018/elts/srt-types-2018-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2018/elts/us-parts-codification-2018-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2018/elts/us-roles-2018-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2018/elts/us-types-2018-01-31.xsd", "http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd", "https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd" ] } }, "elementCount": 412, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2018-01-31": 15, "http://www.comfortsystemsusa.com/20190331": 1, "http://xbrl.sec.gov/dei/2018-01-31": 12, "total": 28 }, "keyCustom": 37, "keyStandard": 200, "memberCustom": 37, "memberStandard": 23, "nsprefix": "fix", "nsuri": "http://www.comfortsystemsusa.com/20190331", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "00090 - Document - Document and Entity Information", "role": "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - Acquisitions", "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitions", "shortName": "Acquisitions", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - Disclosure - Goodwill", "role": "http://www.comfortsystemsusa.com/role/DisclosureGoodwill", "shortName": "Goodwill", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - Debt Obligations", "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligations", "shortName": "Debt Obligations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - Commitments and Contingencies", "role": "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - Stockholders' Equity", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity", "shortName": "Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - Subsequent Events", "role": "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEvents", "shortName": "Subsequent Events", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "20202 - Disclosure - Summary of Significant Accounting Policies (Policies)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30203 - Disclosure - Summary of Significant Accounting Policies (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables", "shortName": "Summary of Significant Accounting Policies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30303 - Disclosure - Fair Value Measurements (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - Disclosure - Goodwill (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables", "shortName": "Goodwill (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00100 - Statement - CONSOLIDATED BALANCE SHEETS", "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets", "shortName": "CONSOLIDATED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019", "decimals": "-3", "lang": null, "name": "us-gaap:BilledContractReceivables", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30603 - Disclosure - Debt Obligations (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables", "shortName": "Debt Obligations (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30803 - Disclosure - Stockholders' Equity (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables", "shortName": "Stockholders' Equity (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "p", "us-gaap:NatureOfOperations", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_fix_SystemInstallationInNewlyConstructedFacilitiesMember", "decimals": "3", "first": true, "lang": null, "name": "fix:SalesRevenueServicesNetPercentage", "reportCount": 1, "unique": true, "unitRef": "Unit142", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40101 - Disclosure - Business and Organization (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails", "shortName": "Business and Organization (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:NatureOfOperations", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019_srt_ProductOrServiceAxis_fix_SystemInstallationInNewlyConstructedFacilitiesMember", "decimals": "3", "first": true, "lang": null, "name": "fix:SalesRevenueServicesNetPercentage", "reportCount": 1, "unique": true, "unitRef": "Unit142", "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "fix:ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock", "us-gaap:LesseeLeasesPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40201 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails", "shortName": "Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_1_1_2019_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201602Member", "decimals": "-5", "lang": null, "name": "us-gaap:OperatingLeaseLiability", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenuePerformanceObligationDescriptionOfPaymentTerms", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40202 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails", "shortName": "Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenuePerformanceObligationDescriptionOfPaymentTerms", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_12_31_2018", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerAssetNetCurrent", "reportCount": 1, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40203 - Disclosure - Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails", "shortName": "Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": "-3", "lang": null, "name": "us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40204 - Disclosure - Summary of Significant Accounting Policies - Remaining Performance Obligations (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails", "shortName": "Summary of Significant Accounting Policies - Remaining Performance Obligations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R27": { "firstAnchor": null, "groupType": "disclosure", "isDefault": "false", "longName": "40205 - Disclosure - Summary of Significant Accounting Policies - Service Maintenance Agreements (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails", "shortName": "Summary of Significant Accounting Policies - Service Maintenance Agreements (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R28": { "firstAnchor": { "ancestors": [ "p", "us-gaap:LesseeLeasesPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": "-5", "first": true, "lang": null, "name": "fix:VariableLeaseAndShortTermLeaseCost", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40206 - Disclosure - Summary of Significant Accounting Policies - Leases (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "shortName": "Summary of Significant Accounting Policies - Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:LesseeLeasesPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": "-5", "first": true, "lang": null, "name": "fix:VariableLeaseAndShortTermLeaseCost", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2018_To_3_31_2018", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40207 - Disclosure - Summary of Significant Accounting Policies - Income Taxes (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails", "shortName": "Summary of Significant Accounting Policies - Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2018_To_3_31_2018", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)", "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical", "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019", "decimals": "INF", "first": true, "lang": null, "name": "fix:LifeInsuranceContractsNumberOfEmployeesCovered", "reportCount": 1, "unique": true, "unitRef": "Unit132", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40301 - Disclosure - Fair Value Measurements (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails", "shortName": "Fair Value Measurements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019", "decimals": "INF", "first": true, "lang": null, "name": "fix:LifeInsuranceContractsNumberOfEmployeesCovered", "reportCount": 1, "unique": true, "unitRef": "Unit132", "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": "5", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - Disclosure - Acquisitions (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "shortName": "Acquisitions (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": "5", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_12_31_2018", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - Disclosure - Goodwill (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails", "shortName": "Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_12_31_2017", "decimals": "-3", "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtLongtermAndShorttermCombinedAmount", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - Disclosure - Debt Obligations (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "shortName": "Debt Obligations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtLongtermAndShorttermCombinedAmount", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40602 - Disclosure - Debt Obligations - Other (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "shortName": "Debt Obligations - Other (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019_us-gaap_BusinessAcquisitionAxis_fix_ShoffnerMember", "decimals": "-5", "lang": null, "name": "us-gaap:NotesAndLoansPayable", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember", "decimals": "2", "first": true, "lang": null, "name": "fix:PercentageOfBusinessWhichHasRequiredBonds", "reportCount": 1, "unique": true, "unitRef": "Unit142", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40701 - Disclosure - Commitments and Contingencies - Other and Bonds (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "shortName": "Commitments and Contingencies - Other and Bonds (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember", "decimals": "2", "first": true, "lang": null, "name": "fix:PercentageOfBusinessWhichHasRequiredBonds", "reportCount": 1, "unique": true, "unitRef": "Unit142", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PaymentsForRepurchaseOfCommonStock", "reportCount": 1, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40801 - Disclosure - Stockholders' Equity - Incentive and Other (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails", "shortName": "Stockholders' Equity - Incentive and Other (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_8_10_2018_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member", "decimals": "-5", "lang": null, "name": "us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased", "reportCount": 1, "unique": true, "unitRef": "Unit12", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit12", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40802 - Disclosure - Stockholders' Equity - Anti-Dilutive Stock Options (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails", "shortName": "Stockholders' Equity - Anti-Dilutive Stock Options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit12", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "Unit12", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40803 - Disclosure - Stockholders' Equity - Number of Shares (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails", "shortName": "Stockholders' Equity - Number of Shares (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_3_31_2019", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "Unit12", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesGross", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - Disclosure - Subsequent Events (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails", "shortName": "Subsequent Events (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_4_1_2019_To_4_1_2019_us-gaap_BusinessAcquisitionAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesGross", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS", "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations", "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity", "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unitRef": "Unit122", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS", "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows", "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": "-3", "lang": null, "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "Unit122", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10101 - Disclosure - Business and Organization", "role": "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization", "shortName": "Business and Organization", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10201 - Disclosure - Summary of Significant Accounting Policies", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - Fair Value Measurements", "role": "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20190331x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 60, "tag": { "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "If the value is true, then the document is an amendment to previously-filed/accepted document.", "label": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "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" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This is focus fiscal period of the document report. For a first quarter 2006 quarterly report, which may also provide financial information from prior periods, the first fiscal quarter should be given as the fiscal period focus. Values: FY, Q1, Q2, Q3, Q4, H1, H2, M9, T1, T2, T3, M8, CY.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "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" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "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" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "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" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r285" ], "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" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "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" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "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" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r285" ], "lang": { "en-US": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r285" ], "lang": { "en-US": { "role": { "documentation": "Indicate whether the registrant is one of the following: (1) Large Accelerated Filer, (2) Accelerated Filer, (3) Non-accelerated Filer, (4) Smaller Reporting Company (Non-accelerated), (5) Smaller Reporting Accelerated Filer or (6) Smaller Reporting Company and Large 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" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r285" ], "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" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r285" ], "lang": { "en-US": { "role": { "documentation": "Indicates that the company is a smaller reporting company with both a public float and revenues of less than $75 million.", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "fix_AcquisitionFirstQuarter2018Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to the acquisition in the first quarter of 2018.", "label": "Acquisition First Quarter2018 [Member]", "terseLabel": "Acquisition First Quarter 2018 [Member]" } } }, "localname": "AcquisitionFirstQuarter2018Member", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_AcquisitionFirstQuarter2019Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to the acquisition in the first quarter of 2019.", "label": "Acquisition First Quarter2019 [Member]", "terseLabel": "Acquisition First Quarter 2019 [Member]" } } }, "localname": "AcquisitionFirstQuarter2019Member", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_AcquisitionSecondQuarter2018Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to the acquisition in the second quarter of 2018.", "label": "Acquisition Second Quarter2018 [Member]", "terseLabel": "Acquisition Second Quarter 2018 [Member]" } } }, "localname": "AcquisitionSecondQuarter2018Member", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_AcquisitionThirdQuarter2018Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to the acquisition in the third quarter of 2018.", "label": "Acquisition Third Quarter2018 [Member]", "terseLabel": "Acquisition Third Quarter 2018 [Member]" } } }, "localname": "AcquisitionThirdQuarter2018Member", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_AcquisitionTwoThirdQuarter2018Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to a second acquisition in the third quarter of 2018.", "label": "Acquisition Two Third Quarter2018 [Member]", "terseLabel": "Acquisition Two Third Quarter 2018 [Member]" } } }, "localname": "AcquisitionTwoThirdQuarter2018Member", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_AmendedSeniorRevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information pertaining to the amended senior revolving credit facility.", "label": "Amended Senior Revolving Credit Facility [Member]", "terseLabel": "Amended senior revolving credit facility" } } }, "localname": "AmendedSeniorRevolvingCreditFacilityMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_BchHoldingsIncMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the information pertaining to BCH Holdings, Inc and each of its wholly-owned subsidiaries.", "label": "Bch Holdings Inc [Member]", "terseLabel": "BCH" } } }, "localname": "BchHoldingsIncMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_BuildingAutomationControlSystemsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to building automation control system services.", "label": "Building Automation Control Systems [Member]", "terseLabel": "Building Automation Control Systems" } } }, "localname": "BuildingAutomationControlSystemsMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value, as of the balance sheet date, of potential cash payments under the contingent consideration arrangement.", "label": "Business Acquisition Contingent Consideration Fair Value at Balance Sheet Date", "terseLabel": "Contingent earn-out obligations" } } }, "localname": "BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "fix_BusinessCombinationConsiderationTransferredLiabilitiesIncurredInstallmentAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of each installment incurred by the acquirer as part of consideration transferred in a business combination.", "label": "Business Combination, Consideration Transferred, Liabilities Incurred, Installment Amount", "terseLabel": "Installment amount on third and fourth anniversaries" } } }, "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurredInstallmentAmount", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "fix_BusinessCombinationNumberOfInstallments": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Represents the number of installments to pay the liability.", "label": "Business Combination, Number of Installments", "terseLabel": "Number of equal installments" } } }, "localname": "BusinessCombinationNumberOfInstallments", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "fix_ContingentConsiderationObligationsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the information pertaining to the contingent consideration obligations that have been provided in a business combination.", "label": "Contingent Consideration Obligations [Member]", "terseLabel": "Contingent earn-out obligations" } } }, "localname": "ContingentConsiderationObligationsMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "fix_ContractReceivablesContractsInProcessNetReceivableLiability": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2s": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Represents the net receivable (liability), as of the balance sheet date, for contracts in process in which contracts with billings in excess of costs are netted against contracts with costs in excess of billings.", "label": "Contract Receivables Contracts in Process, Net Receivable Liability" } } }, "localname": "ContractReceivablesContractsInProcessNetReceivableLiability", "nsuri": "http://www.comfortsystemsusa.com/20190331", "xbrltype": "monetaryItemType" }, "fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in contract with customer assets due to change in conditional versus unconditional.", "label": "Contract with Customer, Asset, Increase (Decrease) for Change Due to Conditional Versus Unconditional", "terseLabel": "Change due to conditional versus unconditional" } } }, "localname": "ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "fix_CumulativeNumberOfCompaniesAcquired": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The cumulative number of companies acquired by the entity.", "label": "Cumulative Number Of Companies Acquired", "terseLabel": "Cumulative number of companies acquired" } } }, "localname": "CumulativeNumberOfCompaniesAcquired", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "integerItemType" }, "fix_DebtCovenantEffectiveDateAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by date that the debt covenant ratio is applicable.", "label": "Debt Covenant Effective Date [Axis]" } } }, "localname": "DebtCovenantEffectiveDateAxis", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "fix_DebtCovenantEffectiveDateDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The period through which the debt covenant ratio is applicable.", "label": "Debt Covenant Effective Date [Domain]", "terseLabel": "Debt Covenant Effective Date [Domain]" } } }, "localname": "DebtCovenantEffectiveDateDomain", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtCovenantRatioAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by different ratios applicable to debt covenants.", "label": "Debt Covenant Ratio [Axis]" } } }, "localname": "DebtCovenantRatioAxis", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "fix_DebtCovenantRatioDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Groups of debt covenant ratio ranges.", "label": "Debt Covenant Ratio [Domain]", "terseLabel": "Debt Covenant Ratio [Domain]" } } }, "localname": "DebtCovenantRatioDomain", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtCovenantRatioRangeFourMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents activity related to range four of specified debt covenant.", "label": "Debt Covenant Ratio Range Four [Member]", "terseLabel": "Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater" } } }, "localname": "DebtCovenantRatioRangeFourMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtCovenantRatioRangeOneMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents activity related to range one of specified debt covenant.", "label": "Debt Covenant Ratio Range One [Member]", "terseLabel": "Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00" } } }, "localname": "DebtCovenantRatioRangeOneMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtCovenantRatioRangeThreeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents activity related to range three of specified debt covenant.", "label": "Debt Covenant Ratio Range Three [Member]", "terseLabel": "Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50" } } }, "localname": "DebtCovenantRatioRangeThreeMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtCovenantRatioRangeTwoMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents activity related to range two of specified debt covenant.", "label": "Debt Covenant Ratio Range Two [Member]", "terseLabel": "Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75" } } }, "localname": "DebtCovenantRatioRangeTwoMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Represents the amount of stock repurchases to maintain maximum net leverage ratio.", "label": "Debt Instrument Covenant Amount of Stock Repurchases to Maintain Maximum Net Leverage Ratio", "terseLabel": "Amount of stock repurchases to maintain maximum net leverage ratio" } } }, "localname": "DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for the calculation of the fixed charge coverage ratio.", "label": "Debt Instrument Covenant Capital Expenditures Tax Provisions Dividends and Stock Repurchase Payments Used for Calculation of Fixed Charge Coverage Ratio Number of Quarters", "terseLabel": "Number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for calculation of fixed charge coverage ratio" } } }, "localname": "DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "integerItemType" }, "fix_DebtInstrumentCovenantFixedChargeCoverageRatio": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the ratio of consolidated adjusted earnings before, interest, taxes, depreciation and amortization, less non-financed capital expenditures, tax provision, dividends and amounts used to repurchase stock to the sum of interest expense and scheduled principal payments of indebtedness required to be maintained under the financial covenants.", "label": "Debt Instrument Covenant Fixed Charge Coverage Ratio", "terseLabel": "Fixed charge coverage ratio" } } }, "localname": "DebtInstrumentCovenantFixedChargeCoverageRatio", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "pureItemType" }, "fix_DebtInstrumentCovenantLeverageRatio": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the ratio of consolidated total debt to consolidated adjusted earnings before, interest, taxes, depreciation and amortization required to be maintained under the financial covenants.", "label": "Debt Instrument Covenant Leverage Ratio", "terseLabel": "Leverage ratio" } } }, "localname": "DebtInstrumentCovenantLeverageRatio", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "pureItemType" }, "fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the net leverage ratio determine after giving effect to stock repurchases for calculation of the fixed charge coverage ratio under the financial covenants.", "label": "Debt Instrument Covenant Net Leverage Ratio after Giving Effect to Stock Repurchases for Calculating Fixed Charge Coverage Ratio", "terseLabel": "Net leverage ratio after giving effect to stock repurchases for calculation of the fixed charge coverage ratio" } } }, "localname": "DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "pureItemType" }, "fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the net leverage ratio used to determine exclusion of stock repurchases and the payment of dividends for calculation of the fixed charge coverage ratio under the financial covenants.", "label": "Debt Instrument Covenant Net Leverage Ratio Used to Determine Exclusion of Stock Repurchases and Dividend Payments for Calculating Fixed Charge Coverage Ratio", "terseLabel": "Net leverage ratio used to determine exclusion of stock repurchases and the payment of dividends for calculation of the fixed charge coverage ratio" } } }, "localname": "DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "pureItemType" }, "fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Represents the aggregate purchase price of current acquisition and acquisitions in the preceding twelve month period used for determining the permitted amount of acquisition per transaction under the financial covenants.", "label": "Debt Instrument Covenant Other Restrictions Aggregate Purchase Price of Acquisitions", "terseLabel": "Aggregate purchase price of current acquisition and acquisitions in the preceding 12 month period for determining permitted amount of acquisition per transaction" } } }, "localname": "DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the net leverage ratio as defined in the financial covenants which is used as a basis to determine other restrictions.", "label": "Debt Instrument Covenant Other Restrictions Net Leverage Ratio", "terseLabel": "Net leverage ratio used as basis for other restrictions" } } }, "localname": "DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "pureItemType" }, "fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Represents the amount of acquisition per transaction permitted under the financial covenants.", "label": "Debt Instrument Covenant Other Restrictions Permitted Acquisition Amount Per Transaction", "terseLabel": "Permitted amount of acquisitions per transaction" } } }, "localname": "DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "fix_DebtInstrumentFinancialCovenantsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Debt Instrument Financial Covenants [Abstract]", "terseLabel": "Principal financial covenants" } } }, "localname": "DebtInstrumentFinancialCovenantsAbstract", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "fix_DebtInstrumentInterestRateOptionsNumber": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the number of interest rate options.", "label": "Number of interest rate options" } } }, "localname": "DebtInstrumentInterestRateOptionsNumber", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "integerItemType" }, "fix_DebtInstrumentVariableRateAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Debt Instrument Variable Rate [Abstract]", "terseLabel": "Additional per annum interest margin added under:" } } }, "localname": "DebtInstrumentVariableRateAbstract", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "fix_DebtInstrumentVariableRateBaseRateMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The base rate used to calculate the variable interest rate of the debt instrument.", "label": "Debt Instrument Variable Rate Base Rate [Member]", "terseLabel": "Base Rate" } } }, "localname": "DebtInstrumentVariableRateBaseRateMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DeferredAcquisitionPayments": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Deferred acquisition payments.", "label": "Deferred Acquisition Payments", "negatedLabel": "Deferred acquisition payments" } } }, "localname": "DeferredAcquisitionPayments", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "fix_DocumentAndEntityInformationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Document and Entity Information" } } }, "localname": "DocumentAndEntityInformationAbstract", "nsuri": "http://www.comfortsystemsusa.com/20190331", "xbrltype": "stringItemType" }, "fix_EducationMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This members stands for education.", "label": "Education [Member]", "terseLabel": "Education" } } }, "localname": "EducationMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_EffectOfUsingWeightedAverageCommonSharesOutstanding": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the effect of using weighted average common shares outstanding.", "label": "Effect of Using Weighted Average Common Shares, Outstanding", "terseLabel": "Effect of using weighted average common shares outstanding" } } }, "localname": "EffectOfUsingWeightedAverageCommonSharesOutstanding", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" ], "xbrltype": "sharesItemType" }, "fix_EmployeeAndNonemployeeStockOptionMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "An arrangement whereby an employee and other than employee is entitled to receive in the future, subject to vesting and other restrictions, a number of shares in the entity at a specified price, as defined in the agreement. Although there are variations, normally, after vesting, when an option is exercised, the employee-holder and non-employee-holder pays the strike value in cash to the issuing employer-entity and receives equity shares. The equity shares can be sold into the market for cash at the current market price without restriction.", "label": "Employee And Nonemployee Stock Option [Member]", "terseLabel": "Stock Options" } } }, "localname": "EmployeeAndNonemployeeStockOptionMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "xbrltype": "domainItemType" }, "fix_ExistingBuildingConstructionMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This member stands for existing building construction.", "label": "Existing Building Construction [Member]", "terseLabel": "Existing Building Construction" } } }, "localname": "ExistingBuildingConstructionMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_GovernmentCustomerMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Organization that is the governing authority of a community.", "label": "Government Customer [Member]", "terseLabel": "Government" } } }, "localname": "GovernmentCustomerMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_HealthcareSectorCustomerMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Sector of the economy consisting of companies engaged in healthcare-related business activities.", "label": "Healthcare Sector Customer [Member]", "terseLabel": "Healthcare" } } }, "localname": "HealthcareSectorCustomerMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_HeatingVentilationAndAirConditioningAndPlumbingMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This member stands for heating, ventilation and air conditioning and plumbing.", "label": "Heating Ventilation And Air Conditioning And Plumbing [Member]", "terseLabel": "HVAC and Plumbing" } } }, "localname": "HeatingVentilationAndAirConditioningAndPlumbingMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_IncreaseDecreaseInContractWithCustomerAssets": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in contract with customer assets.", "label": "Increase Decrease in Contract with Customer Assets", "negatedLabel": "Costs and estimated earnings in excess of billings and unbilled accounts receivable" } } }, "localname": "IncreaseDecreaseInContractWithCustomerAssets", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "fix_IndustrialPropertyCustomerMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Building designed to house industrial operations and provide the necessary conditions for the operation of industrial equipment.", "label": "Industrial Property Customer [Member]", "terseLabel": "Industrial" } } }, "localname": "IndustrialPropertyCustomerMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_LeaseLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "No definition available.", "label": "Lease Liabilities [Abstract]", "terseLabel": "Lease Liabilities" } } }, "localname": "LeaseLiabilitiesAbstract", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "stringItemType" }, "fix_LetterOfCreditFeesPercentage": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the fees for the letter of credit facility, expressed as a percent based on the ratio of consolidated total indebtedness to credit facility adjusted EBITDA, as defined in the credit agreement.", "label": "Letter of Credit Fees Percentage", "terseLabel": "Letter of credit fees (as a percent)" } } }, "localname": "LetterOfCreditFeesPercentage", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "fix_LifeInsuranceContractsFaceAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Represents the face amount of life insurance policies taken by the entity for their employees.", "label": "Life Insurance Contracts Face Amount", "terseLabel": "Combined face value of life insurance policies" } } }, "localname": "LifeInsuranceContractsFaceAmount", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "fix_LifeInsuranceContractsNumberOfEmployeesCovered": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the number of employees covered under life insurance policy contracts.", "label": "Life Insurance Contracts Number of Employees Covered", "terseLabel": "Number of employees covered under life insurance policies" } } }, "localname": "LifeInsuranceContractsNumberOfEmployeesCovered", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "integerItemType" }, "fix_LineOfCreditBorrowingCapacityAccordionOption": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accordion option on credit facility per terms of the agreement.", "label": "Line of credit borrowing capacity accordion option" } } }, "localname": "LineOfCreditBorrowingCapacityAccordionOption", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "fix_LossContingencySuretyAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Loss Contingency Surety [Abstract]", "terseLabel": "Surety" } } }, "localname": "LossContingencySuretyAbstract", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "stringItemType" }, "fix_MaintenanceRepairAndReplacementServiceMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to maintenance, repair and replacement services.", "label": "Maintenance Repair And Replacement Service [Member]", "terseLabel": "Maintenance, repair and replacement services" } } }, "localname": "MaintenanceRepairAndReplacementServiceMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails" ], "xbrltype": "domainItemType" }, "fix_MultiFamilyAndResidentialMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This member stands for multi family and residential.", "label": "Multi Family And Residential [Member]", "terseLabel": "Multi-Family and Residential" } } }, "localname": "MultiFamilyAndResidentialMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_NewConstructionMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This member stands for new construction.", "label": "New Construction [Member]", "terseLabel": "New Construction" } } }, "localname": "NewConstructionMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_NumberOfAcquisitionsReportedAsSeparateOperations": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The number of businesses acquired by the entity during the period that are reported as a separate operating location.", "label": "Number Of Acquisitions Reported As Separate Operations", "terseLabel": "Number of acquisitions reported as separate operating location" } } }, "localname": "NumberOfAcquisitionsReportedAsSeparateOperations", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "integerItemType" }, "fix_NumberOfOptionsToRenew": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the number of options to renew.", "label": "Number of Options to Renew", "terseLabel": "Number of options to renew" } } }, "localname": "NumberOfOptionsToRenew", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "integerItemType" }, "fix_OfficeBuildingCustomerMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Building designed primarily for the conduct of business, for example, but not limited to, administration, clerical services, and consultation.", "label": "Office Building Customer [Member]", "terseLabel": "Office Buildings" } } }, "localname": "OfficeBuildingCustomerMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_OtherCustomerMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This member stands for other customer.", "label": "Other Customer [Member]", "terseLabel": "Other" } } }, "localname": "OtherCustomerMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_PaymentsReceivedTerm": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The number of days in which the entity receives payment from customers.", "label": "Payments Received Term", "terseLabel": "Payments received term (in days)" } } }, "localname": "PaymentsReceivedTerm", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "durationItemType" }, "fix_PercentageOfBusinessWhichHasRequiredBonds": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the percentage of business which has required bonds.", "label": "Percentage of Business which has Required Bonds", "terseLabel": "Percentage of business which has required bonds" } } }, "localname": "PercentageOfBusinessWhichHasRequiredBonds", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "percentItemType" }, "fix_PercentageOfRevenueFromContractWithCustomer": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The percentage of revenue from contract with customers.", "label": "Percentage of Revenue from Contract With Customer", "terseLabel": "Percentage of revenue from contract with customer (as a percent)" } } }, "localname": "PercentageOfRevenueFromContractWithCustomer", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "percentItemType" }, "fix_PurchasePriceAdvance": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount funded as of closing, as an advance that is expected to be recovered as part of the working capital settlement and other contingent future payments.", "label": "Purchase Price Advance", "terseLabel": "Purchase price advance" } } }, "localname": "PurchasePriceAdvance", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "fix_ReceivableDueTerm": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The payment terms for receivables in days.", "label": "Receivable Due Term", "terseLabel": "Receivable payment terms (in days)" } } }, "localname": "ReceivableDueTerm", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "durationItemType" }, "fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Reconciliation of Earnings before Interest Tax Depreciation and Amortization to Net Income" } } }, "localname": "ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "fix_RenewableServiceMaintenanceAgreementsTerm": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The term of renewable service maintenance agreements in years.", "label": "Renewable Service Maintenance Agreements Term", "terseLabel": "The term of the renewable service maintenance agreements (in years)" } } }, "localname": "RenewableServiceMaintenanceAgreementsTerm", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails" ], "xbrltype": "durationItemType" }, "fix_RetailRestaurantsAndEntertainmentMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This member stands for retail, restaurants and entertainment", "label": "Retail Restaurants And Entertainment [Member]", "terseLabel": "Retail, Restaurants and Entertainment" } } }, "localname": "RetailRestaurantsAndEntertainmentMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_SalesRevenueServicesNetPercentage": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The percentage of net services revenue to total net revenue from the services rendered as of the year end.", "label": "Sales Revenue Services Net Percentage", "terseLabel": "Percentage of revenue attributable to services" } } }, "localname": "SalesRevenueServicesNetPercentage", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails" ], "xbrltype": "percentItemType" }, "fix_ScenarioCovenantRequirementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Domain member used to indicate the requirements per the terms of the debt agreement.", "label": "Scenario Covenant Requirement [Member]", "terseLabel": "Covenant Requirement" } } }, "localname": "ScenarioCovenantRequirementMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_ScheduleOfAdditionalMarginsTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the additional margins added to the reference rate to compute the variable rate on the debt instrument.", "label": "Schedule of Additional Margins [Table Text Block]", "terseLabel": "Summary of additional margins" } } }, "localname": "ScheduleOfAdditionalMarginsTableTextBlock", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables" ], "xbrltype": "textBlockItemType" }, "fix_ScheduleOfBusinessAndOrganizationLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Schedule of Business and Organization [Line Items]", "terseLabel": "Business and Organization" } } }, "localname": "ScheduleOfBusinessAndOrganizationLineItems", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails" ], "xbrltype": "stringItemType" }, "fix_ScheduleOfBusinessAndOrganizationTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule of information related to the business and organization.", "label": "Schedule of Business and Organization [Table]" } } }, "localname": "ScheduleOfBusinessAndOrganizationTable", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails" ], "xbrltype": "stringItemType" }, "fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of lease assets and liabilities.", "label": "Schedule of Lease Assets and Liabilities [Table Text Block]", "terseLabel": "Schedule of lease asset and liabilities" } } }, "localname": "ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of supplemental information related to leases.", "label": "Schedule of Supplemental Information Related to Leases [Table Text Block]", "terseLabel": "Schedule of supplemental information related to leases" } } }, "localname": "ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "fix_ServiceCallsMaintenanceAndMonitoringMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This member stands for service calls, maintenance and monitoring.", "label": "Service Calls Maintenance And Monitoring [Member]", "terseLabel": "Service Calls, Maintenance and Monitoring" } } }, "localname": "ServiceCallsMaintenanceAndMonitoringMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_ServiceProjectsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This member stands for service projects.", "label": "Service Projects [Member]", "terseLabel": "Service Projects" } } }, "localname": "ServiceProjectsMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_ShoffnerMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information from Shoffner Kalthoff Mechanical Electrical Service.", "label": "Shoffner [Member]", "terseLabel": "Shoffner" } } }, "localname": "ShoffnerMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted and Performance Stock Awards.", "label": "Stock Issued During Period, Shares, Restricted And Performance Stock Award Gross", "terseLabel": "Issuance of restricted stock & performance stock (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate value of stock related to Restricted and Performance Stock Awards issued during the period.", "label": "Stock Issued During Period Value Restricted And Performance Stock Award Gross", "terseLabel": "Issuance of restricted stock & performance stock" } } }, "localname": "StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "fix_StockRepurchaseProgram2007Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information pertaining to the March 2007 stock repurchase program.", "label": "Stock Repurchase Program2007 [Member]", "terseLabel": "Stock Repurchase Program 2007" } } }, "localname": "StockRepurchaseProgram2007Member", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "domainItemType" }, "fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Member used to indicate the period during which stock repurchases are made.", "label": "Stock Repurchases After February222016 And On Or Before December312017 [Member]", "terseLabel": "Stock Repurchases After February 22, 2016 And On Or Before December 31, 2017" } } }, "localname": "StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_SubordinateDebtAndPromissoryNoteMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This element represents domestic or foreign subordinated debt and promissory note. Subordinated debt has a lower priority of repayment in liquidation of the entity's assets and promissory notes has a borrowing supported by a written promise to pay an obligation.", "label": "Subordinate Debt And Promissory Note [Member]", "terseLabel": "Notes to former owners" } } }, "localname": "SubordinateDebtAndPromissoryNoteMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_SupplementalInformationRelatedToLeasesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "No definition available.", "label": "Supplemental Information Related to Leases [Abstract]", "terseLabel": "Supplemental information related to leases:" } } }, "localname": "SupplementalInformationRelatedToLeasesAbstract", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "stringItemType" }, "fix_SystemInstallationInNewlyConstructedFacilitiesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to installation of systems in newly constructed facilities.", "label": "System Installation In Newly Constructed Facilities [Member]", "terseLabel": "Installation of systems in newly constructed facilities" } } }, "localname": "SystemInstallationInNewlyConstructedFacilitiesMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails" ], "xbrltype": "domainItemType" }, "fix_ThroughMaturityMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information through the debt maturity date.", "label": "Through Maturity [Member]", "terseLabel": "Through maturity" } } }, "localname": "ThroughMaturityMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_VariableLeaseAndShortTermLeaseCost": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of variable lease cost and short-term lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Variable Lease and Short-term Lease, Cost", "terseLabel": "Variable lease expense and short-term lease expenses" } } }, "localname": "VariableLeaseAndShortTermLeaseCost", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to Walker TX Holdings, Inc. and its wholly-owned subsidiaries.", "label": "Walker Tx Holdings Inc. And Its Wholly Owned Subsidiaries [Member]", "terseLabel": "Walker" } } }, "localname": "WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember", "nsuri": "http://www.comfortsystemsusa.com/20190331", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r112", "r173", "r177" ], "lang": { "en-US": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Name Of Major Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r111", "r173", "r176", "r283" ], "lang": { "en-US": { "role": { "label": "Products and Services [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Products And Services [Domain]", "terseLabel": "Products and Services [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Range [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Range [Member]", "terseLabel": "Range [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Summary of Significant Accounting Policies" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountingStandardsUpdate201602Member": { "auth_ref": [ "r242" ], "lang": { "en-US": { "role": { "documentation": "Accounting Standards Update 2016-02 Leases (Topic 842).", "label": "Accounting Standards Update201602 [Member]", "terseLabel": "ASU 2016-02" } } }, "localname": "AccountingStandardsUpdate201602Member", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r26" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "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 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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r16" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 4.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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "auth_ref": [ "r78" ], "lang": { "en-US": { "role": { "documentation": "Information by new accounting pronouncement.", "label": "Adjustments for New Accounting Pronouncements [Axis]" } } }, "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The amount of adjustment to stockholders' equity associated with an employee's income tax withholding obligation as part of a net-share settlement of a share-based award.", "label": "Adjustments Related to Tax Withholding for Share-based Compensation", "negatedLabel": "Shares received in lieu of tax withholding payment on vested restricted stock" } } }, "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r184", "r185", "r190", "r191" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) from recognition of equity-based compensation.", "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "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 net cash provided by operating activities-" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r39", "r114" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "A valuation allowance for trade and other receivables due to an Entity within one year (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.", "label": "Balance at beginning of year", "terseLabel": "Accounts receivable, allowance for doubtful accounts (in dollars)" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfFinancingCosts": { "auth_ref": [ "r48", "r70", "r240" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to debt issuance costs.", "label": "Amortization of Financing Costs", "terseLabel": "Amortization of debt financing costs" } } }, "localname": "AmortizationOfFinancingCosts", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r70", "r125", "r127" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "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", "terseLabel": "Amortization of identifiable intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r91" ], "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": "Anti-dilutive securities excluded from computation of earnings per share amount (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r91" ], "lang": { "en-US": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "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": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "terseLabel": "Earnings Per Share" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r91" ], "lang": { "en-US": { "role": { "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.", "label": "Antidilutive Securities Name [Domain]", "terseLabel": "Antidilutive Securities, Name [Domain]" } } }, "localname": "AntidilutiveSecuritiesNameDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r108", "r264", "r274" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsAndLiabilitiesLesseeAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets and Liabilities, Lessee [Abstract]", "terseLabel": "Summary of lease asset and liabilities" } } }, "localname": "AssetsAndLiabilitiesLesseeAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r3", "r4", "r42" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r77" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.", "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies" } } }, "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BilledContractReceivables": { "auth_ref": [ "r38" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amounts due for billed services rendered or to be rendered, actions taken or to be taken, or a promise to refrain from taking certain actions in accordance with the terms of a legally binding agreement between the Company and, at a minimum, one other party. An example would be amounts billed to customers under contracts or programs but not paid as of the balance sheet date.", "label": "Billed Contracts Receivable", "verboseLabel": "Billed accounts receivable, less allowance for doubtful accounts of $5,865 and $5,898, respectively" } } }, "localname": "BilledContractReceivables", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r205", "r206" ], "lang": { "en-US": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r209", "r210", "r211" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.", "label": "Business Combination, Consideration Transferred", "verboseLabel": "Total purchase price" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred": { "auth_ref": [ "r208", "r209", "r210", "r213" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.", "label": "Business Combination, Consideration Transferred, Liabilities Incurred", "terseLabel": "Promissory note payable" } } }, "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurred", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "auth_ref": [ "r69", "r214" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 3.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "negatedLabel": "Changes in the fair value of contingent earn-out obligations", "terseLabel": "Changes in the fair value of contingent earn-out obligations" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r215" ], "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitions" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt": { "auth_ref": [ "r207" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of long-term debt due after one year or the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Long-term Debt", "verboseLabel": "Acquired debt" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Acquisitions" } } }, "localname": "BusinessCombinationsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member": { "auth_ref": [ "r178" ], "lang": { "en-US": { "role": { "documentation": "Calculated under guidance for revenue recognition in effect prior to change to new guidance for revenue from contract with customer when using transition method for cumulative effect in period including initial date of application.", "label": "Calculated Under Revenue Guidance In Effect Before Topic606 [Member]", "terseLabel": "Calculated under Revenue Guidance in Effect before Topic 606 [Member]" } } }, "localname": "CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r1", "r24", "r72" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "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", "periodEndLabel": "CASH AND CASH EQUIVALENTS, end of year", "periodStartLabel": "CASH AND CASH EQUIVALENTS, beginning of year", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value portion 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.", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the 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. Includes effect from exchange rate changes.", "label": "Cash and Cash Equivalents, Period Increase (Decrease)", "totalLabel": "NET DECREASE IN CASH AND CASH EQUIVALENTS" } } }, "localname": "CashAndCashEquivalentsPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashSurrenderValueFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of the amount that could be realized under a life insurance contract or contracts owned by the entity, commonly known as corporate-owned life insurance (COLI) or bank-owned life insurance (BOLI).", "label": "Cash Surrender Value, Fair Value Disclosure", "terseLabel": "Life insurance-cash surrender value" } } }, "localname": "CashSurrenderValueFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashSurrenderValueOfLifeInsurance": { "auth_ref": [ "r5", "r25" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Carrying amount as of the balance sheet date of amounts which could be received based on the terms of the insurance contract upon surrendering life policies owned by the entity.", "label": "Cash Surrender Value of Life Insurance", "terseLabel": "Cash surrender value" } } }, "localname": "CashSurrenderValueOfLifeInsurance", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ChangeInContractWithCustomerAssetAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Change in Contract with Customer, Asset [Abstract]", "terseLabel": "Contract Assets" } } }, "localname": "ChangeInContractWithCustomerAssetAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ChangeInContractWithCustomerLiabilityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Change in Contract with Customer, Liability [Abstract]", "terseLabel": "Contract Liabilities" } } }, "localname": "ChangeInContractWithCustomerLiabilityAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r34", "r137", "r268", "r280" ], "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r136", "r144" ], "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockDividendsPerShareDeclared": { "auth_ref": [ "r154" ], "lang": { "en-US": { "role": { "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding.", "label": "Common Stock, Dividends, Per Share, Declared", "terseLabel": "DIVIDENDS PER SHARE (in dollars per share)" } } }, "localname": "CommonStockDividendsPerShareDeclared", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r14" ], "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 (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r14" ], "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" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r14" ], "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", "periodEndLabel": "BALANCE (in shares)", "periodStartLabel": "BALANCE (in shares)", "terseLabel": "Common stock, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r14", "r149" ], "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 shares outstanding, end of period" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r14" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "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", "verboseLabel": "Common stock, $.01 par, 102,969,912 shares authorized, 41,123,365 and 41,123,365 shares issued, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r167" ], "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": "Schedule of contract assets and liabilities" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetCreditLossExpense": { "auth_ref": [ "r160", "r164", "r172" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of credit loss recognized for write-down of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Contract with Customer, Asset, Credit Loss Expense", "terseLabel": "Impairment losses" } } }, "localname": "ContractWithCustomerAssetCreditLossExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination": { "auth_ref": [ "r163" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, from business combination.", "label": "Contract with Customer, Asset, Increase (Decrease) for Contract Acquired in Business Combination", "terseLabel": "Change due to acquisitions" } } }, "localname": "ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "auth_ref": [ "r158", "r160" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2s": { "order": 1.0, "parentTag": "fix_ContractReceivablesContractsInProcessNetReceivableLiability", "weight": 1.0 }, "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 6.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 in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.", "label": "Contract with Customer, Asset, Net, Current", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period", "terseLabel": "Costs and estimated earnings in excess of billings" } } }, "localname": "ContractWithCustomerAssetNetCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerAssetReclassifiedToReceivable": { "auth_ref": [ "r165" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of decrease in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time from transfer to receivable due to right to consideration becoming unconditional.", "label": "Contract with Customer, Asset, Reclassified to Receivable", "negatedLabel": "Reclassified to unbilled accounts receivable" } } }, "localname": "ContractWithCustomerAssetReclassifiedToReceivable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized": { "auth_ref": [ "r166" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue recognized arising from contract liability from change in timeframe for performance obligation to be satisfied.", "label": "Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized", "terseLabel": "Change in timing for performance obligation to be satisfied" } } }, "localname": "ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r158", "r159", "r174" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetailsCalc2s": { "order": 2.0, "parentTag": "fix_ContractReceivablesContractsInProcessNetReceivableLiability", "weight": -1.0 }, "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 4.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", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period", "terseLabel": "Billings in excess of costs and estimated earnings" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination": { "auth_ref": [ "r163" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from business combination.", "label": "Contract with Customer, Liability, Increase (Decrease) for Contract Acquired in Business Combination", "terseLabel": "Change due to acquisitions" } } }, "localname": "ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r175" ], "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", "terseLabel": "Revenue related to our contract liabilities" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r51" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.", "label": "Cost of Revenue", "terseLabel": "COST OF SERVICES" } } }, "localname": "CostOfRevenue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Debt Obligations" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r148" ], "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": "Long-term Debt [Text Block]", "terseLabel": "Debt Obligations" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligations" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r10", "r11", "r12", "r265", "r266", "r273" ], "lang": { "en-US": { "role": { "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.", "label": "Debt Instrument [Axis]" } } }, "localname": "DebtInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "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": "Interest rate margin (as a percent)", "terseLabel": "Additional per annum interest margin (as a percent)" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentLineItems": { "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": "Debt Instrument [Line Items]", "terseLabel": "Debt Obligations" } } }, "localname": "DebtInstrumentLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r32" ], "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 [Domain]" } } }, "localname": "DebtInstrumentNameDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentTable": { "auth_ref": [ "r32", "r75", "r150", "r151", "r152", "r153", "r238", "r239", "r241", "r272" ], "lang": { "en-US": { "role": { "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Schedule of Long-term Debt Instruments [Table]" } } }, "localname": "DebtInstrumentTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtLongtermAndShorttermCombinedAmount": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Represents the aggregate of total long-term debt, including current maturities and short-term debt.", "label": "Debt, Long-term and Short-term, Combined Amount", "totalLabel": "Total debt" } } }, "localname": "DebtLongtermAndShorttermCombinedAmount", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtWeightedAverageInterestRate": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Weighted average interest rate of debt outstanding.", "label": "Debt, Weighted Average Interest Rate", "terseLabel": "Weighted average interest rate (as a percent)" } } }, "localname": "DebtWeightedAverageInterestRate", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r70", "r74", "r201", "r202" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 5.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 tax provision" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent": { "auth_ref": [ "r194", "r195", "r199" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting and classified as noncurrent.", "label": "Deferred Tax Assets, Net, Noncurrent", "verboseLabel": "DEFERRED TAX ASSETS" } } }, "localname": "DeferredTaxAssetsLiabilitiesNetNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesNoncurrent": { "auth_ref": [ "r194", "r195", "r196" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "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 and classified as noncurrent.", "label": "Deferred Tax Liabilities, Net, Noncurrent", "terseLabel": "DEFERRED TAX LIABILITIES" } } }, "localname": "DeferredTaxLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r70", "r130" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation", "terseLabel": "Depreciation expense" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "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]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r173" ], "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 or revenue" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfRepurchaseAgreementsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Shares Repurchase Program [Abstract]", "terseLabel": "Share Repurchase Program" } } }, "localname": "DisclosureOfRepurchaseAgreementsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DividendsCommonStockCash": { "auth_ref": [ "r154" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash.", "label": "Dividends, Common Stock, Cash", "negatedLabel": "Dividends" } } }, "localname": "DividendsCommonStockCash", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "INCOME PER SHARE:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r47", "r79", "r84", "r88", "r89", "r90", "r93", "r270", "r282" ], "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": "Net income (loss) (in dollars per share)", "terseLabel": "Basic (in shares)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r47", "r79", "r84", "r88", "r89", "r90", "r93", "r270", "r282" ], "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": "Net diluted income after-tax (in dollars per share)", "terseLabel": "Diluted (in shares)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r30" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued compensation and benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r149" ], "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 [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_EstimateOfFairValueFairValueDisclosureMember": { "auth_ref": [ "r236" ], "lang": { "en-US": { "role": { "documentation": "Measured as an estimate of fair value.", "label": "Estimate Of Fair Value Fair Value Disclosure [Member]", "terseLabel": "Total" } } }, "localname": "EstimateOfFairValueFairValueDisclosureMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EurodollarMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Interest rate based on U.S. dollar denominated deposits at foreign banks or foreign branches of U.S. banks.", "label": "Eurodollar [Member]", "terseLabel": "Eurodollar Rate" } } }, "localname": "EurodollarMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "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": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r221", "r222", "r223", "r224", "r229", "r230" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about financial instruments measured at fair value, including those classified in shareholders' equity measured on a recurring or nonrecurring basis. Disclosures include, but are not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2. Nonrecurring fair value measurements are those that are required or permitted in the statement of financial position in particular circumstances.", "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "auth_ref": [ "r225", "r230" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the fair value measurement of assets using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes during the period attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets) and gains or losses recognized in other comprehensive income (loss), and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs), by class of asset.", "label": "Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]", "terseLabel": "Schedule of reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r180", "r181", "r182", "r223", "r259" ], "lang": { "en-US": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value, Hierarchy [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByLiabilityClassAxis": { "auth_ref": [ "r228", "r230" ], "lang": { "en-US": { "role": { "documentation": "Information by class of liability.", "label": "Liability Class [Axis]" } } }, "localname": "FairValueByLiabilityClassAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementBasisAxis": { "auth_ref": [ "r222", "r231" ], "lang": { "en-US": { "role": { "documentation": "Information by measurement basis.", "label": "Measurement Basis [Axis]" } } }, "localname": "FairValueByMeasurementBasisAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r221" ], "lang": { "en-US": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r233" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r180", "r181", "r182", "r223", "r260" ], "lang": { "en-US": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value Inputs Level1 [Member]", "terseLabel": "Quoted Market Prices In Active Markets for Identical Assets (Level 1)" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r180", "r181", "r182", "r223", "r261" ], "lang": { "en-US": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value Inputs Level2 [Member]", "terseLabel": "Fair Value Measurements at Reporting Date Using Significant Other Observable Inputs (Level 2)" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r180", "r181", "r182", "r223", "r262" ], "lang": { "en-US": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value Inputs Level3 [Member]", "terseLabel": "Significant Unobservable Inputs (Level 3)" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain": { "auth_ref": [ "r225", "r230" ], "lang": { "en-US": { "role": { "documentation": "Represents classes of liabilities measured and disclosed at fair value.", "label": "Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation By Liability Class [Domain]", "terseLabel": "Fair Value by Liability Class [Domain]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward": { "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": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]", "terseLabel": "Reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [ "r221", "r228" ], "lang": { "en-US": { "role": { "documentation": "Provides the general categories used to describe the frequency with which financial assets and liabilities (as defined) are measured at fair value (on a recurring or nonrecurring basis).", "label": "Fair Value Measurement Frequency [Domain]", "terseLabel": "Fair Value, Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings": { "auth_ref": [ "r226" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of gain (loss) recognized on the income statement for financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings", "terseLabel": "Adjustments to fair value" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues": { "auth_ref": [ "r227" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of issuances of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Issuances", "terseLabel": "Issuances" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements": { "auth_ref": [ "r227" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements", "negatedLabel": "Settlements" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "auth_ref": [ "r225" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliations, Recurring Basis, Liability Value", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of year" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Measurements Fair Value Hierarchy [Domain]", "terseLabel": "Fair Value Hierarchy [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r221", "r228" ], "lang": { "en-US": { "role": { "documentation": "This item represents a description of the frequency with which certain items are measured at fair value. Items measured at fair value on a recurring basis generally include those items for which measurement inputs are readily available and which are measured at fair value at successive reporting periods.", "label": "Fair Value Measurements Recurring [Member]", "terseLabel": "Recurring basis" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueOfFinancialInstrumentsPolicy": { "auth_ref": [ "r73", "r232", "r235" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.", "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]", "terseLabel": "Financial Instruments" } } }, "localname": "FairValueOfFinancialInstrumentsPolicy", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GainLossOnDispositionOfAssets": { "auth_ref": [ "r70", "r129", "r132" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 3.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property", "negatedLabel": "GAIN ON SALE OF ASSETS" } } }, "localname": "GainLossOnDispositionOfAssets", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "auth_ref": [ "r70" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedTerseLabel": "Gain on sale of assets" } } }, "localname": "GainLossOnSaleOfPropertyPlantEquipment", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r119", "r120" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "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.", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of year", "terseLabel": "GOODWILL" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r121" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.", "label": "Goodwill, Acquired During Period", "terseLabel": "Additions (See Note 4)" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Goodwill" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r128" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwill" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillRollForward": { "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": "Goodwill [Roll Forward]", "terseLabel": "Changes in the carrying amount of goodwill" } } }, "localname": "GoodwillRollForward", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r50" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r76" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.", "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Extraordinary Items, Noncontrolling Interest", "totalLabel": "INCOME BEFORE INCOME TAXES" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "CONSOLIDATED STATEMENTS OF OPERATIONS" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r74", "r107", "r203" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "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": "Provision for income taxes", "verboseLabel": "PROVISION FOR INCOME TAXES" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxPolicyTextBlock": { "auth_ref": [ "r73", "r192", "r193", "r197", "r198", "r200", "r204", "r284" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.", "label": "Income Tax, Policy [Policy Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": { "auth_ref": [ "r69" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.", "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities", "terseLabel": "Accounts payable and accrued liabilities" } } }, "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r69" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 11.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": "Receivables, net" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": { "auth_ref": [ "r69" ], "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": "Provision for income taxes" } } }, "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r69" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "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": "Billings in excess of costs and estimated earnings" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r69" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingAssetsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Increase (Decrease) in Operating Assets [Abstract]", "terseLabel": "(Increase) decrease in-" } } }, "localname": "IncreaseDecreaseInOperatingAssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities, net of effects of acquisitions and divestitures-" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Increase (Decrease) in Operating Liabilities [Abstract]", "terseLabel": "Increase (decrease) in-" } } }, "localname": "IncreaseDecreaseInOperatingLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r69" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in operating assets classified as other.", "label": "Increase (Decrease) in Other Operating Assets", "negatedLabel": "Other noncurrent assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": { "auth_ref": [ "r69" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in operating liabilities classified as other.", "label": "Increase (Decrease) in Other Operating Liabilities", "terseLabel": "Other long-term liabilities" } } }, "localname": "IncreaseDecreaseInOtherOperatingLiabilities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r69" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 13.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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares": { "auth_ref": [ "r86", "r87", "r92" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails": { "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 contingently issuable shares. Contingently issuable shares are those shares that are issuable for little or no cash contingent on certain conditions being met.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Contingently Issuable Shares", "terseLabel": "Effect of restricted and contingently issuable shares" } } }, "localname": "IncrementalCommonSharesAttributableToContingentlyIssuableShares", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r85", "r92" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails": { "order": 1.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": "Effect of shares issuable under stock option plans based on the treasury stock method" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis": { "auth_ref": [ "r178" ], "lang": { "en-US": { "role": { "documentation": "Information about effect of transition method for cumulative effect in initial period of application.", "label": "Initial Application Period Cumulative Effect Transition [Axis]" } } }, "localname": "InitialApplicationPeriodCumulativeEffectTransitionAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Effect of transition method for cumulative effect in initial period of application.", "label": "Initial Application Period Cumulative Effect Transition [Domain]", "terseLabel": "Initial Application Period Cumulative Effect Transition [Domain]" } } }, "localname": "InitialApplicationPeriodCumulativeEffectTransitionDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r124", "r126" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "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": "IDENTIFIABLE INTANGIBLE ASSETS, NET" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpense": { "auth_ref": [ "r45", "r106", "r237", "r240", "r271" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.", "label": "Total.", "negatedLabel": "Interest expense" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r2", "r40", "r118" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "terseLabel": "Inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeInterest": { "auth_ref": [ "r54", "r105" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.", "label": "Investment Income, Interest", "terseLabel": "Interest income" } } }, "localname": "InvestmentIncomeInterest", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "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]" } } }, "localname": "LesseeLeaseDescriptionLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionTable": { "auth_ref": [ "r250" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about lessee's leases.", "label": "Lessee, Lease, Description [Table]" } } }, "localname": "LesseeLeaseDescriptionTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeasesPolicyTextBlock": { "auth_ref": [ "r248" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.", "label": "Lessee, Leases [Policy Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeLeasesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": { "auth_ref": [ "r249" ], "lang": { "en-US": { "role": { "documentation": "Indicates (true false) whether lessee has option to extend operating lease.", "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]", "terseLabel": "Existence of option to extend" } } }, "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r255" ], "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 maturities of lease liabilities" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r255" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails": { "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r255" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails": { "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 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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r255" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails": { "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 fifth fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five", "terseLabel": "2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r255" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails": { "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": "2022" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r255" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails": { "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 third fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three", "terseLabel": "2021" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r255" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails": { "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 in second fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two", "terseLabel": "2020" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r255" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails": { "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": "2019 (excluding the three months ended March 31, 2019)" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r255" ], "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", "negatedLabel": "Less-Interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r249" ], "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": "Lease term" } } }, "localname": "LesseeOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LettersOfCreditOutstandingAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.", "label": "Letters of Credit Outstanding, Amount", "terseLabel": "Letters of credit amount outstanding" } } }, "localname": "LettersOfCreditOutstandingAmount", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r29" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r20", "r267", "r277" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "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 stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r31" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCredit": { "auth_ref": [ "r12", "r266", "r273" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions 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": "Line of Credit Facility, Amount Outstanding", "terseLabel": "Outstanding borrowings" } } }, "localname": "LineOfCredit", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "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": "Borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "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": "Credit available" } } }, "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.", "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage", "terseLabel": "Commitment fees payable on unused portion of the facility (as a percent)" } } }, "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "us-gaap_LoansPayableMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Borrowing supported by a written promise to pay an obligation.", "label": "Loans Payable [Member]", "terseLabel": "Promissory note" } } }, "localname": "LoansPayableMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "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 L I B O R [Member]", "terseLabel": "London Interbank Offered Rate (LIBOR)" } } }, "localname": "LondonInterbankOfferedRateLIBORMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LongTermDebt": { "auth_ref": [ "r12", "r147", "r266", "r275" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails": { "order": 1.0, "parentTag": "us-gaap_DebtLongtermAndShorttermCombinedAmount", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Total Debt", "terseLabel": "Total long-term portion of debt", "verboseLabel": "Outstanding balance" } } }, "localname": "LongTermDebt", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtCurrent": { "auth_ref": [ "r28" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails": { "order": 2.0, "parentTag": "us-gaap_DebtLongtermAndShorttermCombinedAmount", "weight": 1.0 }, "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Less- Current portion", "negatedLabel": "Less-current portion", "terseLabel": "Current maturities of long-term debt" } } }, "localname": "LongTermDebtCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r32" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "LONG-TERM DEBT" } } }, "localname": "LongTermDebtNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtOtherDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Long-term Debt, Other Disclosures [Abstract]", "terseLabel": "Other disclosures" } } }, "localname": "LongTermDebtOtherDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesByNatureOfContingencyAxis": { "auth_ref": [ "r137", "r138", "r139", "r140", "r141", "r142", "r143", "r145", "r146" ], "lang": { "en-US": { "role": { "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur.", "label": "Loss Contingency Nature [Axis]" } } }, "localname": "LossContingenciesByNatureOfContingencyAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesLineItems": { "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": "Loss Contingencies [Line Items]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "LossContingenciesLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesTable": { "auth_ref": [ "r137", "r138", "r139", "r140", "r141", "r142", "r143", "r145", "r146" ], "lang": { "en-US": { "role": { "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.", "label": "Loss Contingencies [Table]" } } }, "localname": "LossContingenciesTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingencyNatureDomain": { "auth_ref": [ "r137", "r138", "r139", "r140", "r141", "r142", "r143", "r145", "r146" ], "lang": { "en-US": { "role": { "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability.", "label": "Loss Contingency Nature [Domain]", "terseLabel": "Loss Contingency, Nature [Domain]" } } }, "localname": "LossContingencyNatureDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r94", "r102" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.", "label": "Nature of Operations [Text Block]", "terseLabel": "Business and Organization" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r66" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "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 used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r66" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "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 in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r66", "r68", "r71" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r43", "r44", "r46", "r71", "r92", "r269", "r281" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "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", "totalLabel": "NET INCOME" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "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" } } }, "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable": { "auth_ref": [ "r78", "r80", "r81" ], "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]" } } }, "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "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": "Recent Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r55" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "Nonoperating Income (Expense)", "totalLabel": "Other income (expense)" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "OTHER INCOME (EXPENSE):" } } }, "localname": "NonoperatingIncomeExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_NontradeReceivablesCurrent": { "auth_ref": [ "r41" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The sum of amounts currently receivable other than from customers. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.", "label": "Nontrade Receivables, Current", "terseLabel": "Other receivables" } } }, "localname": "NontradeReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_NotesAndLoansPayable": { "auth_ref": [ "r12", "r266", "r275" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Including the current and noncurrent portions, carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer).", "label": "Notes and Loans Payable", "terseLabel": "Outstanding balance" } } }, "localname": "NotesAndLoansPayable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NotesPayableOtherPayablesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A written promise to pay a note to a third party.", "label": "Notes Payable Other Payables [Member]", "terseLabel": "Other debt" } } }, "localname": "NotesPayableOtherPayablesMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NumberOfBusinessesAcquired": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The number of businesses acquired by the entity during the period.", "label": "Number of Businesses Acquired", "terseLabel": "Number of acquisitions" } } }, "localname": "NumberOfBusinessesAcquired", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "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)", "totalLabel": "Operating income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseExpense": { "auth_ref": [ "r246" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of operating lease expense. Excludes sublease income.", "label": "Operating Lease, Expense", "terseLabel": "Lease expense" } } }, "localname": "OperatingLeaseExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Operating Lease Liabilities, Payments Due [Abstract]", "terseLabel": "Maturities of lease liabilities:" } } }, "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r244" ], "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": "Operating lease liability", "totalLabel": "Present Value of Lease Liabilities" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r244" ], "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": "Other current liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r245" ], "lang": { "en-US": { "role": { "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.", "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]" } } }, "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "extensibleListItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r244" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "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": "Lease liabilities", "verboseLabel": "LONG-TERM LEASE LIABILITIES" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r247", "r251" ], "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": "Cash paid for amounts included in the measurement of lease liabilities" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r243" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 3.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": "LEASE RIGHT-OF-USE ASSET", "verboseLabel": "Lease right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r254", "r256" ], "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r253", "r256" ], "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" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Business and Organization" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r25" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "OTHER NONCURRENT ASSETS" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesCurrent": { "auth_ref": [ "r6", "r7", "r30" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Current", "terseLabel": "Other current liabilities" } } }, "localname": "OtherLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r33" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "terseLabel": "OTHER LONG-TERM LIABILITIES" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r56" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 4.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "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" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": { "auth_ref": [ "r64" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 9.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": "Payments for contingent consideration arrangements" } } }, "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRent": { "auth_ref": [ "r67" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Cash payments to lessor's for use of assets under operating leases.", "label": "Payments for Rent", "terseLabel": "Rent paid to related parties" } } }, "localname": "PaymentsForRent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r62" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 5.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": "Share repurchase", "terseLabel": "Share repurchase" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDividendsCommonStock": { "auth_ref": [ "r62" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.", "label": "Payments of Ordinary Dividends, Common Stock", "negatedLabel": "Payments of dividends to stockholders" } } }, "localname": "PaymentsOfDividendsCommonStock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r62", "r183" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow to satisfy an employee's income tax withholding obligation as part of a net-share settlement of a share-based award.", "label": "Payments Related to Tax Withholding for Share-based Compensation", "negatedLabel": "Shares received in lieu of tax withholding" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesGross": { "auth_ref": [ "r58", "r212" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.", "label": "Payments to Acquire Businesses, Gross", "terseLabel": "Purchase price paid in cash" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r58" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 3.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", "negatedLabel": "Cash paid for acquisitions, net of cash acquired" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r59" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "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": "Purchases of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r186", "r188" ], "lang": { "en-US": { "role": { "documentation": "Information by plan name pertaining to equity-based compensation arrangements.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Name of the equity-based compensation arrangement plan.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PortionAtFairValueFairValueDisclosureMember": { "auth_ref": [ "r234" ], "lang": { "en-US": { "role": { "documentation": "Measured at fair value for financial reporting purposes.", "label": "Portion At Fair Value Fair Value Disclosure [Member]", "terseLabel": "Portion at Fair Value Measurement [Member]" } } }, "localname": "PortionAtFairValueFairValueDisclosureMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r13" ], "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 (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r13" ], "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" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r13" ], "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" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r13" ], "lang": { "en-US": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r13" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "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", "verboseLabel": "Preferred stock, $.01 par, 5,000,000 shares authorized, none issued and outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r3", "r22", "r23" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 7.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 in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLongTermLinesOfCredit": { "auth_ref": [ "r61" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The cash inflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.", "label": "Proceeds from Long-term Lines of Credit", "terseLabel": "Proceeds from revolving line of credit" } } }, "localname": "ProceedsFromLongTermLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "auth_ref": [ "r57" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.", "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from sales of property and equipment" } } }, "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r60", "r189" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow from exercise of stock options granted under share-based compensation arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from exercise of options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductAndServiceOtherMember": { "auth_ref": [ "r176" ], "lang": { "en-US": { "role": { "documentation": "Article or substance produced by nature, labor or machinery and act of providing assistance, classified as other.", "label": "Product And Service Other [Member]", "terseLabel": "Other" } } }, "localname": "ProductAndServiceOtherMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r43", "r44", "r65", "r108", "r110", "r216", "r217", "r218", "r219", "r220" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income", "verboseLabel": "Net income" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r8", "r9", "r131", "r279" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 2.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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r53", "r161" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of expense related to write-down of receivables to the amount expected to be collected. Includes, but is not limited to, accounts receivable and notes receivable.", "label": "Provision for Doubtful Accounts", "terseLabel": "Bad debt expense" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesPolicyTextBlock": { "auth_ref": [ "r15", "r21", "r73", "r113", "r116", "r278" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for trade and other accounts receivable, and finance, loan and lease receivables, including those classified as held for investment and held for sale. This disclosure may include (1) the basis at which such receivables are carried in the entity's statements of financial position (2) how the level of the valuation allowance for receivables is determined (3) when impairments, charge-offs or recoveries are recognized for such receivables (4) the treatment of origination fees and costs, including the amortization method for net deferred fees or costs (5) the treatment of any premiums or discounts or unearned income (6) the entity's income recognition policies for such receivables, including those that are impaired, past due or placed on nonaccrual status and (7) the treatment of foreclosures or repossessions (8) the nature and amount of any guarantees to repurchase receivables.", "label": "Receivables, Policy [Policy Text Block]", "terseLabel": "Accounts Receivable" } } }, "localname": "ReceivablesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RepaymentsOfLongTermLinesOfCredit": { "auth_ref": [ "r63" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow for the settlement of obligation drawn from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.", "label": "Repayments of Long-term Lines of Credit", "negatedLabel": "Payments on revolving line of credit" } } }, "localname": "RepaymentsOfLongTermLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfOtherDebt": { "auth_ref": [ "r63" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow for the payment of debt classified as other.", "label": "Repayments of Other Debt", "negatedLabel": "Payments on other debt" } } }, "localname": "RepaymentsOfOtherDebt", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r17", "r154", "r276" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r162", "r171", "r173" ], "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", "verboseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r77", "r179" ], "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 [Policy Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems": { "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, Initial Application Period Cumulative Effect Transition [Line Items]" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of information when using transition method for cumulative effect in initial period of application for revenue from contract with customer.", "label": "Revenue, Initial Application Period Cumulative Effect Transition [Table]" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms": { "auth_ref": [ "r168" ], "lang": { "en-US": { "role": { "documentation": "Description of payment terms in contract with customer. Includes, but is not limited to, timing of payment, existence of financing component, variability of consideration and constraint on variable consideration.", "label": "Revenue, Performance Obligation, Description of Payment Terms" } } }, "localname": "RevenuePerformanceObligationDescriptionOfPaymentTerms", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r169" ], "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", "terseLabel": "Remaining performance obligations" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "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": "Remaining Performance Obligations" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r170" ], "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 performance obligations" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r170" ], "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]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "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]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "auth_ref": [ "r170" ], "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": "Expected percentage of remaining performance obligations" } } }, "localname": "RevenueRemainingPerformanceObligationPercentage", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_Revenues": { "auth_ref": [ "r49", "r103", "r104", "r109" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).", "label": "Revenues", "terseLabel": "REVENUE" } } }, "localname": "Revenues", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r252", "r256" ], "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": "Lease right-of-use assets obtained in exchange for lease liabilities" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ScenarioUnspecifiedDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Any scenario, that is, the particular reporting scenario is left unspecified. Scenarios distinguish among different kinds of business reporting facts, as for example actual versus budgeted figures.", "label": "Scenario Unspecified [Domain]", "terseLabel": "Scenario, Unspecified [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "auth_ref": [ "r91" ], "lang": { "en-US": { "role": { "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfDebtTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.", "label": "Schedule of Debt [Table Text Block]", "terseLabel": "Schedule of components of debt obligations" } } }, "localname": "ScheduleOfDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r221" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).", "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Summary of fair values and levels within the fair value hierarchy in which the fair value measurements fall for assets and liabilities measured on a recurring basis" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r122", "r123" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Schedule of changes in the carrying amount of goodwill" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r186", "r188" ], "lang": { "en-US": { "role": { "documentation": "Components of an equity-based arrangement under which compensation is awarded to employees, typically comprised of compensation expense; changes in the quantity and fair value of the shares (or other type of equity) granted, exercised, forfeited, and issued and outstanding pertaining to that plan; and cash flow effects resulting from the equity-based payment arrangement. Component disclosures are by type of award and plan name.", "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": { "auth_ref": [ "r92" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).", "label": "Schedule of Weighted Average Number of Shares [Table Text Block]", "terseLabel": "Reconciliation of number of shares outstanding with the number of shares used in computing basic and diluted earnings per share" } } }, "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables" ], "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": "Segment [Domain]", "terseLabel": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "auth_ref": [ "r73" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for segment reporting.", "label": "Segment Reporting, Policy [Policy Text Block]", "terseLabel": "Segment Disclosure" } } }, "localname": "SegmentReportingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SelfInsuranceReserveCurrent": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying amount of accrued known and estimated losses incurred as of the balance sheet date for which no insurance coverage exists, and for which a claim has been made or is probable of being asserted, typically arising from workmen's compensation-type of incidents and personal injury to nonemployees from accidents on the entity's property that are expected to be paid within one year (or the normal operating cycle, if longer).", "label": "Self Insurance Reserve, Current", "terseLabel": "Accrued self-insurance" } } }, "localname": "SelfInsuranceReserveCurrent", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r52", "r117" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r69" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate amount of noncash, equity-based employee remuneration. This may include the value of stock or unit options, amortization of restricted stock or units, and adjustment for officers' compensation. As noncash, this element is an add back when calculating net cash generated by operating activities using the indirect method.", "label": "Share-based Compensation", "terseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "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 Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Stockholders' Equity" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "For net-share settlement of share-based awards when the employer settles employees' income tax withholding obligations, this element represents the number of shares the employees use to repay the employer.", "label": "Shares Paid for Tax Withholding for Share Based Compensation", "terseLabel": "Shares received in lieu of tax withholding payment on vested restricted stock (in shares)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r0", "r108", "r122", "r133", "r134", "r135", "r283" ], "lang": { "en-US": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r36", "r149" ], "lang": { "en-US": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "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" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "CONSOLIDATED BALANCE SHEETS" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementScenarioAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by scenario to be reported. Scenarios distinguish among different kinds of business reporting facts, as for example actual versus budgeted figures.", "label": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "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]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Stock Issued or Granted During Period, Share-based Compensation [Abstract]", "terseLabel": "Issuance of Stock:" } } }, "localname": "StockIssuedDuringPeriodSharebasedCompensationAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r13", "r14", "r149", "r154", "r187" ], "lang": { "en-US": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Exercised (in shares)", "terseLabel": "Issuance of shares for options exercised (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r36", "r149", "r154" ], "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": "Issuance of shares for options exercised" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "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 of outstanding common stock authorized to be acquired under a stock repurchase program" } } }, "localname": "StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r14", "r18", "r19", "r115" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 2.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 stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]", "terseLabel": "STOCKHOLDERS' EQUITY:" } } }, "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Stockholders' Equity" } } }, "localname": "StockholdersEquityNoteAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r157" ], "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": "Stockholders' Equity." } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubordinatedDebtMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This element represents domestic or foreign subordinated debt. Subordinated debt has a lower priority of repayment in liquidation of the entity's assets.", "label": "Subordinated Debt [Member]", "terseLabel": "Subordinate note" } } }, "localname": "SubordinatedDebtMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.", "label": "Subsequent Event [Line Items]", "terseLabel": "Subsequent Events" } } }, "localname": "SubsequentEventLineItems", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event [Member]", "terseLabel": "Subsequent Event" } } }, "localname": "SubsequentEventMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r257" ], "lang": { "en-US": { "role": { "documentation": "Discloses pertinent information about one or more 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.", "label": "Subsequent Event [Table]" } } }, "localname": "SubsequentEventTable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r257" ], "lang": { "en-US": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r257" ], "lang": { "en-US": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]", "terseLabel": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Subsequent Events" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r258" ], "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSubsequentEvents" ], "xbrltype": "textBlockItemType" }, "us-gaap_SuretyBondMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "An obligation arising from a three-party agreement that legally binds together a principal who needs the bond, an obligee who requires the bond and a surety company that sells the bond.", "label": "Surety Bond [Member]", "terseLabel": "Surety" } } }, "localname": "SuretyBondMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockAcquiredAverageCostPerShare": { "auth_ref": [ "r155" ], "lang": { "en-US": { "role": { "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased.", "label": "Treasury Stock Acquired, Average Cost Per Share", "terseLabel": "Average price (in dollars per share)" } } }, "localname": "TreasuryStockAcquiredAverageCostPerShare", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_TreasuryStockMember": { "auth_ref": [ "r35", "r155" ], "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockShares": { "auth_ref": [ "r35", "r155" ], "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", "periodEndLabel": "BALANCE (in shares)", "periodStartLabel": "BALANCE (in shares)", "terseLabel": "Treasury stock, shares" } } }, "localname": "TreasuryStockShares", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockSharesAcquired": { "auth_ref": [ "r14", "r149", "r154" ], "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", "verboseLabel": "Share repurchase (in shares)" } } }, "localname": "TreasuryStockSharesAcquired", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockValue": { "auth_ref": [ "r35", "r155", "r156" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 3.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, 4,232,418 and 4,229,653 shares, respectively" } } }, "localname": "TreasuryStockValue", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_TreasuryStockValueAcquiredCostMethod": { "auth_ref": [ "r149", "r154", "r155" ], "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": "Share repurchase" } } }, "localname": "TreasuryStockValueAcquiredCostMethod", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_TypeOfAdoptionMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Adoption and early adoption of sources of change to generally accepted accounting principles (GAAP) in the United States. The FASB released the FASB Accounting Standards Codification as the authoritative source of literature effective for interim and annual periods ending after September 15, 2009. As part of the Codification process, the FASB issues Accounting Standards Updates to amend the Codification but otherwise the Accounting Standards Updates are not authoritative in their own right. All previous accounting standards (such as FASB Statements of Financial Accounting Standards, FASB Interpretations, FASB Staff Positions, Emerging Issues Task Force Consensuses, other pronouncements of the FASB or other designated bodies, or other forms of GAAP are considered accounting pronouncements) were superseded upon the adoption of the Codification. For an interim period, references to the superseded standards are included to help users transition from the previous accounting hierarchy and will be removed from future versions of this taxonomy.", "label": "Type Of Adoption [Member]", "terseLabel": "Type of Adoption [Domain]" } } }, "localname": "TypeOfAdoptionMember", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UnbilledContractsReceivable": { "auth_ref": [ "r37", "r263" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Unbilled amounts due for services rendered or to be rendered, actions taken or to be taken, or a promise to refrain from taking certain actions in accordance with the terms of a legally binding agreement between the entity and, at a minimum, one other party. An example would be amounts associated with contracts or programs where the recognized revenue for performance thereunder exceeds the amounts billed under the terms thereof as of the date of the balance sheet.", "label": "Unbilled Contracts Receivable", "terseLabel": "Unbilled accounts receivable" } } }, "localname": "UnbilledContractsReceivable", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r95", "r96", "r97", "r98", "r99", "r100", "r101" ], "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/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "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 [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r83", "r90" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails": { "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", "terseLabel": "Diluted (in shares)", "totalLabel": "Shares used in computing earnings per share-diluted" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "SHARES USED IN COMPUTING INCOME PER SHARE:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r82", "r90" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails": { "order": 3.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": "Basic (in shares)", "verboseLabel": "Shares used in computing earnings per share-basic" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]", "terseLabel": "Reconciliation of the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2018-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" ], "xbrltype": "stringItemType" } }, "unitCount": 6 } }, "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", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6676-107765" }, "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": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r101": { "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" }, "r102": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "http://asc.fasb.org/topic&trid=2134479" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r104": { "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" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "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": "(h)", "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", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599" }, "r11": { "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" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599" }, "r111": { "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" }, "r112": { "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" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84173941&loc=d3e4975-111524" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84173941&loc=d3e5074-111524" }, "r115": { "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" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534" }, "r117": { "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" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=68049868&loc=d3e3927-108312" }, "r119": { "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" }, "r12": { "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" }, "r120": { "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" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267" }, "r122": { "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" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13854-109267" }, "r124": { "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" }, "r125": { "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" }, "r126": { "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" }, "r127": { "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" }, "r128": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226348&loc=d3e2443-110228" }, "r13": { "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" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r131": { "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" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r133": { "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" }, "r134": { "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" }, "r135": { "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" }, "r136": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=82911808&loc=d3e14326-108349" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=82911808&loc=d3e14615-108349" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=82911808&loc=d3e14394-108349" }, "r14": { "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" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=82911808&loc=d3e14435-108349" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=82911808&loc=d3e14453-108349" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=82911808&loc=d3e14472-108349" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=82911808&loc=d3e14557-108349" }, "r144": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=115931803&loc=d3e12021-110248" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=115931803&loc=d3e12053-110248" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=109500613&loc=SL6031897-161870" }, "r148": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "http://asc.fasb.org/topic&trid=2208564" }, "r149": { "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" }, "r15": { "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" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21475-112644" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21521-112644" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21538-112644" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=82913815&loc=SL49130531-203044" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=82913815&loc=SL49130532-203044" }, "r16": { "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" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=82913815&loc=SL49130533-203044" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=82913815&loc=SL49130534-203044" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130539-203045" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130551-203045" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130551-203045" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130551-203045" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130551-203045" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130551-203045" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130554-203045" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130556-203045" }, "r17": { "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" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130556-203045" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130543-203045" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130543-203045" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130545-203045" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130549-203045" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130549-203045" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=108792157&loc=SL49130690-203046-203046" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=108792157&loc=SL49130690-203046-203046" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(i)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r179": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r18": { "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" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=112275985&loc=d3e4179-114921" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "19A", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=107668666&loc=SL79513924-113897" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=79507207&loc=d3e4534-113899" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5047-113901" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5047-113901" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=SL79508275-113901" }, "r19": { "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" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109196918&loc=d3e11149-113907" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109196918&loc=d3e11178-113907" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e32247-109318" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e32280-109318" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e31917-109318" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e31931-109318" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e31958-109318" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32840-109319" }, "r199": { "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" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6676-107765" }, "r20": { "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" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32847-109319" }, "r201": { "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" }, "r202": { "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=34349781&loc=d3e330036-122817" }, "r203": { "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" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "05", "SubTopic": "30", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=65884525&loc=d3e40913-109327" }, "r205": { "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" }, "r206": { "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" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=84161108&loc=d3e4845-128472" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6405-128476" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=109124213&loc=d3e6578-128477" }, "r21": { "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" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=109124213&loc=d3e6613-128477" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(3)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e7008-128479" }, "r215": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "http://asc.fasb.org/topic&trid=2303972" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=84234705&loc=SL4591551-111686" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=84234705&loc=SL4591552-111686" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19190-110258" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "2C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=SL7498348-110258" }, "r23": { "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" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19279-110258" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=SL6742756-110258" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "60", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260" }, "r233": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "820", "URI": "http://asc.fasb.org/topic&trid=2155941" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=75026489&loc=d3e13220-108610" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=109250915&loc=d3e13279-108611" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=109250915&loc=d3e13433-108611" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=114775744&loc=d3e28541-108399" }, "r239": { "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" }, "r24": { "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" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=114775744&loc=d3e28555-108399" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=113997351&loc=SL77916155-209984" }, "r243": { "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" }, "r244": { "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" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918631-209977" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918638-209977" }, "r247": { "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" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918666-209980" }, "r249": { "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" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r258": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "http://asc.fasb.org/topic&trid=2122774" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719" }, "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": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=68054760&loc=d3e55302-109406" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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=114873765&loc=SL114874048-224260" }, "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" }, "r270": { "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=114873765&loc=SL114874048-224260" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.9)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=114873765&loc=SL114874048-224260" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823" }, "r273": { "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=6879938&loc=d3e572229-122910" }, "r274": { "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=6879938&loc=d3e572229-122910" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910" }, "r276": { "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=6879938&loc=d3e572229-122910" }, "r277": { "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=6879938&loc=d3e572229-122910" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(5))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910" }, "r279": { "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=6879938&loc=d3e572229-122910" }, "r28": { "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" }, "r280": { "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=6879938&loc=d3e572229-122910" }, "r281": { "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=114873790&loc=SL114874131-224263" }, "r282": { "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=114873790&loc=SL114874131-224263" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=99384497&loc=SL65671331-158438" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "740", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=6491622&loc=d3e9504-115650" }, "r285": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "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", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&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)", "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.24)", "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(c)(3))", "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.3(c))", "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.4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6801-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r41": { "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" }, "r42": { "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" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669619-108580" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669625-108580" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(210.5-03(11))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r46": { "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=115205541&loc=SL114868664-224227" }, "r47": { "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=115205541&loc=SL114868664-224227" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(8))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6812-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=115205541&loc=SL114868664-224227" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&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=115205541&loc=SL114868664-224227" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.5)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7(b))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227" }, "r55": { "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=115205541&loc=SL114868664-224227" }, "r56": { "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=115205541&loc=SL114868664-224227" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3179-108585" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3213-108585" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3213-108585" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6904-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3255-108585" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3255-108585" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3291-108585" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3291-108585" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3291-108585" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3000-108585" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3521-108585" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=109223946&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=109223946&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=109223946&loc=d3e3602-108585" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6911-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=109223946&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=109223946&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=109223946&loc=d3e3044-108585" }, "r73": { "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" }, "r74": { "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" }, "r75": { "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" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(h)(1)(i))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r77": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r78": { "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" }, "r79": { "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" }, "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": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22580-107794" }, "r81": { "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" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1448-109256" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1505-109256" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1252-109256" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1500-109256" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "48", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e2538-109256" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "55", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e2626-109256" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=SL5780133-109256" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1337-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": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r91": { "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" }, "r92": { "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" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109256448&loc=d3e4984-109258" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r95": { "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" }, "r96": { "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" }, "r97": { "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" }, "r98": { "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" }, "r99": { "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" } }, "version": "2.1" } ZIP 58 0001558370-19-003307-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-19-003307-xbrl.zip M4$L#!!0 ( -*$F4[T"%/U(Q$ (RS 0 9FEX+3(P,3DP,S,Q+GAS M9.U=67/CN!%^3U7^ Z.7[#[(\C&773.[)I=7)TW+*P M9U.'>--/+9^W$;<):?WZR]__]O$?[?;OE\-;RZ&V/\>>L&R&D<".]4S$S!K3 MQ0)YUAUFC+BN=UVV$7EX@#"_4LU=?IT^T&\-I.$5JLV":(/ZKAP@;)\B'!(FW,4WE42PJ3@TFZ:-"0/@:C;L88 MJB6%R<-3.2EDFOJ\(SD[(5D+WGO+4F\^\CPJD(!I33W33Q<+XDUH^ @>2C>Y MD%V,04E+_O!U>&/PZJE11S" >O-[U./4)8Z4X1*Y$L/1#&/!6Q8!V0WH5A)I MF1P\(1Y1\H.3',,,:JVZ@9][@_O1X/;FJCON7UF7W=ON?:]OC;[T^^/1QTZ\ M@WC?/DS! ^\7]?."80Y=*DO)US?D#DGR.&WDVKZ[!>-:LFR^\*E&9I^ K1[R MP62PP$QIE(=Z#I:8ANM2[R '\#[^X)@+P>0:(?#&+1B149 MQEJ/8^F!K)_"H7ZV?I*C6:<_-YZP,T^XQ;"'U&!NYPF;711YPKL*GM"V@K'6 M+M%X@H$G7.%',7ATR318:#/ SJ#*Q_-=\LV6_5B1CAJPRKVV@MI_SJCK8,;[ M?_E$+._]^2-F\!+.$,M^50W9\N'\<'R6>#TC'?_3"KJ&QT'OZJ55_3=806]6I+L&MPKG MU =X!SPQPP(6+]?TT+K)5'2"?6M^@K5^VNBZ>24K'(*2$ZOA:2B%,1_BLS+' MHM%XT/O7E\'M57\X@FGYMZ\WXW\W,!NLKY<^)Q[F'&;4 9LBC_PW.NT6DN5! M> )O:6([I#M2LVZTJP:MG1UBMCNW%&!9Z=#:@&L [C4B[!MR?7P'ISKX74V< M<2S3B?*A.TM")[NQ5#]6M*,&)P.X:Y+:*=16'M0IP^I"R:TN)8#7P&&V^'SG^ MRP?-^T]I6[-$>SXTYVD;:MV#%731X+*S0U&UPY'1(>D4#DFG56[V]$]-A&IW MN(_1H[LMZB%O'N9G@'GRDJ $YL$8#>);GY#3 )B'2_ TF%0YPZ="D$^4C]"Z)4/(BO$&JRMD@8V'+HLO'R_2FN\&L M^MU*1LI" 75^ID*9FY8F-V$/V\PAMO'&*L[(X)(G'+YQ MGSVXCPS ,F2++N=8!7AO"7HD+LA>,V+=5A ]^NTG64.>'A)?6E:8RQ8U3H-^Q;#^C20)RSAPSKM<@C,?<\,4(7B\&B (*3B(WOX'0OL"=/]=TIPSNX_C'IN"AF\;92S"*4P(J( M8*UE:+QI#]X$2RV=XS%ZJ1BJ3^FGR%?>5_*58$!+C?A_Y1GR_V0!NB&>6*I: MW(6L<_:IQ_0R=S6%[#ZG$ISRIKB!PG%U M%XC9B5X2Q>R@$[K 3%Z7=+3L+:NS*ZT B;):Q< [0*7 2\HJM>E8!ZB3BQ[+ MZ@0LV-V/.A\[\;)ZX9/-\GNJ^!YH!K.MY27*<.86#PQ*>-Y26_46\/ L)OE# M>\U]!,-J6?-%*"@YF29$$5=;EB=LGYRV3]Y5EB-:B+.<+-2[WY4XR7*+1K*X MC&UP;25(?JW(##&4"*G5+SO8%7S55W6/B17]-#&+8I&_K9D^N[G0QM5C=_71$M/7,%\\C:$COJ+C!3H-"<>K 3 M9LLM[#1!+L\TU&,PZJ>6S;!#1)K]@ME Y)J/N+) =]<7-*A]I-)KJ#L*#C)Q M3S&E?V4_T4IJL?N3";;%8/(5T)U^QV0Z@\6C^P103E44G7I!Z:Z!+Z3%I(:M MT$+;L<9$COH#5^3&ULC3MOI<$3G6#_$"7+KK.?"#BX+<3AU_B'E!.:Z#FS-& MR)6)(2K[,)25WV/Q@)F,<0.N:TT-2$/U0+=%\'37+WI9[0!SQW?Q8)*150Z[ M=RQEY!$U2_!L^+)@X.^OC&:1[.JSA1*ZAO1;Z.F(B]E2>H'_J*RU+XW57'LC M)W/?XV5W*!0KZM6&&ND9VF! 9?WFWXSZXESBO'& W''"MM!GUZ[IV M?-%:.VK7<=16!+EWB$U)^!W6&+^(2Y?:?[82;T(Q0^H"%<(K--V!+%(RVZ!' MG^2"(X+EF#QAN='JOI#()%9 MMW[[! 01/Y%DSV^SYF"7ZGWS$!#37AX;RE( M?*.F%?GP&V)$=CD$D>4?;Y'_QJ1R'K:L6 M^!8'I\.A9,]2,X,XJN'"9WB';WEQ,"!=0O"Y#2&[$_#5S^0)K!^L06.J,D+@ M .@S>R:+TE]3UM,7.M[TFKQ@IS>3?S=+]FELFCT.?(!F[J$%@1UY_V6!/=B\ M@5"P:7MY8/2)<)73 XH[T"1/*S&U']!2W<9_Y;!SCUA SC-9-M ET7_S$0.S M\B(P7EV\ UL"M5U4)MP0R]G(5DOV V9S(F2,:!U"A$G<]V308,R0QY$=C)1O M\ H=5XH^%@0;'?RX;:S14,]N^)4H?M#^ RWR3),HO5G">&:=UMMP\?FRM)&2 M'1S@/+GM:E*KQ2".A)PZQ_0*"SD'>+C_8KL^5Q-H? 6$Z5=/Q7K>W<]J_$-$ M>E5H;C',MK &]=3]RC7&/"U"G$^U?7!XCVM6L&HD@1I3%=B'_^[0"YG[\[(S M2H6.]SGU9E^0&9APC>8Z8/Q]1NS9%\2'&%8/Z%Q]_; V3@F6 _ /#5ZPQ\Z, MJ$6:ZQ%)4P+G1= V" XRF+0AZ1!YX%!>:L LE[ FJHV?J9EJ$<*ZJ#9CV!"W M#=*:J'=-?6:F793RX)0;P?R+@&,E=C!52XK$'5HQZ8%E0.BJ*;*8$WE2A=ST M(W[CP3G>AD4*EN5UNZZILM372]6ZR,F(*+W>Y^SF,DY=E>^@;BGGZ\\?ER/8 MC(IE,I990'9H S!N.)D3IN,> MEY0Q^@P*]] "V?+39-NFS)'QH$4PFIYW2_&\SJ9A5YX%>WGJ3V=W2( OB.7F M=)356.=9*1KTDY=UU_B1^8#1Z>GI\2=U7'O]1SG>> M3.""X[)<%1B=$\XI6][3=:)3^%:84M?4&^*WQHQ.&9H#<_[LD$974PM\P>HZ MY)LLM.*N$H (@U-'D,XI/[P V%TX9\&/FV;9EKFFMKK'SZM\YV_$"ZQU1_?9"MN1%E3*X2?7_20Z_)H00S/N0/G%I0E7HE2'#6U2M_Q@P\. M8XZ0>%Q3_8:JBH0\.B$9@E&5SOHR6U+>)D;CK3J/TY2\IO:X\UU!KM&H</XO<9N^[\E4XE6UYUQ$T>5_[&R[33ZI16DJ?FQ[;U_9;T!\SF MZ\4GV9"CJQ;T(-XT?:H.=,!.5*^,MKJH-L0>?I:2YE53V\31G*$N1NC";PYV M1M@CE,'J0%V91Q\FK05?>\8"E*4X:KK*1L)*UX1Q$::;RYH<,6,8$-;?!B/Y MD9)C8H1LROI;83PCS,@(F80UM8&^OX\FQ0^QK(.#G2X?X05BZM/$L +*:OG? M@B]GVBR;'_"CO.*9FCM&#FU-?2-<"A\8_0^V!4\-M"0::ZKKC>?X\JH6N0]! MO;IE^H'3@*ZF%AA,)H#G*HJ8?MS.IZFIYE\PIZSHW@WV?4=9>#9P_VP" O<0ABD8(H M@4&V9Z^IO?3W##TJKY%4IWKY#TO*;-S?FI/7.VJ2HN=&M3CU?69PE1WY6X7@ M+;Y\%#&%3BK,-%_%;FL>>^GY<_71V!/6;@2F62 /M%;[+Y5M&H;WC$CWNA%= M)QA53;624;4(PNN,8OVI6F9[7BY9M0SD'W$4">N@C*F*R<0/'(G6FAPK1OYB M$3Q";J00U1"[LJCMF"HX$R"7YJHG].LJ5DJAM#\T6U3^RISQ<,M@99O%S ^* M;+1E+_4Q6';([MPTMG=>]]V:+KX4O!">,YI1)F3D6CWH4;Z:7(PHZ[U'VRC] MT'6>@OK:X15'>EN-\H^#6OE!$>I?_@=02P,$% @ TH293BMRD9OX#0 M>,L !0 !F:7@M,C Q.3 S,S%?8V%L+GAM;.U=6V_CN!5^+]#_H'H?NOO@ M^)8[9G;AV,YN@"0V8D]W^[20)=HF5A9=4DKB_OJ2NMA2+(J4[(PHJ2C0R<[) \/#\DOO[RO+>T58 *1_;71.6LW-& ;R(3V\FO#)4V=&! V?OGY[W_[ M\H]F\X^[ET?-1(:[!K:C&1CH#C"U-^BLM!G:;'1;>P(80\O2[C TET#3VF?> M_[1F,RCB3B]'JMCLWVO5M^_JV=Z5-GG8) MGVCS%E"8TH+V7[?L_^:T2HWBM,GM.X%?&RO'V=RV6F]O;V=OO3.$ES1_N]/Z MX^EQ:JS 6F]"FSBZ;8"&1M/?$N_C(S)TQQ-2)/O['%MA ;W6KBYN"O9?S3!9 MDWUJ=KK-7N?LG9B-H(GL9XE*PN3L5YB2/H+%3W]0?B"#SLW-3I0'IF&#)!- MD 5-1NN=;K%F3%< .*2AL<*_O3S$&F*@]0)AAVP)S4Y] MUO%VO)C"I4T''D.WG;YA(-=VZ"@YH2TV("!#X.C0(@/=,KK997!D;>J*Y1'0 M:L/F?KI8/M16A%B&8.Z,YQ9<^GWT>.2\ @OAW$'&7RMDF=1@&/W'A<[VV5W/ M ::TK'1\$IYE:\@,WZ!]Q;4\(3[2WP+(K/J33D(1X8)W!]@F,'=?H<,JH[9& MFQI$VJXX^O=@_#P=/SX,^[/14+OK/_:?!R-M^MMH-)MF@.H!I5 M9,0:8C'; M!>$XS4%Q7E$+G"V M]#FP/+LQ]F.KL(8-7(RIA%/;%Z3Y\[)W>=.Y[MQ<=2YZ%]V;RXO+2,LCVM/' M<1 Z-L+RZ9\'"A7G*DC1(FP\8Z4U(56",/\"H_6A^(+*4):&(TQ[$#7H&YI+ M:'O0AM6E6PWM#<#ERO%^*8(6-I?W;9/]P[KWJVZQ.;[O#'2,MW0D_Y=NN8!# MEU1>56E,(^N0X/Q098C?8(@P'5H+TX([ND0$)AU&':P;S@LP (4XMP!O(.&F MKP;;V> %#'?E&.X6P_ W>QX#1?:H.!RGY*@&RUD!!CSWE.;YV0-C@HC2IL^Y M_ QQ(5Q=7[5[)60Y([Z Y'/5YND'^Y4V&>'M,^ Q&4U2#>Z$B *V+E1C*QQ2 M?H?.:N 2!ZT!]@1 @:1W1XF V+]" \DNE1^$)!AL=FJ/W#; )H(;CV%D% M\ 3#L43.:O"?%VC _Y5J77Z"T09@9SNQF"?,-MDR8<.\"?P!.RV+JB0G4YD1 MAXS%7 2'@2O?7GI^RQ?6EO'B&]5.!IU#8FJ>,K&8'4@I#.)?$3+?J)W/H2_\ M.0[PF@*\4):IU#:K:\ ZNKV$U/[V@=&Q8?1N6"[;V19P)).U3/SEQJ.JN3L$ M"T!G;'.FO_N('J%.U];0@8"!HTLP(]7HDGHFRT54 T6 5-UCBK0[??%[F%!IXA(; METI;&JI2;!0](GLY WC-@B $7!ZF5)K,M#8F<"J)+ANI!4WC0=P.F>A;YA\7 M[-$G)JX0M1D JNK'&*TW%MH"\ (L%A(C/?X*\\6E<$.ET"TKS?FPRK@\5-EP M""%ML^\X?,Q:(=YSPY5QK!0^E$^!M7BPB8M9#-P+( "_"L;SE!P58CTK2E4] M+=XB5'H\YZ2N$*]9$,JX5(JVJ85NE.3$2C.:PZ06(%/5[HIOH>QF%;%O3)2O M"OSF UF*/::(JS?JY,W@]D[,5@76J1\X!7ENB,Z%0UL*2]XH<) M8S@OVQ1G1QT6I9W,DKBR!3T7%I,3C#X>J+2C# DIU:-3DII#3F71J;J!,$#K M-;*%)'Y,5B$&I:"I:A;/,+7X7+P5$GB8L$(42H(3&KS-@ECLFR;TVS+1H?E@ M#_0-='0KHIF\'0-AQ@JQG!.LJE%;+^QXKPW,D8YMNG0C?<-PUZ[G,:>6/30@ MS]@59ZP0Z3G!RMO 7UH?3DM_ZA%J[NT6$1*X9ZF[Z6>IIS/ZS]/H>3;5QO?: M>#)ZZ<\>:(*&TJ>JGX'S8%.A@4=$>.$F'](4$V,9UG]/%9OM=$#;I0JY)_$. M4$T ?CJZ) ?D"=J>C?Y@.P #PL*WXZ7X'>$)."MDLO,XQ/$T@QNJ^=U:$.]2 M'07&CT0MB0=^%BN=;-$(EP4[484]+B&E>DI1-.J43D7FW M_48 ;=IN%=XW'/B:=A!?O@#U>GD>AF.KQ>.PJ[K \+VK*7MS^P3J<7HD)XE X=$>3U(!< M(5Q53X-[(F OB-TC/$3NW%FX5GBM 7^\YF:I =69X:L:L!F>M\JVZ!+DJH$" MY)& JF>8XI/2/;1UVZ R89O<!TS+'Y=%389O@U.IPA""$=__]?SOANWG%*ZF;14HR4.YKU48][RDZ[R%; M*A4V;:B/'K<'._4Z)_X60Y92:J :IY!(Z.5J*WTD M_!!IN,P3/H@ED[66NB(IAE!!^'[0HFRC0TCART/\38W4/+54 Q'^D'_U0FT. ML02OTX1>@<17:J050Z:P6FI,;L&$JG3*2)>#9Y;I!\F),5$?LF:OL :<1!0A MYWR7JQ)', YQ>LJ\%UJVL2,I< MV1I-*RPNL?/KJTX-5">W8$)54L[-*^H>>=2'6T(M=2:;-$)%4>[)%XZD_$,. M1\1N)12@GII\4NR6+'95 SWH,.CYA&>H;U"Q8,!]OY$7*R!=@'HZ<22G"9$# MQPE#&!M6E+%"81@ F-Z!N81=,!DUD2^A#GIRI#1*,YJ$&U3>*W=^G'CPBRD[ MGJ0440=-.581FH>J;@!6R"D6^\R*()PGPUT(1\,BC'I391;-ZR MG+T0(J$+N[1Q[!<*7*__J?RGXY8R#@KG?+)#,X1,1+9)Q!<-IV>J@1;D$( P MCKVP]6> Y1YAJMPN-E;4+F*!:[):P,]8(TW(* 1A1'O1VA"\UCA#,_V=[1NR MVYJI?"C,3#& >8NKD>:<1#3",'DEO%NL.XR]II'1.\ &)'Q7A2A?'30DEPR$ M@?&G"=@(8TD\!XE_OUNHT0GQ&2FI*TQD'N3"T.^XV5CL-$$'*5& N[S/Z:@R M*ZQ%GRA#"$Q+$1<#*9,PG@[7DSATH8+:##7O1]>0'%-D 4- MBFK(WH.PR(!6W)6['^6\335::VK[FMAE*7YE&EIHD>JT?7U:6*'V8U#E3]J/ MK%:M^U/CDRY.21QUPU"N?00P"3\1%N9')PS"G-?[WWDQ^D>7ILKKVUZ$$NML MF1_?_I SWD4N:1?I%32$G(AIT6O<,OA+<:7&]WR4O0Z*(26 O#Y-928/[WG< M< J1GCPNCY@\FII?YWX6^:S)XT0/9K.]4,!Y3SBT8H?50BAE(5E[]A0,P@WH/7X_M M-K&R:JA"4B+(]GRNXMIS(L6IM\[(J(O:KQ!D0HK^E)<"YP% MZ8Q6?(KAQ2LG+K(K*K++FB@,'[[,55;ETI@W= I]>4,UUA8.>)F[KXI98+.@ ME_'<@DNON(QKZ,M#!RPK3XL46)8%,FLWBP*C5NBZ;YO3%94<^]N_,PB8_BU MG/XAF[F0$2 (;4N) (LF4:_O9F,FUG-%N,JQ((V@2/> )J2L*IUI\+(M%'O? MTYMY\%KZL[N>,\^)%R"2EK'K$$>W6: -IUMD+J6PX\G,E-"M(.+,:U??<3"< MNPYS_L_0/HPHL#NB]]5QT!]?L'IC2$Z].#B^?'JQE&)&D<*^CTRPM@^$N.RK MG^X81>.76E\MRRB34OA!.;([$!KM7-#(-FXGEU%)]3E> CF]H$FVT)>63U)@ M#_S\/U!+ P04 " #2A)E.IQH>S9TC !Z-@( % &9I>"TR,#$Y,#,S M,5]D968N>&UL[5U9<^,XDG[?B/T/VMJ'V7UP^:JR717=,R%?W8ZUK1K9U3WS MU &3D,5IBG #I(_^]0N HDQ* B(!U(>Q\1TR1*._#(3R$0B ?SPM^=9/'C$ ME$4D^?'#[L>=#P.#D 39 M#"?I(* 8I3@1/'B/$J M)!G(MO8^[BY^.9DW1Y*O@T_;>Y^W]W9VOPR.ONX X$_;UF44_?IBFZVGIZ>/3_L?";WG]7=VM_]Q=7D3 M3/$,;44)2U$2X \#7OXKDU]>D@"EDDFEZL]W-"X:V-]>]*4M(?[:*HIMB:^V M=O>V]G<_/K/PPYQ$\;-%)T5Q\6N8+BJ4"W_>SG\L%XT,39=@Y^572)FS:_?+ MER_;\MQ.ML:U M[!ZA!R'$HVT)+-IKRGTT&>-'G&2X+_[5=0^7<7S*2"D*TB%C.!7CYS)"=U$U/# MI=Y\L.4<1?07%&?XBM/"_V[)E)J;]0'T%-^EK>O$QI*TN5BT3XIM$C%LY] M.TK@T@D,)@PY<:=1G D2Y:^CA[:<"_>^_)BZ.X;_R+B0SA[;6AEI6G2&)Q$@ M&A0PYQ_+5"U:B))T.XQFV_,RVRB./]B&3I9)*6(\(ICT6?)+MM8"5?RSB)V0 M9"LDP@MJD<35IMN@5S:U-<.S.TS;)+;:;@N43CE1-,CN\-:"$2W2JVR]77W( MW=YN%*)H>TXQ_YL[X'G8+OE]WKJ@IW'XKT0[%N5"'"Z^C5+1P6OU0:G^X%0J MQ.!**L0ZG0YN;OD_5V?7 MMS>#T3G_:W3R?S^/+D_/QC=_&9S]_?O%[3\=V"&9(922!!7B8A%I)U2I2A:1 M8_'-WNLX" MQJOZ#6D5$!_J1=OS4;_F9$8HU[P?/^P6K4THF>D9/">!6$/)&">,2(\$Q7X$ MM$38:<5$+@E&4[8C@:P:5TMIF%2M+!P-G+<@E-\.]@^^[![M?CG<_;Q_<'1T MN/NI#SD5-J\/02DA I"=6)F21!JNJXH+MR0W1;FN!%1U_,S",:I>62@*^@%P M_Y;*>-9+/?^5)7N5P%Y#"2@1 )#!, RCO/]O* HODA/T$*4H-DJCIDZOQ("#+V8FG%5\A6.L!S%WF)W_GZ^6M DI0OYTP8#G_\ MD-+,TSKF(A%)8@R?XOS?BV1U:3HF<7Q.Z!.BH4:"SJU L$=V@G:&]D C0OF7 M4L% #$-=J&%E&*X6A."YK:FBU=&Z"@V:G$I^Y\T44+!0!Q/^#5&%W+2TH O&A@ K0_U8L)T7 M=.#;TX253!'^A1'7&'.=CH(4A\,D+&5TRCI#,?G]1%>M=VNM0G"=&\\!K7'# MCQ[DJMFZ(C@VZW,":'F0U.B$(V.@F8EA^*^,Y>F28QR++(M;?XW2J?"? M.$SN-4F,Q\N#1QNP;]!BKWIST)D[V8@'T%0DUW"Q8\&);J8;ZS4%P9MH89Q4 M_(JU& %-,TI,N26:S2VUX1UC/HQ8E.(;3!^C .=SZ1@'Y#X7L)RIZV>8CKKM M5>,.^YB&.F(4-(T\C1ZC$" MAHVEA]!_&JE:CB@6FP+R?J1" MXZYQ^HT[1;Q?=*_T*^OK^!Q'#>57#P[ VJ?=>\1L%DI[JPNE.1$#,AF4R!B\ M]C M(^KGA!H &$[).K;A?P78J@YHXM\VG( 0)^,=C";#,*?"?$Q-613(D=NU]+@2 M)5.BVWP)@5QA=BJU]E>?+4VU"VPW*4I"1$/V_4'<,\'+'^SLF0\EVM4%$:8V MZ&MEKK2#!$!PZYH)W=*IQ7;]';IKC2EEG6AHD#?U2-_H05Z$D]S+6Q['T?TT M'4V^,RQO;M4H3TT=")F1G:A(#6YH^Y!5'4'^K2E(1PZZD&<)<0;LSBO MO:3:;E6^UVA57B5"U)F3L2G+<0T73:MMFTX7>SP ME !XVF63%"A=XY5? >QDKBA#A9'=N;3MLK*Z@-KG"Z@C_TM&6_8JB??$\2O. MJ%DVT_)\Z7??6XH*!2D8O$2I+WZB9S,_J[_[W@0T\;-*J=\4AHU)Y-&L,UPL MVGL*SYM+X5'NA_Z,Y:KB%W']>)[UP+L=1O2$)'E6.O]1G)R*L]D=_ZA-.UBS M'=]3N77^P9KX.CYJ>)Q%\FC*,$LYU:)A^9@-B?-D%GTNCVU%WZ;!6CZV@ "$ M.N:87B')&_^-86US%9]!#VLAV4'I."QEZ3W]B]"3C'%%PE2UGZLKY,'2:T)0 M+I9>A<03YZ_1#(\F%8*T=MY0%H"=U^M0P78#_9O,_>JR\A.,:XP;2D2)J7UC M?I&$F3BLCF(^1_(AG[X49&C->'T5WPY6K5(5!KP>2L>^U!DW2TB;.J LX=L[ MLF;N"N4=\W(TF7#+7OADM6IL+N[;O;'FLAE&QRSG"Y0XG0:(XAL",HKR M1^3.DI0;"DZEH$?+=>N:/N\X<1*"-:*.97+%?:[H',VB^$4>QV#B2'L::2Z. MMZKA\X(')QG4(NG:Q(IE<[UE597R>86"FT%540\MB]) M7<=#($%S3ZMM(,$2& 1QY009'^A9*@,D==M*T2K"J,+81.97E]X'1X<[7_R' M$]H1B!):^W;B&C\M#K":%K>:T4X MEP@U;?^Z5(9P_[P-_ZW 0/-&-0[;9\:AAK_J8A",E"N+U4B@6:@YBG,.5:;H MH" 5E^P689ZSYR#.9"8/8WQ)Q5&@9_,4YM82A'=1&DQ@;F"['F&+2T(6&'3T MJ0:>2VT(]X\[CT<7@!MSCJL@7QXD%#L/Q6$T<<;+\3#7?J/#7 4E@YP4>7]E MB9A-.=(U5XT+(444#Q\>.$"I8?G=SB?9+!,9IX_X;#+AZ\%;BA(F!6XZ]-6T M41^6P9U80XA]W<;@'$!K1R^J+WZNQQ, 7H,[Z<8@\_K- =D,:#96FBD%H T% M(&I1C>4?'1WN[L+9IO"O*DKV -">$Q0'F7PSY#MW4.A\POTIBT(1(+A(W:KLZF!G2+VT!42T*YJ*EY&]:A/H3 ;3?*X\ $:+$P+=)Q#-6)8LD:L7]"%N>.4?P+IBQCWY/@]2M%M+6C?B!L1:VE,1WR9&,F MI#$.8L18-(G$JXFO.W2N$XZ^'0C;:-U,*'K,X,1OP+^X2*Z!HZEH \*LT+^S MJ6 $.%TPD>WN<:Y6A>YR:A6^;M"O0MTHV?;@>[;0%W3_L[GV0/!#^YA*YDR\ MC69X0M%,G7AUP__+A &=S]7S9VS_U+X]V7&?$,Q6QY-78QYME!JVHE>^%47C MUG;DWSAR8A/40?KK)WQFC=)+PMC9LWA-VWF1HV@ 0BY9?VJ@X\+&9"Z-L>"K M^$(UZ3DG+WUJ^#[4G)A!B9I!B9P-2U\R,UVU5H":86)/OI#9 M[N]N^;M;_NZ6 MO[OE[V[YNUL.TD!MGELN7S%UWG$Y:.1VYWUNBD]]*6YQP)=YKLCB?AJ3HVRL M\?[,I\;WM.#S^RN?;_"5S_[A(__V'@O'4WB58Y3B^<).,_#.LO @R+;1&%\%S;\;GVSU=63$E4&@2 M+RY^/2=TK'=+5DKY? >H@;Q6<$ 3AVI^EL\F8!'1G<\?M^1,!CH=S)>AC5Y% M^:532V9 "4W0JBM0B;=NQ"O<)#\F*&TOBT0D+UJ)7[;?O,^1VZX2N*#> M$'6Y)DFPSA OU_,9ZFQ)P&4X&R(Y-WG!"$BWX;V4(&V&I#C&8GU[FM4M(]R: MZ->^MK?SYX82FIA52]R%5KZ^V"-X&(KHXGG$ A3_$R/='=--&H2P*%E'[^MB M!K;X-U(Y.#\$];=/I(E&E%N!L#SJ10W*H#=:]KQC<]J?4SL0K'NO\L]A;[(& MG).LD4&H- -AR[I/^>>H-UK\T6,;XS]O!L*V=Z_BEZ@W5?S#28II2SJPU!:$ M3?B^%&$)^J9J0T,%@+%)WY?,-TS,WY-PGC.'P[/G@!<=SL1?Z\A.MJYOLX2'/-4;Q12*/<(G6QUB^@G1+\@-(A@TMUP;Z71=N.>$NL7, M&[7H>WNKN> ;P0=P/O4<1?07%&?XBM/&_\[-C=-!U/V=W>6#J*+5@6QV4&YW M4PZ;+IBBVG.9 PI'7$W$OA>7*R]P31):_'F,6,1,1U-;;-_')+(@__BE)-US MBO_( ' 9*AFB 65QN=CK6H">4#80:>50C1! M?.M"K+QG>_3YZ' /T'._W0E6"1NHK-EBCC(^V&M7%<*VJ8-"UXEU%2 D(1Z_ M+#[^''$_D@;3ETO\B&,[,VNL[,'2:E;-?5E:(SL@B;VLGZM$.\_8AC;@&6 + MA:\=TWJ\_XY2WA0+W:7DP9OKB^0A2YD$O&MGI54UH!KG6OU6"E:%$*C,]IQE MMN=%9G46N$V9[0&7V;ZSS/:]R$R3--2)S/8ARNSXY?4\@7AGUL[Y5=7QX//6 M2:]CGU?%!4BR-:.6,+\GY(YA*E\4EJHJWEQ+ EY+QNN7,=HY3MWU"\^EUH\> MI=)TQYIWQ>NNWZJ'>\ ]W!V07CX0952RJ_TT"'$)#:>3FV;^B46AW LD2>E] M Z43XE85E-??];@J3M17 K0D(UGP-I2^+W0TP "&W8;XN:ZX@;KD/?Q<6=\(LI;UO[DQLZCM% M)XA-.2SQS]D?6?2(XDIT[W40:93-H3ZH^'-7*N7 #VA9NX+F&WG%!N>@;BXU MJ(%%75#A["Y5P((7'9^+.,X8)Y*Q8<#5,+\ 1[.2?64(][%B\0#.S11C^=2V M(EK04KL03L-VI@DM\JGKB]^B";Y(.%#1;7&1,2LNW3V;/<3D!6-V0AXQQJ^)CXR6VSK=M9%L.J8LM] 4A:M;;R*]+@VR!GV]%134H+QC+<&VD MKMV^0 5:-D%%:_CYQE7T!J=I'J#L24\K'8(*"6VPLE:8^L8U]B S@1H-3?)>64H#<[C(X6+W+0+0W*#6X M*9<8"+KY&CFEF9"WZ3H"94D?DU&5$$-:E*H@G&L##)PO#TL5" 6H4K6-9IA M8U:KOCB0!"6]4NF%48;Q=D12R:_YL@/K%& S,2FA 9#<&#^2^)';QA-NX*/T M' 72A!ISA6KJ0 ASU"EDY88D,YPN[IV[X]1'"4JE+S!,PF^<^(@Q0E^N2:I. MU'*I"&$5;R,!%TP QLHE08FX\5#82^, 417T?X6D8VW F+<4-3KAY+0;G_F-+IW@5 C#V&YUA54$@;K!.A73,!^3^-F!_===\ M[^AP[P!.0L!Z(E%":M^_JH[7,AG'B,E_M1Z6?54(JQ"]=A7>E3T> (/E+*,D M)'&,J/FZEI5B$-8A9EGH:0? ]TN2A"2Y2%),[U#R^V@R$6=L!9#+B^/1N,:' MLJH+845B)R%+0.V+C=&T)#+^U[*X^%>_C<6K90HW:NDW./?HUOA.2W3[Y*I2 MS5=^]>P2*76@PDC/"GK%F3++9EIF+OWNTXIJ)%]PX#R!9ORFDEJ!Z8+R>M46)>%1IK^([CUNB3EN_+./IB]NT3 M<61VJ8;O$&TC9I=P],9L7L-5MRMU?"[>FC.\C*0OEI^33!W#L*OB,[.M,]^%J!W'$J5MF%.9M,<)!&C_A4 MG:I@4=Z#IZ"YY],QAJ3 TB.SK:(?RAK 8DM:%:KE>3^QIE:X7C6!!T>'GP \ M@M*V))0@VQ<.7YV2['YZA=*,FK)R->4@Q9T,NE7P7(,"6FJGX@YRPZ)16]J# M,=!< VRY;-0B 2J30/J#YKPJBWI %I(U6EC@[9!@^C.)0W'9WD42:+FI+@9A;>?, M4S64#DXTO1)T'E&6_IVO(?EJ4I33'V2JKP,A*\V9YQ:X^A3 T1H".(*PT=&! M (YZBEJ4*+@1EX*&CN+05H)PFK^)/+3 ^A/([32BKO+0U8'P8$P3<>AP=2N M)[*6#/35(+SDTD@,>FC0EM[OMV5MZ&U9 NEHLG2<.L_X/":4DB=QV!H]\%_2 M%XTTW9J X"^[7#SC!*[SU\U>B5GI?1@$X@0J24:R2\6LZ58=@I-M(2AW8-#F MSC+U%D,,AO>]YA "R'TL[EQC!8&C+&4I2L32V'@E77TU"#ZYBY1J 8&3G&)J M'F/!'?&Z0@/C96H$@FO?T'R9X'5LP*I/88PFQ1L7>2:!/+R'&7>IGD_Q \5! M7FR8B)L0:1K]*?^\)=>8PP_(# _OF'RJ4F'K.NL)PJ+"TBQVQ@-H,\$W2B91 M*IY/T8SR<@'?>Z\=CX'RZ"_#AB:SG'H.\^SY 2<,'^.$RT-G;K6E?1\JZ%&: M6AY $^W-%%%Y3T%X0F:"5*18D-05]GUXH4?!ZEC00P[=JQ4YCQ+$\:*XR MA M!NMJ7[57,6J>MK4TE_:@>A5,H6KB*H-\"3M_7KU6+H::OHV@J^ZI960 V*N( M"K(O\2.FZ![+0S6UXM'4\FW1VA&-!IP7L9Q'SWQJY9/L/19?N4M(WX!O*]6N ML/0XO@SACTCBOY*PGX6GT&(4X";^A%_E* MZ#FAB\<=D_O&*N&%-@CG"]O3-B\L]*+(>01M%<*,3_G_YUL*RRRQ5L<& M/?B,4[:O5 T8 6*.DZ=M?HK$'<=Y8O8M68;2\4S6(@4^@Z7=SU_4?(8B6F7%5.LF&Z7@!6SKIBRRQC%9*U#F7OFH\D\ MFT%W2@L@G3Y#ONVKL7=V>E%V^8[*F*\5:13(A>(WX66D*0[+F3G2>/!?;BE* M& HT^^BM]^ S2-*^@C5@! S5&-[?4WR/4ORMT'O^"QY-2N3;SUYKMMZK2GSI M727LF !#'=9VRBU:ZC<.M].[G#U[V97KKFW#V>I*/@=DHT"V&@ZT/:,JS<>( M1>SF@6(4CI(R@-TEZ;E7AQ7Y-BFH/N?4A*_K%$29)K1(*<%86/> T\1'N"KE MT%CF]3M[KI5[5>V+61S6Z'J> H]R69RU?R(B[6QV/9'2839 M_&A(J)A)K6I!..#KHG3%Y&H%#MKH>A,/C;M*RXP(FH@$JE]Q=#\5P8=\&5+. M&3 XD\9:$(Y&K"NX6G#09%B[B52 M;QM7;7-N>PT9&37E843.;>1C :;C[:;7#BPR B4KV#!+IYSH/\55 04M<[EG))%P=.LIBXH@;KUN(%8; MC""#C<,DC4ZC.!-A0/GK_*HUUYCCGF7,4?2W5728%QK,N]R\V*, $Q;,PX%X M/S/"3-YMQ+ETSK5+^'Y9NG3+9#'&[0*0[73B8\9H2/GQB[H!0U"STQXAQDC; MU,#R?-8I(P$8,S5YM:'!^FI 8K,]#+UZ=0$6_.U(YI6HZM[!T>$>H(=/@>F! MDE?M1Z#/9@\Q><%B _6:)'C^5\F]T0:BK6M"B!W8*G01H;8&]YXK:9TU[V]/JVT6J7>VVID%-W5[JR%ZXXMD M+;4-(2;>I2JVQ"8(D;KLCN$_,J[A9X\BL.@6C_NBR %<-#C(6]R8<%N5$\:@ MF;*HG[-654IX?X:PE;8TH)"300K5@U<:* #\! 5MQI6_H3R0,$^-FM4(!E!L MIC715",,AT>'GS[#B<:T(2XE0'@2K#EBJBP+(:92JX@&(0%:$ATK7J;7VQ]M M:4"A%DO[HX4"5"AY!H!YLK.H!\0>U:A=G:"60+4?&/X5Q;]C>OO\,XG%X\?L M(@D^#I/P(F6_3DD$AP*5>.K"$3YTD$;*%Z[)0B3G+4B%I'CM=%"2V)9 MFD;J0C_ZXA[3DVL@F+R(S0ZP%$DVMV2NK84>8_83-;P/7%L-0EC$1:SUB*"- M.\4E$6Q;.D?PQ5?%0Q 13BLNWQEWDM\7ITC^;-@HAE]!%[$WQ=GP664%> MD8LLKJ+C4YM46H4QM:X)(4W01F).H/H7BX/6E$A5!J@[Z<'GJW4MB+D9^*YO M#"B_R3(,'U$2J.[V5Q?S^>:;JV#4"-8*[?^PG;-G'@7_Z_\#4$L#!!0 ( M -*$F4Y8A%R_KVT 'N\!@ 4 9FEX+3(P,3DP,S,Q7VQA8BYX;6SEO?]S MXS:6+_K[JWK_ ][LK3N=*CE)=W9FDKS=O27;U;LMCJY/92KV:HDG(YH0B M%9+RE_GK'PY D*#$+R %$H<]=?=.W!)PO@GG@P/@X. __L_K-B#/-$[\*/S/ M/[S_^ML_$!JZD>>'C__YAWURYB2N[__A__S7__U__%/Y)__^;#G[[Y\.W['\CW/W[[_8_?_87__U:^+](1,1OM9@(IO#MWY#>T47T?Z(?F:#]S_\\,,W_-L_ M,.L1\A]Q%- [NB'\LQ_3MQW]SS\D_G87 "W^V5-,-]6L@SC^!OI_$])'^%%! MUQ] U_=_!EW_+?OXVGF@P1\(M/Q\MZS5XH<2K:P35T?+4-^,IL^:.1+MI93: ML[-F8J1#YVOV5TE!^IK2T*.>5!%X-I#F(A5C &A';HE@ 'X0Q663;?S7,_#! M;[\38_G?V =_O\QP8AYZBS#UT[=EN(GB+?>B^4.2QHZ;2C)<>$Y'MUM'&X$F MP&,>E]5Q8E?*P/YLL4[6XALW8@ZU2\^"[/?BW3=QM.VD@9 BTN_S]^"AQ^B0 MFI?4CFD2[6.7=AH6JK8=?[!<=-819A8:GGV^[Z#+?TDFQ D](M@0A<]_".DZ M#=J,*^>X<9('SI9->8^.LX,9Y?MO:) F\A,8W]^???L^0^M_RS[^^WW*W!6./OHP;X7IC;,]Q/2&9DA]JDTQ\*BZ-@C]J574 MOL,M"RL*J@3(CCSV+MAPCYU@R8+VU_^F;[6Z'[=#/_IJ5"L/OX-&J,=?G:PG M#L",+.%T"2,\VA"44?::T:W0^N!KQ .N2A$YSM3OD ZO2A%/7CH!M=&'TBV- M_8@M#+U+-IO*X$V39JMTC0'CT(7CE)ZX3 M_ ]UXBOVR>$JJ;GE!(9AC7J' _&@&?*A6"?MR8-1$"9 F7#2EH:C< J] 5EN M.YDA6:%B]:!4&DYB6%;):VI@9F Y[M"<,PD\KE_@/%:H?_@]XB%8J8H<=J4O MD0ZU:AG[#J^<&@%RHPVHBWT;+M4MD4Z2K5$/G43)ANP M.7DBZ(\\6*_\@,87S$D>H[A^,_"P%?JA6:E6>426FJ >B-62GCC^.%$BJ8X\ MZNZW3A"<[Q,_I$D],AZV0C_J*M4JC[I2$]2CKEK2$T<=)THDU9%'W6)+XT>& MM!_CZ"5]NHBV.R>LQ[RZUNA'8:.:Y=%8V13UJ&R6^,31*8D309UDY,>.'Z/M M-@KOT\C][?[)829<[5/(L82P1.E&V::/G2<=M)N%2-BL>>== 0O8/5 MR7N:G\WRC30<#F=:RXO/=W>+FS41_O>C/0>\<)*G>>C!?Q:_[_UG)V!J)O/T MPHGC-Q91_NP$^[KK";I]D3MH)Q.H#JO5$;$#=Y._]U!GY/GU&_Z'PFA&G)1( M7H0S&\3%=S(]J7S,(! MK<#"]3A%;8<'^NB'(8R((:W1"OLC^X8+?]""D;T)X=P/ NI=1"&?Z.ZH2YE, M#P&MNR74U!XY\+>JJH)];6/$ -\N<]^!*R@323HA!?%!_/69Q@]1L\<.KJSC MNM&>^2:)<]HSPN@GQ F"Z 5NRY--%!,OVC^DFWU0=&!(]K_^-/O^SW_BO@Y_ M_O#]C)%)=M1-_6<:]-Z+/MW?/X5J#-W< [G/:ZBK>GU#<\1^KR-U M7V>0M,?S_=:Y>A1U*[S?GM/><$T]JJ!P)*UX:;&[8L=?!]1VE3[16'%1BX'T,GQF&D7QVPVM\\J#)LC]L$HAU?/4 M[Q'[6J68?<=;3FQ&&#D[[C2(0KY-U[F-Z<[QO<7KCH8)9TP14,$FX#2+@8_$, M(HO;?_'3IXM]DD;;3&L&:,WNKM<3N;MW4+]T^M#>#;&[=Y&^]^YJQD-4FI1< M9L+9^80]K,/K'3R,8(AS)^"[4TXJCQF$:%8/&L;5NW2L,*#V[0<+HPS\)!7( M3I/4W_+RJ-2)0?V$^"$#?Q>V+9DE8',#/D62 :)S!H\?T%LCM:G$9&9#CU%B MK"AU NUTCI-56@,[XF:I*@ZG;7/9%#%D2]]NF3:\K.;O>W\'N9GU.Q M79 [ MFH["Y152?7O$;J@E=O\%@2 ^(YR\*)0J&5C)N_3\\!P'2#VX_ M+6[63-O%VI[[KIB^#EP9O:9,R#O_\2E=;3ZSA2# 2HV5VOH@=V ME54/;NR MV(7UY.Z]ZRVI$TY^1CB#LVASQEB(Y8X=)QY6[>O%_'Y![I8??UJ?K:Y8YX7( MI[25@3"PMD"4Q/*7W6 XV,4>2]L!5%C#^5KY#ATJ(@*.?([Q.AR)&+? M,28)?6UO/\28+A@W/890#DG"I+DQN%I=_K*\OK9Y+>?GUPNRO%G/;SXNX4]Q'\;R0NR2;F@<4V_MO H37/O.@Q_XJ4_! M&C?,@1JW*[OT1XX$G4VAPH%V9\28T%V'WA4=,TZ$L5*A@?U/SL36RF9$*RRN M%G=WBTNRGO^-V+Z=JIR_MSI]75OD#MZH8FGGI:HA8L=MEO>T_,+<.X=US/;M ME6%T7/^TN",WJYOR)57;1X2-!SKX':VLQ/%I(&)7.A#PM/,_F\=^AL[[;&^[ M*9/O//1X,:"G*/ 86L A2?K64D>A0W?D/M75$*K7Z?9%[)>=5>B]]5PPRL\' MTS?KI1G&TY^M4Y?7R_5R<<]/#._7JXO__FEU?;FXN_\C/S]<_P\*.- KI-+8 M83HNKU%2I;[U--S:=-D1A32>"BL#ZBLC6,6!+=9:N8["QS6-MY?TH26ON;HE M=M>L5Z_DD\?-,#MC@[3]3W*3Y"QW/UXG_/@IXM,TJW[Z?%0%W2'UT\:6 ;23 M/]S62?>Q"(JB#0D8IS,FSY9XC)?%Q7)V3_G6>8,+D"V)M76-D4--LY*EQ75E M2\2 TR)P[\6WO+Z>T;5\U6EH+7>"KCTW7&QW0?1&Z1T-. (?Q3@UAM'IA]PY MM557_;2U$V*7U9>]=_GGC,-9+%B0JD#>CBH;XX8WW6D[CNV@3;)B9.,NN4H;DB%9?R6,!YGOF1B.:M'>T%6WQJY MH[:H>93;,ZDE5YO$I^7WX%E=#:NGW*(-"@:8CC&USXOP.Z.>'T[*!0<8E>/Y M75N^T #*E6L%X' YY72D-<&UMC%VUVM4LNYDR/U*0]UR(D]M M<\1^IR-U_[2=G+9X]E2E/DQA+8VDC0'U77WZM%Q#_4QQ.>YB=;->WGQZ.KP,NPVP;\U;<2)BG:>P_[%-(%%Y',/U#:DO$,T^6(;,I3=INTAEG@AP< MAC%J*5_$* ?$$#20HKVS4A1Q_IA=\)V17"22R414H4@:D;)81,IE_5(A-O-6 MW!BV>!/Q-LYV*[B9FMYXKVZ)'*8:U#MX,.FP&6+ :)*V=QUL29-PHC/Q"COS M^R39TV$23#5VRH?5-!&:_J^OOWU/=DX\(W^:??OMM_#_2?+DQ%#B8)\^1;'_ M3^K-2!B%E/C<'.*II'V:I.P/!A)VER11V.J[%M%?64 MM06;A#$YZU Z'KGI^V\_S'[X\P^S']Y_J'+4?W\_>__AN]EWV2/;RC^SQL*) ML3R[O8ZID^SCMU8GKFR(W(WKE5,=^;@58E=N$+;W'E=&LN3.MLH #*E?YLI. MRF]P,%>=??CNP^S?WW\O/'7VX<,/LS__Z;O,4;%XZ-SS?%@G.,&MXWO+\,+9 M^:D3*'A78TJMCL@]6%_YTF7[UEZ(/;R#\+UO0N0L"/" VTT9EQE1IW9+=_)' M-0"\0GK&#. *+O;\_(ZFCA]2;Y'=))N[[GZ[YY>9+^G&=_VZS3^MCLC]7%]Y MU<_;>R'V\P["]QWFD@61/,@[A0O)V%BJ[SZF_@AN9Q[M VIO&.+WWGKEFK?4 M$7MG@[ FM[:/]K%O';L7Z0?0^WQ^/;^Y6-B\)3\QK5I3' ;01V0Z)*4Q2CEI M%*E"E855:ZRCT0TYH.HJWJ60,&*PU1;=;.%@Z^E)PRA[E+/$5<;EV?,@B%[@ M^OU5%%]&^X=TLP]DT;0[ZE+_6:-H8$<:R'V^ETE*NQY=""!&@WYZF*YM8^\% MNW'USTL5QCGI&7&D"&03Q<3+A"".;/O.#]FG0>#$R='JT5;V (N<5S&+!-GZ MD>\;W]+X'C9RM0YW&SHCAXUN1JA/.ZCKB1@H.BI@+#F!<2+,+00O<5Q"&#?" MV=EZI7QD4V1G*3MFBF=N 42H"Z8.$1! PY<_62>G]-JF;&BTZ3 H$[I>A X M[#$9YZ\5W)C3"PZD8('!T0=4.W/PHPP'7!XMUZ[*I(7.Q@J'*O"?INA=IM#JQTF9@75TEN MVI57]0FP]OQY&,7+3HTM\[?CNENO)W(/[Z!^33&%Y=EYT:RH!Y!87Q+Z2.E&]?1]:VGYK'U M*^B:IE/R5$.+R2HO'?1RC^8#'\-HFZ7Q\+E5..@PZ9#:SWE,6\WN<&MVU.+: M_RA=9A'JUIBENB5R>&U0K_9^E6B&&%:;I#5UPTJ0M0>F0^B(#$BGK&(KB XZ M1DL0:@\[EZ$;;2E?7F_;GY*O;XT<0UO45'&TIBEB+&V3N'^IIYO[U?7R M7)+[-?N/*/NTNB*KV\7=?+UD#6S>Y'JFX;YVKE>^1CXX#Q4IW[T2WR$>?DV"PI^#&.DN0VCC:U5X+++9"[ M4(4ZJ@,I7R-VGRHI^XXT3HL(8G;NJ)C79E>IS:BOHS*:CQ]I2&,GF(?>W-OZ MH0\!*13X6+S"D]YUULT(!\^G:O1$[)\=%>A]QU>PF9&,$;]Z569% M,E[6'E@=Q0Z+Z^OES4=FA\4-6Y!=\XJ\\\M/RYOE_1H6:#\OR.)OMXN;>ZL3 MJ>.'UPR=5N&EG^RBA-<$66WF24+3NM5;6Q_D$*"EJ V.'UY.X]J3'J MY!W0_XI$(5%80-3+9LX=C=,W/3E*TAP_6_O:! MQOEGM@IQ#6R_^?*&K&[(_?QZ 4'U_/Y^L;;YA(Q\%$ML68'B-7:I;HG]]QK7+(?3=C\I7U*O##ZR^>>EK>7*P^+9CB(K3^RF)I M]V7X3!/^U(=06):RKSTJJFV.W)G;%"T?X56W1>RZK2+W';$%XB MU9MHX_G2^3[Q0YHD%]'VP0\=6!WG[UFE[*_$]_B$'X7S.&;*\@R(Y.()_ER& M\RT44EEM:KKDKS*_K['K>-R1^_[(/X.**2.Q1HQ58UN@=^)>)B=1!)T5#^*E MI,28J,*R9EQR">*S0% M[[W_P1_V;MP%LOB\]\!Z(]S$[;H1AM]7.[GI%#UTN$%JP2W;SE:&1B(_TY+6 M:#GV10HX/+IBXUF$'WNF=782Q";]<[J)8BK:K9U7FGSRPRCF3Y5FSX^&7IF* MJ%3\B:9/D5=LF]4=F8XK 7(8L?!S'%\B&84]8JBS887^6U[*032!P40*@4DA M,7G@(LN')80@1)%D)J&7ZP.Y*&GL1+''UC+Q&UFF=,L^K'E'V0Y(3^IG$D=O MYXNKU=U"'L2MYW^SF=^6VR6;V\YI2.N3QNM;3P)2:]4\AK^CINBAJE[B$V&% M$98)J>1=1MO22FDH36_CZ-E/8&,/BIEG@5D*8&'KK=K!-+U;_;R\7ZYN" ,A M)!AT0]/6G+K#-LCQIE*ETNI/;8 86ZKE[+W*HVDY:V[,QZW:%WQF=5VL,_^R MYUGRX3Q9=ZXE;ZZA.7)_:U-4=;VZMHB]L%7DOH,T?_4QKYEH/1%N,%VSR>YV M<4?N?YK?+2QFOAWJ>.XDOJMI#]EV8AY94K')'7G#"?EB6=Y39D:Y(1CPF5&O ME*<=GS2C,Z?25"K'GD->^L$^K:UV6-]Z8DYYH&:36V9-)^28AQ*?XIJ>H"5= MU-DPESEC"T347FK* !D=')[Z"_4?GY@T<[:(=A[IS1ZNPJTV1\756T+='F20 M^W9?PZA.WY4&8C3HK4I?+Y$,2<:1"):047/\'L&,2*>R'6Z/;B<>>]^3S_>+ M2[8^)BPFO_V\7MY\)(CB;[A,>BA 6CNSU/F:%R(RJL:"=0S-YCW=EYZZ4YDF MCK:910-)ZTA,#TM;-1DW1D.%IX/91F.5-\XQS-B*=\%4KWI$6'F6X])_]CT: M>L5ZG[H!^X_&&QU-79'C9Q<#U+S>4=L/,5)V$O_$%Q*R$O0YGUEQ.L0^S9A9 M?QMB.#-<+G]>7BYN+N^+M2BZA[7RBMDLU 1K/$6!QXPG4M=:]KYT^R)'@DXF M*%4JU.F(& NZR3] !?7[]>KBOW]:75\N[N[_2!9__;Q<_P\"5Q &8!"QBT)( MV)R_^G7I1&U]IC+TFU2N'/)5':8PU!OE[IW](/*@"ZKD5Z![M!,[XCED64V.4_"H(V\K.L:NDE876)PHKT/:( M-&^'W -K5:M9+XE&B#VO7E83*R'RJR!JR>.&50[)RW>-+E;=$KF3-:A7^_(= M>D=KDK9W]:G2RW>6G6UX!>TYW-SS>(5F)[AU?&\97C@[/W6"1M=KZX/<";54 M5MVQL0-BQ]23N^\(+J@3($^6(OX$1;9?I'6?SA M5V!,,LZ64 *Q?>P!BWA3K>$J=*D!1P=)*)RN>I/0@A!KG3].F=><=W_ 1;$L7D8^R$ MD((H1"!"AIG(/#KC8A!5#NMW9^Q8#1@Z;*CSK%60P.)%F1H+_ RUA/EWJQTO MPK5XI;'K)[6YB7WH3!-KVDVC@3/U1*:',1JZ&,&7 U#A;&?9H4/&F>2L4>') M@!92L40D??,*6%%F#UIG#^L((Y*V#4!,,Z%I8HR&<72#F6HJTT,9'65Z9Z]( M2L/?G3@E(AE(>UT(.;5\P,9_!8SXX=OO,H1@'S0BYAU;)<>^"S=)0H]]SJ3: M@J"\SQPVE/B[\P>6-$<5*788-AL B2&2EE'%B]P]I)KR:'V847'ZD>3C8\P? M>"F>ZTAX!!/3 )Y]@0VC0A;^6+0B31;M<'D2XHNXR!-Q$;P#LN,*&7X)K &S ML5BU/DX48:)JTGF]20F79ES@QV)"=1:("VN)P?F_G>WN_X71E5LMZ9L*TV46 M$+.>\6F@*]GIS0.]#-"H/S;W M_K'/'@2X$S'7.EH[K[_XZ1,<(3-[7D5YD<3R#G#-FNTTBDAG%X/F*N=G]B:' M>,_"A%;]DQQSWN2N6$1 T7^%/U_2UYW#V'K'TJ;9LJ(1,76I_RP*1P0^W0.> M05G(%\5T.^>-/V$>A03>$F&-#Q'/XNXJ5P.R6YFI3H.QGJ20X]B 1[481B"KG54D_1??>I^1W_?^PE; MY-S3^-EWJ0AV[Z@;/8:<"M\E:9]@AF*+'/[&,GQ-C#<(3\2P.IKJ)J)%%B4> M7@SR\QLR]5D[L#[.9"69L'*S51'7UGTBY/;GZ_#,J&[#]#8>-.=EF)1[RA=. M\E1CX8;FR*&P35$5PNK:(H:>5I'[UQ7,RXB5ZXL!=5M+Q^&U17*QGL/.W&7@ M% -@):EXUK+&+)I=D7MJ%P/4WL6OZ8?8@SN);^8R>YY&)SF!CR=I]K*L+><> MQ1!BH1G3'5/@B7V"Q-_%XD_JJV.@HQY3\NYJ=6N=NMQ\*KY<([4I%Y;'5I*! MK>LX0^I\Z*TXMC640HX0?%P%T4NB7[NSJ@MRW]51N*92YU%[Q-ZK)?8 =3DO MYO<_D:OKU2]V'_,%G?F+RA[USM\^L[7J,LS>8P\?YV[*0N34IVTCO1WB;LY?:II?K)<_+]?+Q;W%JV>EO3K8: M=/Z"E-YS7D1DH&H@5RDPMV9A&*MU"[XI_\)&*U688ILXC_$-!YDM"TKHQ):R?L\*BE= GH&GM@ MABP]P7M[@D(>LA0*!D1PL(0:XVH-QP:IO_%YW1>_,(%3:8(1#_CHCF&3WY3Z M== $N>-6*50ZO%.^1^R4E6+V/K92B-GQML'4(?05CLDM;M#SJ")AHEQ%\66T M?T@W^V#NNM$^K)T<6[H@]S =A0_J@-6V1^R!6F+W'<(Y<9[6*,D32=]:^:_A M-#YW/.+1A]2^PU[2#8UC6 ! %+YV7A="HG,:THU?MTO0W@NYVVJJ79XK&[L@ M=EY=R?M/08*^7#U#LG+&@KS+F%@J$C&:ZI!NO).0@65Y>N6'#EMHAX^0#*"W M.#WJ@MR1=12N7YB6VR-V82VQ32W/">AJPT*1'8W3MUNF+7\=;@=;:35VT^Z,W+&[&4%U<;V>B)V]HP)] MG0#8R)UNY@:7?K*+$E^ZA&1*.%>2LQTRTVW=!@IC6H:9(6%,P!:V]Z6Z7TZ< MZO5#_0N&D[M".-#MM\$O*7>Z #B DNBN@1R7\L_/SK)[,RUG[)T((/?:[L9H M?O^BKC=B[^ZAA.%7'8J3Z/RM*LO'T"/:Y.*)]8-J0*%Z5LQG;%[1)_"=!S_@ MY\8S?L3,)G2ZV5"7?0]SNRMNL_$*CM#>\^%^L)_N8ZL'S0T6%*=R_4'FJ/]T M,:;:%)H04^X\382IT6$P@!'\,..+88N\DZR^(E[&C%D$%3#(8XD[7@8!#M6U MK5;9=7)P4&^ 9B0X[C.[\D#P^P< M"4P>#DP*'6WF4/ @3J4V1/EK1AHN)E$ MO H?%ML%Y*)D#,G1$GR.;A*>M,%1$G96M[SP+I6O MM_N0MNS2A._&/OC\Z5?1>!_"/Z$PNUQ^QK7+3ZL;LP#]!_M/^OM6U9V18G _ M([3LQU;TG%1HUJB Z9U8'F8<[L?B"< &L850.F3#\N3P:O##F>OBN*G_"4TU MD>EA@H91-,]J*BA,"R-T%!GLU$9ABOGH9EC;>(IM4)[?W#IO$-JPU2K[)-XS MZ"WLT7DWO(78Y+"DBY'T3GV:*$T*6SHI--3)4,:Q5VL&#-*+;*C;)3 MC.)D1@GJC6(3A*J6?](F;]KF;:,R.=C1,DLSWC22F!30Z&DRQL9)SA4+K@QK MFG.Y+5+:+'$;ME4P04MY3=@GJ&FB,#E(:35'E^V2J<8L[5H,O'&",#89SB9" M^2 *'\^87%L<,8A^G;\:"W8B@!PFNANC7YE,Q"#10XD1RV(. Q+PL&T32(QL M$ZWJ:^@0 S)^$A,%=YL)31-!-(RC@20-5*:'*#K*#(0L.6M,-2,MF.FPX.[R MYN?%/9Z"N[?BL4!X&4N4Y2]=-)Z'7MLM_$X$D -+=V.4"EYI]T8,)#V4Z)U< MEK'B;\X)9OE=_)FXC#_C:_Y1;N0WP<:81LG>LN#;'CM9F8#O?-198=2:=RZE M7G+%O*:B+($.6G2B@!TNNIOCH$">;G?,@-%#BQ/*YW%>!'X'-6:C^>L]_17;8X6VVZ.+M./^3.KJVZZNRMG1 [N[[L M_6OP2 XPMD=R=OU]B.$-D._*1"%R9^?I99?T0L<.6\X$><] MEM>,PXJ40R",P4/-::EZI:CYX57H./X!PFISZ<.J(_22BVB[C4)>.+EE$[6V M$W+/U%.ZZEB@N@=B7]44_/3AS%PV]MA*-7XC.:<9$;P(9V9[RW\$$WB2 1R% M)$#^*0H\%OK;=_"K*&:(EB5"L"!#V\D;.T[$T=N5KW+V^EX3<'@-X4\>\7"J M53#A034B?Q_0 ORQ BA;E%&WM&5@7]'Q<>R.!ORMEVCMO,)M.0!8MK!A-NCT MS,D)Y":">7T-586$76E- !][JW0R:F:<(42 IPX5YAQ0QWF6I3N*BUGY3ZZL; M%DQ!)1 6TK!_L+\2W^,7:*,P+P92D0W2'+CUIHD4VHR:K&*QTX\@YKC%B%XG M+GOXTJ;@3TH"%/5X9I6969:7/G8M)[;9W,)T;LET3AS# W:6\4L_=:W&U)T( M($>F[L;HE_F)&'-Z*#%BIB>J_/&A;%+*'R\>I\>0/\XOV80>_ =N[#T[ :#7 M+:_]?UC7J,:8'4D@1XP^!E$QHTM_Q*C12XV3+F?!-4[^A\)O1@1'4E$*S YR MC&J7F\6:7"XN[A;S^P59WA">(CZ_N11_+/[Z>?GS_'IQL[ZWAQ^K^-$)_7_R M CBL2CP/?X/9J1;]@O(_8+5)@-7)[AGGX@@J>5*BBG:R!''J E5*#)"&#%& MF=6O=T7/[-:J>$M+$.CA)G@N6$R6_KNEK2L[9R/O-UKTJ\YHB]+^L:CB+\6\9)KGMER\;.R#W MQW9E5;^L;XW8/S6$[GVROM]N(5&3.>J]_QCZ&]]UPI04'(ED:6\XGSN)GT"% MEV)*93.L(NZQ?0!H.,[46/1$DLA=PH3!5*SZ' MM/@A@EG4JN&F@%A7CA__[ 1[>NDG;A E+.9HFX);NB!''!V%541I:H\8,;3$ M[CNP@3CAU,DGZ@!MRRO3U!\D-N2^TS82=B7P) MWM X,W:C,'5_,#=!2'9\C[)@2 1'7'.F)=/8PPHH2*,]0=8V1N[[S4JJ/E[= M$K$OMPC<_XK+0TI6#X'_Z%@.[,H*MLU:]:TG-40;YZ&:II,9I.;@LZC(Q\>K M_>EC*$7QN",4!O%3D8@6>OF5%C@UTYY&NM) [KJ]3%+*O.Y" +&;]].C=^YU MP4VD8*O\D#M(VS36FS;R+9XW;= W-L?M\BZ(E M%Z]IB]FCVT3NGZDK"1-!&<]8;9VQ&MI/;+0VSTAUC2T]$3LTAT5./G.3<%H)FZ+O)%?L_]: M=_BQ;:'>XK&' )^A7/DB2?VMD]96ACIJA-RCJY52/;?< K&'U@C:=_1]%N5< MY!![JU]#5.NV-:-!F*/[ZU*_TIE M+Z5;G"66^ !B=/O<49<>7'0M<;7Y@A];/^PI% 2'XQ?8/(!G 2[V21IM:=P& M)1VZ(X>0KH8H/_VGUQV*UN>C>M:(_9/#:%/"3XSTOA"\0'USJ)M>*I+\K#G MK\O091'#VGG5\]:&YLA]M4U1U5/KVB+VTU:1^XY601C>DL/GI",HC:+DDU+M M=1DF:;Q7M@1J3*/;%[G7=C)!91&=IHZ(_;F;_ :JRT0;DC,B"B=\7C^2::J, M83';A#Z"!'=T%\5=3[-U^R+'@DXF*&6DZ'1$C 7=Y.^=NR&XD)P-/L\?UQ!% MOJ7%.ZY^XCP^QO0QJ_J>[<>M8='0>N-5LR]RM^]D@M)M6)V.B-V^F_R]+Y"6 MN$ 8(/=\?^6<['O].':X=Y^HMP]X(.0=V"0FL>!I\_+@\38_KSXQ#[W\G3@M M6.A'"3E(G&">\EW"SF00 \@IVO2_.U=UXWR'3F00QVJG:'-J M?D3.5:#-3'TP6[*VCC4V#:4BSE:P /C-\6?88.U^O]L%/!\3]KDW4;SED_<= M#>"%\74D4CXZ1&X]"2*%%7/&.H[I^E";3(!WDG)FH[U$$87XA2PD%L*0-!*N M9BWVLV(L%7=4 8@B ;DK3"03W5"%A=8MIS^X+![OY>;*3S>K(NGL"1!OQ%(F>P^O3&,)2]/ MOOMTV&*K/&#$/@\"PK"X9H]'-N8_G,.@6OYT#Z R@IPL\0O5_2:?P^@AH3%/ M[ER&NWT*%RA"ERG'IYXVJ#;/!3E8#V36RHPP,RP0 _90FIZ>99;#= ,LSX@J M&.&2D;)H:) ;FZ75R3$NFXQ]<@#'VI@]:@Y8B33D=J$ MK^0/D6 !EK$4=Y\8#19M9>&]$]%R3C'W M/'Y!W D^.?&C'W8YDFCOB]1G>YG@^*"AI>-DSA1T]3![? !3EY-S)EO!&CX2 MN[OP/1O!-*;L=R2QDU+X%!QD#W^R;Y^=V.?XP+^,Q&S(?<;/;W_8.GH8VJ8J M:!2\2,;,.G".;(QB]^MX1&&(@7ZA_N-32KWY,XV=1WJSWS[0>+6Y?W+BED/@ M4VDA16 C)JH.ISH0FD2!Y]L+T//16\:,3^O\4.UU@MT9\;^F(%(.Z*W\< C;UFDS\IZ6$"4BI M.<<'KWB0[Z_#J(\4*6P%<*,9Y5S57&65X>L1J/8.8)(X58(7]J_#P(5]]/?; M./+V;KJ*[VG\[+MT_NH?EN%M:(;4U=L4 \>N:X,P2&@5M>^XS(B*L9@19O,\ MT+8S#,']I!R7T=;Q#Y&LK2W^ 5FOXL&H/&Z(>V@VR'OR^)R7QJ>@/G+T.9*F MCHZF_8._MR2E6RB6X00!GW66X0U]"=XN(KZ%XK(I^LIQ\V06"%VKILU^9) Z MYZF&R.40NTBR@:[X\=L0F%_!(XHZ9WA?RW\=NR.&';[&$+";9>^R&&VERJ#PNNV MD&C&UNX@$P]-XD(JDF1ARKB8.JJM%&9$<..AJ,)/!FL6(=2615H'QGA[EM?L MPR5 >)\]'K4S8JSL;@3M_DMC>'9$^>Q\BA"HP]F3]95.7?@M@[(XQM]^7OGG#Q1B& R3RG2?&A!1<+$#L6ZV8I/N%NFCE&L<8T2_05SW(UK('4A#66#36S1\V+YS)$:<9K#!4' MFTIDUYBII0MR0-)16+<6/&)HTA)[J,KO%J/?&KW;@EN-;M,IH4-$<]Y&SE- MQKRB!47"2'+?&?]<:%"URC_CN^QWZU4NJ1(@,MA)!$OJU6!$33/$,-&DF$2* MJC;(P:)1Y%/PHK@3"@.L7(N1,812[@) &'K(0X%[=BV4Y9R)9PWO@@V#(,XT?HN;- HMF,A>CY&DQ M^69'G3Y56-JI-U(HZ&F&/-#1[XH]_NFAB;D$OE)ZGEL" %MAT(CV**>G58/A M+RH86@B8[W:![W*'8RKYD7>QW^[A(MHS M76PVU$W7L1,F?ET=%F-$D4*O6:-5!&0]*>*/S4Y5[.2MUTP HDA A BDD($( M(4@AA?USS-X&/#KP,_7+7$_G+-2<\8PXZ_&YW!?DL.8.'4]WVNOZ@]D1WUO/ MTA[KWX9^2/@7-;]$E_[(_;"S*4HOJNMV1NQ5W77HZSQ%FFOS.^J_2HZV7DP? MSR+2#N*%#8N 4*?J,G1CR 2\I.*_5U$LV\[=W_=^3+UE*.\Z7D3;!S^L6A0/ MR0<[P QEVA(0F6:"&; &T_5D-ZZ",X@5A#SDG93L*W[477A_)AU 8WYO6!'0 M$@SBL[.80#QQ']4!7B*L,I>*TDEI+@XLFRRG_3.SZS[Y'+K%1Q5;0$/Q M00J&@YM6[B$/P@3Y;O.P.O=UUGG^R(Z?XY^7XQ\OXURY_9B]F)@YN9O'C(IL MY)G+2_:JP./N:..T>=^)2!CY4IA7JHMTKJ[Q0 ,=I-/1R:;1BKWKB$PQMF[592#(4OF"FQ6%$29K%N:>8WU,\85^QB@9V>.EC$MW] MQ2,"F&&EEQ[#[3/F/%'O-0Y@&6D/%/=Z&W4>8>/1!"_L"#2DB=N"H),984:T M0?4U'4SEDGU1FY$([&UT0W($5)73S=K?TDWL;*OO&]ZS_TT@VLR.N^$%K\?0 M_R?U^OPZ!GA.&65-F5P;;4]E.%74-:;W@.A;A*:YE'5W;TDNZ2S/8BV$18C" M]NV?&S?UMW"U >:UG6+L/+36L>/JTV(E9CMM*[5',Z<>2 8M:(%7G[)U)&#$2&%3PY?S\7I+;RD12& M"&GX<^Z*/&BNW_0WZ;7>-1PS#+YTUSXRIE'WOI[.]1R32F)P\VO;E111V;79 MG-@#G%,L_(5@6&]XFCKRC )*:. M% ;?RNH0B-AZ-,R6:?+ Z[!XS;0!IBD0$Q?$WP\5YQ7DOP1(ZF!(HTNMC/;4 M0:R+BO:76;.L> )BZ!O#H+F5TMQ*!E&PIO9V2%]@)TN^=ET\4SU_C*EXI*JV M)K=^7Z20U,L$10UOS8[(+Q!VU^.48G6\GBN?Z3.N\JU0LE4>C7=RQI#0 8_( MCEX'?"RCY)Q(QHHHO$C!S%KEFUR$/-'TUH M.C9K[H$4,#NHJX9E#R(/5#@J<7KKB.6.6/?[I,NK$"3V2 -,S'JL4W\P(Y87*V?J- MU]<]>#!T!M=TLVQ$\O)$0S4?F:?[PM@9F "G\0/A,;478X>*1+3J(9=]:7%#M/P8[2_4?WQ* MJ3=_9I\^TDL_X;?3[YR49MO&-3-1#S)((?E4P]0_-=U. W&HT5N5OFYT]#BU MY$DRID1R)< V/WS!\'3U".;)K>%DUO"D-9@<:-Z;;TY4KVL[*61H2#^O;#@9 M'S>507WDR%93QX?1\5J=S6VO^/PS=&O&.5KF%[F5P4EQB1E0D2_]7D7Q7?WFX'$KY)!0HY;J M\0=-$#MTG:2]7R.4KSO#N<:=M1TWTVH!$;)S?$_,U:) Q,Z)[1:#J%K?+%[] M)*60V)C%+>MH\76H)RZ/1P1CU/-0T^I&BL,TU+.6:LCB+&A@_"],RS$(Q]PKJTP@60A8&.]*O,(%KC?;[=._ :>+H)Q_NX) MM\B)E:0J=PTYP5>S>VTT1\>C&#\7SI,ZS MXP>0@#+N;N%@VHDUOT+9&K2,JR:6K<*B."BDLVEF %5T0@H\W92NW_0[[($X M.- 4W-B&GEH\5_# L'MG7N_TB<;$%=1PU))LUOB>357\]LUJ<\7S4WTGN(U$ M]7.^'$I\2)7TC]*N!R _:73H;DA]'-&G/5G$Z:'B@-@T([D\$-GG$A$I$OFU M$(J 5!9O^50;EF&.W!Z]W+>M\#N2F*2C-ANDW1FK^T_.X5K4,.14Y>V _+@ MGJ:TO2DPJED^.>D^%BN6?(= B0I^Q'6JD .A-(4XSO0@/>+*3UPG^!_JQ#5V M/8D@$XF1C(;;"Z2 M=^*N&Q@-\LY2!C&4;*,P?4H(#>$.W"?F)T_DN_ E*E\"-AV;I3,@%22FCD(5FHP#/1#^ &?"6".&&X/V^?#MAV\G@AB ?":L MEM'YDE!#-4UOW B7PIRE'09&SN ^030PXB-&'Z\GP9^7#%S&S!;1N8+0@_5 M,'W! VA\(=A14F5DZ #>^)'#B(48<'R8"'#XSR;BCHS,EP0C\:4 MAZK*V,#!>$\ .$Q8B ''=_B!8[YAEC.$'H>TOA (J311'QPI$?H"P*1:G_$0 MQ0'^4\$5L\9:/]&8BHSZ3LO(^NLLB,*/Y(QA(NF M@J75*S(VK>(K5HD+J_#D.YL9=V7LEY%?S711VQ@I$NHI69]E*ULBCG9:!#:6 MCEZW)K"1'FM,RPLG>1*E-:!DB,.C&UX?711:]T.>?K9E//=QGG=_E"]K\=% MJ,&SVGQ.*+]4O'I('3^DWC)DX=H3,PF]BN*:X*[&T*=11 X#!LQ5>@VP/SG$ M@&)"J]ZE;H#W6;0Y8]P)9T\D?W!&*0'WUKK<_C=+S_Q9-)LP0"R-MY<7_A,2 M*=:CJO40@=@R=&.0YI**_R[#N>O&>["=&VWIVGGEMR :WKKJ1@$Y2/4PAPI* M';HC!J$^6O3U'LF+O)/*(@[T?E;O_MO]Q\YV^*T%^T:HLT7/*Y%>@C6&T5^E]&<'U MN3:;-?:+/2K U\PLG27?5P3S#K:P*[[)_GL_(E" M*?X.)JSH.D$ J#- &P(<]IL8!-2*;SC\4Z*_7P4G1"!@W B%L@\06"-P]?.W M_,^??!K#+?6W:_K,?$XKM&WN/!5WUS)"38#;T',*+J^G@(E9+R>/,LQ-CLW0 M.>!MHC$55^ABDM8IL([ %!RCDQZF)T7E<\5MT 7)HQBFW0 6D&,9[O9IPH'R MO5Y@7-EC*JA0KVXE!APWGX+'-TAM8!@+ZD20QQ+K#J#R7_=1*NH=_4939#9P__,&4/_]#- MPS],TL,/I3;LX1\0>O@ *I>"%B=EB_E=%/,1S G_>^X^AOV%^'J9$ M5'9>/20T?H:C'6FTS/,_(//\[SI[_G=3]OSONGG^=Y/T_$.I#7O^=P@]WY3* MJB=_#J,Z+_X.@Q>?OQ7%L0,G2?3VLRK[3,63FU2NV;TZ[C %;VZ4NW=2HB1) M.$T\NU3-"1L\0T-U1NZ+[&LV<%@O?H'CT%YZ.UL#\IV*1PUM^DJO'(KI%#Q[ M<-T-S/;J TI22+(*E9,L+F?%#$G*HI+S-W*$.C@V^:;P.SSH6Z_W'=V+*(3E M#%O?L+\2W^/Y\%&X>@C\1_Y74KE"Z-@5*1SV,8"\D:O;#_E=W,YJ]#\9WC'Y M^3H:KG"IMR]W-$ZSE\K3B'_KYE+!GX58)"KD8@W9@OS)>6:.0BFC HG2V24Q MASSLV=(5(7!0"ID87 >^^\8QF0LZ M+O".;"P>+N;\2,Z0W.1FRWF2C.GX.#JR46YZ#9F>-;XZ0.F5X]+*2NR:728' ME\<*-P-DT7Z2D%@AOB$0W##*6?E-7F&S>OB2U/F-AI"G 'T@9DW?^,4']D\6 M6N7.@ $1#=JJ%@.!QR#UX_MCGD&U+_A).H,T/CCX8J9A;&#:.EQM2L;1WF\Y M[H<4$3NKWKQ=>-!I4EN%=;*;W":$85\& 2P[A(-H;V [$%W&\(43N/M 5)N/ M@N JBE^<^'"-.29?Y,@RFND'RABN9HH8V<;3W42R1GN&!A=TUIXS/".*N.17 M$)AD$MM.X4#[2QQD76>[RYM\SQD^<9LW]40V)12J3I0[4'OUU_+QW8%2DEA^ M\=.G(^LG9;BF3BY/Q-^5?3$VP]R"#'W+Z&4:&S*PW$"-A; ME=XQ4,80MNZJ\O09,CV\E1+WK3^.5F&9ZY8Z#"U=D/N(CL*J/S2U1SSVM<0V M>@?%?B&"0756W=B^NUX4)7]*=V;6L1,F&QK'U'O?8B5-$A-QYRX&J7)OG?X3 MNAJER'0883=DP12_SS%(/).4]?^R.\X]5:G][14 MNNWY4'BXDWG4P 3D5 CDB:=F)(XDQ,N]SLDR60ED1"6=>)N,GH- MRM%-FD'(:E-:V1/)D\P3(KF2@NWXEZ5L&>8 6TOCIF'48-A._!A%WHL?!'J[ MAH>MD<*PIIK5>X"EIH@#I#:)3>SH2U[Y@LQJ'U';?AE+/O7.UWYJI;3L3!6NZE532;@).9O'%4N!F""UI#*'CQ M!'6T$C@,YP6WG#A^XX6&\YH(CVB<46X 7/+UR2U?FK28JJ;+1-RS2>$J/ZUJ M/P&';13[5,^=Y?M81- GM\/=/]%VX4%4GGM>MMQZ=T\IN8G8&NO?+5Y?O*0/ MZ3),TIAOAS2MIZI;(O?2!O54YZQHAM@GFZ0UL7ZZCL+',^8F6P*<2,$JL;^B M*NO>\,Y@9<-)C=:Z%P6/6TUFK!IY._!@4%I_.["LXHVSI8U/_C4TG]3P/%:T M?I 6;28OOB[V-G?U4_*Z?=" M[K*::I?.W9N[('9@7N2ADQ8+%KBL.KR8)H^."\./Y MX1U]CH)G/WR\B*GGIU>.RZ^V-+IC6Q_D7JFELNJW/UK@V74B2!/ M)'W++CN6UJ[0>I/1Q[)DO6XYG:YOC=QM6]2L7Z]>3^"\NDUB8]LKU[8/KP?5 M=(7A55X>OL-[G)$3RC"^*=(_;HK<$YL4/%I\'K1#[(.-XIZVS.1OS0)9N<2T MN+ TK>%JGR8I4Q#FQ.S=*;MS(9QXP($'4_3^*8I3^%N6F*]\M*)S9^3^VT_$/MQ1@5,FFYERM ;^S7GQ?\Y(_J+!D&\VP-VGMIEV!%N(.UAV=Y- MS353#52NL<9!$^0N7*60ZJCJ]XC=L5+,TP;:9<5 &V?V'$"9($<0R-;/2FQ7 MN9(1#35N;QK5T5!D4'GG:[Z%AR.\>QKZ4=QE$ZMS9Z1(T<\(\H:7?D_D=[MZ M*-*[J&6XB>*MN&B]HW'J^+Q@0F">KV0 V!' M)?I?:?430D6I2;A<*-_T\Z(M35+?)6R0,WBD_F-($O40#Z(9OC[:Y6+Q(Z^O MR?U1LR=^R36(7F@,M1RB&.""142,GWBJ&K+F __WO>^5'B01UVC_R#HG"4V3 M*G9)1IRQC*,7<,1DO\NN2#Z\L2]>&+.4AED_"K#.F#)2RF,FXV+W2+^L>A;) M-U$9(U)P$EG-]C![)"N(?3HHM+A/^Q(RJ>RM:']V8A^VY^Z8W@V)L17- MD,)TFV+JZO:P#>(5;JVH?0>B)$B HO5T6%6]QD38RH83&HKUR:_'K28R' TE M@1X,2*N9KM;4ZQV6EX\[5?G/&7OX;VU@WJ$K4D?K8P 9G.OV0QZ>=U;CE)HS M\!?AE3[V"8MK633C9N\"4AXG/\NQ[H?,U5C<+AIG430/P?U? M_-#?[K>UGG'X/6+?J%1%>D?I2Z3^42UCWU&54;/H(X/H,[)[.*_-[G'P/6;W MJ%(E=P_U2ZSN42EC[^$DJ-ETCR'T,;J_=Q$]T] )TSO8!*H(OIO:(?6$5M74 M;;JC1A/8DZN7V41ZT,,;\?S-AL;\M!P^2XBSVP6^R[>:TDALMKF9$,GX>VWF M]><;:Y(LX71/6,+H.5OED51SRRDYW/&A5$.SJ3F=H?.;CW&TWR4R;S9W*>%U M['^AV*)E]S)9C>70P:P_.6[J/T..6DP#GL669HA#HI ?JR4[ZOH;7^:W27"RC$>+EL6*O MAO&P?(XVI-[PK%440"HB^WW%?8YE"+\S]?@[76PP'*8^BV==6?/%^7)].?^1 M7/.&3TY(WG_][;<#X]OZ)>J(;VJ/R>';D;K-^)8WGR2^'4L_*+ZE+Q%R?#-G MD'I\8SS0X9LYO4W@&Z :-'S_]5_^-#2ZL1Y=X[=RG^DAW+'*+1A7=)@FRE7( M/RS. 4/L2&?0* U8QRV!#NT,ZFX&[_[R)VCXX>L_#1W-73'[=H2[4I?)H=VQ MPLU@5[2?)-95B#\HU&T8/^1(9] D]4 '3-#AG$'-3< J4%.1SF"-J MXPVJIO;8AVB;JN5G+FL:8QZJK3*?/%P5TI8O60VO[$Q+V_ZE$#(V^31*^=M/ M #7U51 T^B#UPDXJY[4/VCH@CYGUY>\=(?)12;:<6GZAR@\]WY7WJ>*":0(E M8?B'4,XI*=VI_4C6\B7+P*@+I@H?-F@&#:UZEL#G\2B/W-[9F8S9Y M8MR2^89I>T4?XKT3OWWXP-K_>1YZJW 5GU.HN7%)7:[5=^_95W^IAS@S9#&C MH$'#Y4!I@"9V+#6I8N_$S :?+=)Y* T% 91DI-G)B2K>/1 MD5$6@_&X$$21@G Q2%D.7MEE%9)53(0LI"R,3<2>@A7)AP\STFQ(\MU[WN0O M@VS^+C8;"OMW]+*Z*HQ.>\3PK:5JU9[O46/D@*LGNZE$9(&B3EH$I =)DKZ: MG&QOG]>\)NE1E]W &:P*W^0 MVS C\H9SSI)(GI:>F1C3*H72;HW2O6,,58\CP>>N"U5]HW"UJYGN.G9'ZO%] M#2$#E2Y]D<B3:B4KAX6'E?7%@IQ[663JG&]4P$@8S8SP<^3]Q M#DR'(V[0 $N\*-"D4-V\/I%Y>[AY63Q/1I1'A.S/QV:?1)*^9[',_#6%)^$2 MJ9\B7N-+B1K=L+NBIN(E]VSI@]EE=47O[<:"@>+)"H_9H.\@MCKPB+IGTZHC ML"NJQRZ[J^\[NA6O5YVR_FXD@MW]>QFE;0U>3P$S-/13Q/A\G_-$O1(?T#*9 M19QGQP^JWHCNO1*_H^ 13'R^-%MM%DX,&B0B=V&9U8)?.Z^7L!GLBF;S$!Z( MC5/_G_R?Z^B&ILO0C;9T_I"DL>,>Q@;#^'U&4ZBW_26;7RA$;.*C_ 3LBODIOU!S0&-,1M[#/*.Z;X M)C=!7M-Q('^6\ )O"X@]P>1FK_6"4%//R7ASJ_K5SES;#?FF>5DW&CQO5KO;A MRBZ3\M]F#0SYKL@0A+TH]:)_RB_Z\U0>>!9,_MGMN(J)TB::#/.+' 9(>5Z?9",* M3MB.C(91/M^:_4NWARXD<*'W4'T 8"D\/2-F,TPVI=[TDB;*LR M@X*M*42=D0 JLH11>"9PDY%TG9T/4$Y?=S3T_'0? QEXN?_83WLWSGWV/ M?9U(DGL06-ZM*R[-9;?HV&>@3++?EJ(?SH(U AJ)^T2]?4#A876YZ,D>94]$ M)Z6$S(0G@L$&3NVYN-.+$<4/+T]YGYAOKZ))" M0A ;J8M7-]@G?.?QZ&IBZ%UF[G6;.;1S-%>'F]XWOKH2=NN0M-^%,6^?S- MPH;\$>>,@I@]:X$3_QP[Q=^]=OJ& YSRLHY\SD9 KA%9J"/@^)HYC "I%Y&* M\9]>46T*@<(4?]D;?"X\<.PCTIZ.?X-U]"F+U+/[!H<_I_8X.(7#Y.*0D\W9 M'$WT)C_)F.!T;0W-[#*%K\K=&33(-2W[0UP?.HX$,$RU]LQ9.V'.<\,>3X3, ML%*N_%[6\02+9;:S9]SYR8-SY.4U+Z3SD4V)X:.XV[Z.#JTV\"+:I 23FZ(& M_SFZ+8B-L9_D%#>\-89;W!81L<-+8SURL0GE<@/T'./1O\(*%L]/V&6=*GY" M(796<@1^PN-I^0M8B>+YA2K6FP/ZTL#S_(4XC5HHAU%KY_56GD0E
\ME/NP1J*:'W8$ZXXL4G=7FKWLGAD&A/1SLRSFYF,&^R30B"\M"3C+^P&(S MX[F*OV<<^'E\]V/R0[@MSK?Y?B!@+_#KAK\8HI6I_^"U,4VF&%$UX]T%4RN&)?$= M91_[+D\YOH6U5II2;^[^OF?J\3M.?.N'?;..G3!QW$[0?PJ'R04P)YNS.?3H M37Z20QYY8YH^/,7UT4GHK)WWV#5UM%+OHKZW[4I_^A-+% MC!TG$QW27\9$TDE34Y.(Y$F*N!"X\B!S'\> ANKTPK.H5?_U0Y'O$5.7\F). MZ0L-GBG91F'Z)&MYYQ&FW#7G#46M[R9X.)K-IC>'C?*C=IF_!*C":#^>! -A. _.[$/1;.@+(!V@9N:3I/!Y2:EJR&XJLW1'ZOI]#:$6K-3MBQ .>JO0_PD]M0!, MY@OO>*3$?,5ES+^R4Y)R- MHH4.S1?J_','KZ>:5-RF%C5M@P2*-"JQL:8[4 MI745S5^":&B+?+VD);JA1=&&9FER\(^ ,U;J,F_R:K/T%;KEZY]L#$/DRCZ* MPM9*.J5Z!U!1Y^!QB;P$Q.)\N;Z>$ M/I/>%17"*B(UO5Y(_;:CVG)QI]$%^1JOBP9]1RH\D^[F?)3$?U>R$D?'4'GN MX8W/:$QB-I^-N[(:PQ0%#YF$OMJ0G V1?,9?9XVL?-,8L+M?_0OU'Y\@U5"< MD*EEJQOV]II[(06]CFH?;DHW=$$C?,N41ZE?*=&OW5_!1CRX <@*S\)"J^ M@".E)8JX\!Z=%)BH$A,A#J]S-27G<.@N$,.!^B9A2? MUD^46]NK,-F8^U%@L!#J0]#0]>%2);-0[>J]IC%R%&U6LKS+5-42,2ZU"-Q_ M)XF#AT*7_,HI'^T;61RJYV\W#MR8A169_/AM_NH?7O3I16!J0[K5&(W#O+;W ME(9^NQ*&W.&-"$;D5Z".QB4R]2\CJ):G9;3#'I,:])7JUH_R4O/)#.MJJ8V/ M8T'?VJ' >!K/VE0>SWGOF1CIVWD4>I]HQ7.'#H$TX>Q51H5-\B=T;4$2JQ,9?I7)[+!1XT7%]J:X_4!;55S9.=FQHC=$!] MF8W%HMFT:/.2TK :]Y\<*UVMR*M;;>3>YR]P$?8G)[G+WJN#J;VJ[DF7OHA= ML+,)I#MJ=T2>I-)=#T.W$G8Y8TA5>)#G#>(B]I.CO)CX .S'S5<9SRJW)3.< M'YM!LN/1OH5:'+9,T3HB+*Z[LX<_5YO[)R>FYW!!!E)Z:)AP-YO',;, O\"2 MG+\5;;(RDO,7)_::3DE,TD>*O8.9LK1%8(HXPO!J.!U[!R>9)/P9&^!S)FZ. MJ=(051Q(2%0;9B(1+I/]TZ)6>]:9LVW'P AA['YMS'@EASZ9*F9/-J=<;Q?6 M<-L6K[6^ 8+!C%!@^2D*/";K'\F"!2TV=S2+"Q*K35'2>BZOV+9=&NK0'3DF M=35$*2E7LR]B?.FLPDDHDI0JRL?18^QLK5\>&M<$%1:P&,T<5+07\L@+">(G MF^_3IRB&9+=U=$Z+QH=7DDS11(X71DQ6"E].(8@86O4DAU9/5[Q,Y:*6;O0P76CP UZZFV4JW&[-JC M1A,9]?HG03Q5M'/I*0.MGS(A%/./C$?I4G NQJ%RKC)AD,;H^ZE3&W M@9V\8:MZ\Q\?0]K /$Q]SP_V4*_CGKK[F-\.7;RZP=ZCWA4#"#B[V*?9$Y,+ M)X:!G,BX7"]WP! 3I/@YK%&KLPA,<$ < VDJ(E\ E4@4DA$I$@$!@51A(). M4JQBN6T_J>!$RYZ_51-H6,(.RQ$Y.HQ@;A4J!F2'&#?&T+KW#E0-<-C>#*A6 MN75[0*/;)#VR>0NAK<_D?,/@>KQN@"/8>;"E^VR@_8G%=A=$;Y3.0ZCN0K-_ M\<7&:@?85KM-H=\3J??V4%]N6FAV0[YWT56+_D.:.$JNWG#&W%"(GGR MJW?B#;'T2?W<3T1IST '0=T==?^-#Y6PXY:EZU:%XSH',@_0IVC\^P>8_!D>:!I31)Q8W-=7VGL^@F'G^^<-W'_!#3]#;@'>VXDUTF>Y%:1GR1[L$S6.3Z3"C.BF5V9 M #RO+[/,UP0JL98^8A1#."9/&&.HUR=(;YWX-YKRYS@X1V9#_O!%5A4K^UH< MF+WX8*Q4_5G&W:$::]1+/FR=YQ&%4W:**GA9W+$:RPZJNA;OMYP8T%^WY+\; M)(]TNAS*D ;7FM<3R(@WKJ+I(+OS]M.U[>QX-"8]MLYD\6[.7^D>QN Y[2\; MZ-:<6%!83)4[J&U>SD]>%1G#EZ W]8I[%GRR:+EA9(PXICPI;L5? M;(/-&XZFT)8Q\5V^4>,)/2J@U1Z.7O +%7R9?V3WFI^MI0MRS--16$6RIO:( M\4E+[%/JKC%/X=1G&=#,5*2Q@R=CZ'P,!C-"8;MZ ][L1[T>-*H^W-ELJ)NN M-I\3QN0 *C--6QRV/Q6D/GRB6?(#H.XDL!\&G:"1H>I9E(L ?@!EDM@4>?A MD%OG0".?(%@PU2*W#>=Z_&"4!%3;2&K?0%T'C[W(:1FZ,3]#= +5+/,TC?T' MMI!^".@Z.B[LH90;JIG&C!!&BN#FC:?&:J=311S1&52N_W6&7(0R9!%5"CBS MOI3;385G5Y;H4:2S$S,BL&IA(IG3D"1[;DAQC5W<#Z4WZF1ZI> B.UFZPR']22GCH4:FED! M0E4N(@7+^B,&P0'-6=A&)A9E3_:YJJER6$PJ337F*R2X'6+4:!2W?P5T291PJO9O]!RJR?@UW,:I;SVQ07J@9M,X MS9I.:*@>2FQLM )EZW=/*K1MO'32U'YZH[;^FDEMXVF-7$.7*VK&KM4;)5BT MM>:K+>^\5;>=EH\VO?A6T7 ZOFGL@;3#",CR W!C*(G& :_;:KO7-Y^6&QXI MVN")UQ/()6\5V9P_7MM.\AY-5XN[ MG6<+*.L@*&\FT:FGR,HZ2VH%][-^1^ MJJMXJ09;2Q_$?JLM>N^"9AD#V#[,6)""QXQP+I9*MPVN>U'_"NX;[AS?DU$_(R4)B"+"C"A"$"F%'3RR;+E;-N+] M)(GB-Q)&*<#5&^S]&DL!K%!/)DDOPR1U@J JCZ1;3Z0PTD-]F=ZGV0UY2E]7 M+0RE\14)[;["!4(1-KAYBR!SI+=Q\_;&LDB;^5]UV$X3 LN39BS 59/(3\]^#6B;>]+G.+N);^8Z3ZI_LC^ M%DSA'3Q>W$8LS6*H>[-S8M[)+45S:2$\K*Z1H'BFSA96 M;B)C-*UJD^Q*,<]D]&.1]+-AZJ=/[,_0?V9Z.;'?+]FG^H7YO,:S[]*Y]^R$ MA:45F]4T0XS^38KE3\17M$&.PXTBGPBF&\BO]0 F 2&#*.&WN=@_'8:)@A54 M-$M%<:\=Y6EIXJ6IF+H1&YRBMP19 -^7*/Z-/U3E['S(#DQHF@:B=%I1U:Q( M:\NJH$%PS6.KD1^5'\*X^18>ITHRLA:>B1]4.;$_Z50KUQN=(,<2[C3?\9)N ML)>0R(\8(-_&D9;?YXDA%1 MF),+]4?(^,\(DT!IE9))2A6ONA! ?,[23X_>06;!C<,8XT<*AJ3,T7H*+F07KC9S M+ZJO&]W2%+D7-"E8>ENTHAWB,=TH;M^ARU--5QLBR5K.Z!M.QTC5T7IJ;8$. M]W"[W8F]Y/,.XB#6_L_??FAT2MV^R+VTDPE*>G,_9G&SY\,_V9?LD]M@ M#YNPC[4/,_2E@]2O3S:-7*?W(H)\A7Z:3KTGOB<_(5M.B_ J*B(\?1+"S,AS M(0[?LG1\O@3/)2+\TUTFU+C+8CL6R[@2A2U_%X Q)BIG_J'D;?%Q $M6^GE^ MP8>&I&LP3\ /H-;/?)]&6WE^E3([W+\ED$5>"Z;:'1&C9S?EB\-ZG5[(\;&C M$@8V*_W:]WH?,EF(DPLC-@^C@"1<')+0^-EWZ<@[A2,92;(A!1^2,2(9)XN( MA\<(%N^?Q)&W=U,&[/=B(*[@K+%QT=C2!2DJ=E&X=.>DH3WBE:&6V"=D, -Q M'KEDY FG;WDA.*C2G)8Q1TWB5'%2]J]#!V4?_?V3\X\HOM@G##:8ZA5G#[6- MD#IALU+@=M4M$#I:BZ"]C]$R:J:W]K7&&[PWN=J4M*JLJ-'6%O'H:U51#L+: MADC'8KN\O;.ZX172U89PVJ08H%9*: RK:JMRO5>CR]#;0Y$R)V"3%"P2WB2O MVG6H1A>DCM9%8;GV;&N/?-6I+?[)JPB/)OYC*'(*GZ)] J]^2MX$6(M'2,5^ M6QP]^Q[-TFD@^\*)WXI].;&'!U_F_<0=GIP>O 2ZXT^>CKH\'=R:!0,B.2C( M9FU%.J+>YEX<8"&WT_QL]%$+Q+A5HT[^"D#Y:^2H5">M@5. 1#T&H)+/R%7Y M#:N7T[/Y1N]0.AES^-5FPY;6,N##XA']J*2K[Q2)G)XZ:NSW05TQCY.X:X\"?RM+ZY3S(CC;?W0A]>\ MQ"TK-Z"Q[_++$V)'?2:+ 2?[(+6 3H/:51 GN7D1!"]CZFON:M=/U G2)]>) MX:W-M%A1-N5:-'= C&AZRBK9$PVMD:.:IO"]2XAQHO(2 KP%&&W?Q(79A!_[ M\_L#VYT3\C=3PT?G45R;?9&9# M@%:CZ6P,J3["W<$0QGPK1C4T18Q.;0I*7*IKAQR16L7N/3?&CPQF_IG=TL^N MG@(L/7*.6?[!4Q3[Z1O@DL,?QMJ'HU=C&S@'-K!&-)]V@>I?^5L_>"-Z<-X M^AZDNCI!+<*U]T",;)KJ2D1K:8XV0HQ #6HE6^:'S=!#C1-$AL& MEZSH3\9KY*WK =04":((EF>#*6?Q=0\V8'E) %FU[9X^MM6K:.N#%%HZJ5QZ M[*.I \*DOFYR]]_'?L112B(3I/D%MX,VV(=HE4JE(:DVP#P$*^4\<1IG:P_D$--! <-X M0S/.Q>5F>^@S@A4D"R75"@F)5F+2#*.@J;AXL()@N036VNE-(0* MP//0^Q2%/J/15"FK4V?\P-+!" =HH]%S&A#419&!<,D%$69D6PC!#XNVN1A6 M &L,PT@GY[R(PHP?$A;L[*/;Z-:8E 3%>I_;Y6S M)0I?(AB3@C,1K$G!V_JI1G=S-1Z G$#NBW.Y^F.5OK2^*+8:#ZE8S.+N^7VDSZ%'XSOZ3,,]_;CW/8A?EJ&0^9RRN)>NHYWO_OG;/S>6 MB3N)('*T.MU8*E[UIX88L0PHU;N*3\Z:<-XD8TXD=[(,I0\* 8B4P'(!.QQ& MVU<;S<^-]J 8C319;3SXRJ2]HUM1?96!+B_*R@1?/03^(X?B1?8,OWVB3K*/1>*PQRE@L[ZW1%[01\M>I=[%KS(/"7 A' NZI\%1]L%H"U8Q2E9 M144/^U'Q(DG]+9N85YO>T-&1!'+LZ&,0%3RZ]$>,'KW4Z)U%E#&#&L+(\6-4 MNZRCM-\M0C/8V*L0DRE7"[TH7$)9@PG<,:*Z7YZN[ M%N_3ZXO>(3N8H.RC&AU1NVT7^?M[,G A.1N2\2' B%R3)3DG*W)GW+^U7*S2I *8>O;3U7* MPI\QI8W)*CK])CB(*U5O&\ZE3A,;V-6R&QWBDH?EM!$[VL_:U>^?*_\4;39A M0UF9HP9(/;)>F3ROO?0M]MSU:F'['^=5/D8*IB.2%?EOJ$C+_B:?J/ODA+Q6 M^B*@;BK*IF?)RR.GJINU0ZZKQ73S830R]RRR^_13)&JH+T.W%A=JFB%&AR;% M\@>.*]H@1XI&D0W@!=0)KG_ ^/SB)R+9S]B2RA45.AWWB3\4Q?J_/$5!\'86 MO<#;#LG^(?$]WXE'+V$^B)D8T5Q[KKS%MXH'T>_B)V.XH@0T5WZ"'_*,-B$1^%S(!/(%< MXZ+0\ 925TVP#:]],&M.^[ MKW$P>T0_FQ -KW M6 #-E(&: .U[E( VN.:D4743@'8/#Q9Y'1&MOM,T(*U%Z0I,J^DQ'5!K4\ & MJB5<)C2P-I2)5.\6// !V_BZ#P]MZR<_[HILM7VF 6S-*E?@6G6'Z+T[P&XW7K\HQQ]?ST%NFR2_\B&D%)TSW MR@%3+0KVIX08&$\TC\3*GF20P^>I6@V*J$(XLOY;^23U:WZ4BN@(U981I7U> M2V>M7_,*@HPY$=P)9T]4_A91V*ZM5'W_XYM"MFOV%_M0?I3U^J__'U!+ P04 M " #2A)E.S*FAFGL[ 82P0 % &9I>"TR,#$Y,#,S,5]P&UL M[7U9<^,XEN[[C;C_03?GH;L?LM);>JFHF@EYJU*,T_+8RJKIIPZ8A"1T4:2* MBY?Z]1?@(I$2L9&@ $*.C$C;$@#R.^<#<'!PJ;J[RYP/]QC'MPC]_&D>Q\L?OWQY?7W]X?7XAR"! ^)42*7J;\^A5S1P_&7U+&H)\M?GHMAG\M'GPZ// MQX<_O$7NI_P5R=<"#RF*DV\1HWP)2U9^J_UD-!C^%@0/A,%'!QG0/[C.B=(\7/HNS=^ MC.+WD3\-PD4JQD\#TOSWQU'E59Q@@4O$T7L4PT641(!\\H64_"+6:(I12'I? M6H)\BC%9R8M,@EW+T$'I'UTQS".)*&*-*D20 ?0(B_GL,8.<#K .U& M^YJAKSZ,QM/Q$H8IXQ0IF=:V09"?XL#Y8QYX+IXK;OY,<,=3#[WN&0:)X I$ M\ULO>.U Z:6F=P?X&D6.%T1)""^3"/DPBO"@.@YGP$=_-1RD^2WJ@/>4+!8@ M?,<$0S,?FPX.P/.'XP0)GD#\V0-6B(.@O%;E'Z #_"U X6_ 2^ W",C?*>-: M8*6TIP/:T,(2:#<2T9G0 ^24(W%=L-K< L6Y"!X!K^!R/GSTT:S@K,EK2 M >\<)>/9V((KB,<9,ZZUQ,UO5.3.V1K;9D &S9&M,E/;, MF$K:]T%JDP8MD:YA#)#7!B:O87-'V4?HP,KG8>#C7YULU&@O&:5O8:X8<7DP MFX4PZ\7CZ2/$QD8"=R4_WN/-%1RQH$/@Q,,H@JE)?8? ,_+P0@[NC'U"[V"N M"!_A B"?? ##U(V.^TUI1ME='Q9[#7,%^03#%^3 ;QA&#'WR_D/ Y#Y0BKK1KFV4U?#G]X&?BN N5*/\F,93L>^_$K MHQ=(UJ-J2"#S$#.$,,0O=XV\A+QB^NUXJEG^6&2*Y3Q;/,,2&PQR$2BP1 MT2>8L(>@PO"BM"@-;XF%@UM(!]0[_&6.B3Q/<2Q527[P#:\H7.BN/D4Q>=S! MP<'%P>#SH&BH_"OPW4'6ZJ!9B%8*%P/V J?R+AZ)Q M"CC+Q!_]BX1L^1^G" MO6C& \_02]L1K/9%ZOT(W CC3;%&T/EA%KQ\<2$BH8OGY!?R]N>?#P[S:,#_ MP!_]*WOZ(YPA\E _O@<+N/&^M&+_.CT^O3@\/[PX._QZ(#\D:X@[S]-WRG:FBCG"4J$D&5Z^A(AXX*9!/< M;HUJRE_W7B-<,+DBCG4JX@&&*,"8W&L0LS12*6>-:OBHZX6/)M?%F0Y=7"5A6.GB],F(5K2*Z1!C.NR7AJ2 YKQWK6,5[KS1I<+GB+O0I[A9Y,+S"Q)H%(7UI5"EEB9KXF(JE MZX$^]3PM@.<5(4A4]51*6:(>/J9"/1I="S<+&,YP%_\E#%[C^56P6 *?WHMJ M2UNB+G%LA=JT>!OR$3I8+ (_=7%GWNQQ$I-CN.18-7W.8E2R1(G2$ M=TAP6 M/WW9=(Z'DYNK@>7P[OA_=7-X.G7 MFYO)4U?^\;RYM*DIB)[3]I+H\PR 949HZ,51\(A)AA/"B M*\A"#2@.=;FJ\CVT/:@\=(_]^M5"QG3')HHA75("%M6_CF%.(;9$W;M,5%08 M*888AA%,2^K4C\ M[.2BO^R0Q4G=A&P^5&AGQWV*W86EOI$+DT(.>@6KN"$)D[KWV:]99.23(*\@ M?+^'-/V7BUBE<2XPZJYIOW3\$,(E0.[-VQ+ZT2J0M2(YBNH%:EK%B*9XJ=NU M_2)*,2W^CN+Y51+%P2('CSL(FR@"-:TB2E.\U+WD'AL4(@.)O4.&\."PO24M MJ?,@!I[66218PC!^?_! YE#'J^XE<>31+0=6%4-)(#UA2")4M.+4/5/DJ1_] M67HX]1'-YO%X^AU/F42(%#8PZ]A!!WF(G:XP3_60HY3@K8X'Q==VJ)R)QII% M8@S\&<)+XDQ$>'"[>7.\A&R&+5OIETD4$ MN26A#G>!/YO <$%RM+#]C#4EJX(YQD/SL3&4$-%A#0D$07:@??W.YBP%6/0 MWLD6+H.7)W:)YLGZ$U'?I2$Y"3%(U9F^,*9<1@U[..*+%A+ M')VI>T9XQJ&4MH\-,D MB9<1)L$^Z%].]:U=EKK]7*4U&-=775_89 HH\56( MH[9D55+=_E^93?R]#%X]VZG23 "*UBB&G=XH;0R6MP0EMD]KJ]E.H4;X;5RT M;-IA8CNI C([L8XSDL@M6;^4 //-5=LIP(.J:J6BV5QE7^A9[_ZBUK"=$[+0 M+8G"J$U^G\6O/9#T75B=<1RBYR0FFPR3@(R6Q%L8>/A59B,?OS^,>%NW:A]B M.Q-W("U5<2?ZS[AE;YN*C)4JH::D<33:@=ZWR28J&$7;RM5EEZY),<_QQ,RM ML5'L@RW"4NDDOX(.JDS"] *N=RY9M@M^T$5"+FU=.A<987QR1VA>5E.11D/'219) M&N!Q#:?(033[FU^Q*K:O^M,!::%70SE9XB+:%KGPQ?%3\Z2WI8S6!+4/J>SG,$8.6!TEY6:K_2J>K7;P]\HC_O'I(WOM MSDUBSPM>B(5D[1 MXS"5J9NN*!]@F.;J%G+\T2I;0YH6<"T)QZE*($OC/DSB>1"BO];S"9,EFY4L M98<03$N.!-0A'T51(L6(K(+5;&! M,2)4H>:?OV%8"VK.<'#:8G[H^1$E+0Q M!&I:0Y"F6"T)_M^Z(89K6C!JV$@*&:.B[[$S6["9%@6E=%5 IUA 7RTA 0.? M)?$GE?W-#+3(#G%6TAK%BV)3Y<3<4OJNG9BK#Z/Q-#_$@+\5=& >L:_;>IK@ M']]N[B=/@_'M8/QP\SB!?$3D$J,7F%_!0-OD$JK<9Q:T0&B) M=^X7@/P[W!7&_C6*EKGQ.9XR9 ,W"6.-7(_5Q1>@XO@U[$XE'7DO7% MC=-_,Z5NDT,*L"6+NP(CVS[<*&4Q _@XVZ[_C#$$+I,(^3"*KH+%,_)3=:W. MYJ9..>3F#KAA& +\:>J7NYJ37T?^<$'"I<932I55SI%#"J5V]'1KJ:I3?M:< M*DH35E U0C.+F96L)5P#V#:F@Y%ER_X1I1%'6H>X:%YMK=>4MUBHV;":8 &L M-[$NX30(859N MY@] WY*9571V)\M]I*=FKA&XSG@;NV36FK]1V^@7'4E5@! MZA:3)?>2K,23]^U+Z$/Z5@*E=%5 9UA 1SWCD1@D1=OS^H_MW\.8ZS6LE.FS MAOE "A_ 0<\[^^[\V01]"2+D""H]+6N)\L MGF$XGFZ=7^#,&;+-&$7*!G[.&<8#B6.<'P-!E?_?>OX[OKF\>GOPUN_N?[:/)/L\\R ME([!2-]D+%A73W:O_-4F)&T([_W30M7.<(';->>^9;YJJIFYN+BH=H969670 M\,BU#'S2;8=OB.;29-8Q5Y5TC3#4* S1**V6)J!OD)@H_(DX*V>N]H05P9R. M&2@M,?\K9R29RJ\I::7Z17%:8I=3,M9"OF$H6M\]HXI]; +5EI M*,OB;@ ?5*BU;F01 JZ(#TL8HH X7L-X:[?\0KL?0E7>JHOSLU/-%Y)T0Q89 M](KF(A9COAK@OFB7Z,I:IH@B5[1B9;'D2 ]+LOPEC*C;=8$]X00'<*='CS0- M%:G8LD'R.@G)?2L944F'(%MZ+EG$03\"0M<:-&AK3ZBE3C;6K)AK!9*FIDV_ M&Z? HILW&#HHHMH[TNT81SAUU!"FG:1T.@U,UF15LZ0>*2 @HZ&^,%"2)7*# MGH1HS*+?%+T13ET<'.>,PA\P)?@(<9=%#@EX\UW\^30(%^FM2J3.D,PA:3JY M#7HI:K4O7&LUVG4IJT[C[Z6-/AGR9=U,.?NDFC6&?EU21(B([<5FUC"H:I_] MWTE^LOD1IC=W3H()>/L=Q7-B<&/I83.[.#95'1NHN_"-6S2&K-TN151+J&UN M.V,RMV1=E(0R8 &T8V&3IHRCGVJBU!B(JL1D^=@X"2BA-O5FTR/$0T.$8O@$ MPQ?DP&P&>H1.,//35M(ICS^ =O)8XVC>^2B[.S%VD%12>W*DU>&/TM[.%8CF M%/K2BN\)[:3@M\T;8\S,7=G,2;O'T,$"#$G'BN(LB8[(#ABE:D5X)P=&'*/J M>DM,1A1M<]&8R:/\;JQ;9,>9;OL-[YK"D/4Q^[8RQ49]*JR)=$)T_O0'7N)(HI<5;H3.DE6 MXM5Y,IR8][=>\"IZI=V)S('PJ^'3KX/;N_'OAE]I5SIKO)*'^.GOFBJ:4B&2 M-WD( [*(M3_LW)GT+#F#-5Q@ M@PG]E>I^/!UA%O@S].Q!YN5S[$K&D6UGG*BAH[RD+)D[KR%^7P>QMG?+1:JB M.-2?N%XC:;ARL63L2247X5?'"]?K('F.IXDW=!QR_PW#X*)6^:!0"SE9DE+B M.G]9N4L0.+4^B-5.5)8DJ:C.Y;?(!UCL_HSL^H@92M4J'ZQJ(2=+CN^L+SM^ M AX<3[%DL2SC]P'>#=$+(_FZ2-4^L4A Z2(D$A1" M6_X8$S*\+0%R6ZN/GX:HH5O,.E5Q'9V?G9_;SAD>^K:[!@:3Y2&$2X#\A0C8A)1]F0L[B%75/96EHI$$/;'0*#9[L5_,+7Q@\J MDVND3[Q2OFP3E8"<+#SS#XT_"!.-92T9Z-<=JK$]T$V6'S")/ M6C;6N@WJ#(?5AH(PYYBM["O9Y(72:*5Q0Z>EU%0=F8X#;(.:$M!!D0GQ#T8J#L Q&C*.FHH.P,E"MF1Q M@"W3(O=2EI>B$C&%#59>C)IX \8Q1Q$3MBG64B;6[/E@V Z$;G2+Q5X3CR?" M+O$6JJ(\QM.)M?1J*11;AZXBZ@U&6/39;,#)2B33Q![QJZU4#-@/VK6=U=J^ MVA]ZM92)JK,F)7O>(&JM3D:T->$9#1E'-44FO"QD2_P297/@+O!G$Q@N[LAX MC:6),5#/Q''K&<<317IG6U3BHK#$2?\(E_F$/Y[*\(=;;W_XTTP4G81KK7U3 MY_KIE/J)K^&S"(569?>3-FSXG5C4:ZJ9*W*?(K;='Q&HD"NT'E6MCUHOH^]3!&J7WF!3]IB9$G5': M?O4W$4 G5WFL#>ECK5,9'D%Y9_9KI,V>SYJU:3_YNA-3)[>$:%_KB2N@M9][ M?\C74B9=Q$9IN3V";$CZ+OE!=KY?@$?&_^P^L,W@10J[9)HPCE^R^R>MP5JR M!UT:4P_U@ MRF'[I3SE^I'.;QRY1I'C!5&R#I A9Z7#&?#S1(>?*HJB7#1R>(#_#3X/UJWA M/XH&!\!W!QM-&GR[2/E-U]>P$-+Z[D-)X*L,D,!;W]#"B7-0U+86VQ?$6*WC M:1ZSCE^>9N-N%31N!E&JXHHM*X:]LTWWG0P43\EB <+W\?0)S7PT10Z)U\P. M">(Q\@$+TRFM@#CCQM'VN)&W/PBF@](3!NM'#$K/,'@@V98)[TX-1@4M*3=! MA"(2F%OJH+[+U/H$*_K2H^]=M6G2N&&$K^!*/DO5T/L]BMP"%*;VU+?T@C=8 M\0YS!HWC[4&#-#=(VQML-&CP"+&2P1H*;XQ@5]$Q2M2]$6\88-8QKI^+J*G< MT^71];LKE_8M1'OPR78/WFC%X&Y;DYF8UVW950S)I[U6!W<:%ZI/_B4(W%?D>8*]^>MV;RZU8'!/+MX2&V*;MUZ5AC=VUY9J M@W#EZ.#H*P9^>')X?'1TH>FR:J&WY@T#E64 M.*)^]TP2%(NR_"=DDZ.(])!PUIUM]])2HZF??[-9@[LL0Q["/5FR#2W[?B*O MR.OWZ/K1'><,>.\QL%?:NMO@U5K M!@\5V^CO@Y@W-O J:;D1J/:=Q,M^6F'M>7=/ MGB/X9X+;NWF1<,Q?U.WF%2T-5DV9W-,W@//Z.+6XEMZ]\3;OI9$$P8^_M7)PAYD M1@+99GK.#R5P+\Z)YA@MN2;^"X#$)9 M1X10W:KP+L[/3L_Z1)#F&#N[RMT@[^0DG4F%?)/'!T<'QVU\D]FS/CR3'<<4 MH0C,9B&,D(=5DO\F9EG9GVG'Y'( MJDM\(V>S18>5!BWUE$2J$6MW>'*&E:=DN?12?S]9I&$;=I'J9)7/,_/K28PQ M31KL*5K>ZV357CSO&Q'>2 M,,1=* T[$)IFE#[#N$%%]MQT]]*P9/FT(1Z:0+[[P7,$PW2G8N0OD[BX]!:E M+! ^I*_F*;VGYR[DT=FB;*?'AJ5FOZ_;LU_13D^FNYV?(M8](:[T+#R];=6H ML/\KN3B[3X>!V;.7&-A^!QYO'/.5ZO&GVSU^\[!O3WI^;T_]KLE*WDK25MVN M8EQO%C__*PU+NPW)<7 ,71=EK_0-A#/DR_@R.'5[J.;V^/IMDFT?8I,:JL]K MMEMK3F_V9+BVYQCGBM&_0S2;Q] =OL 0S.!]LGB&X7B:7D(DZX.0:,NXD:#! M\4YEN/MMR5'R/E_#&"!/;)PXD4K_//A[WK;AHX5UB: YA@.%"&D'8%H-K(K& M#13*^??PU7LGHU0<8GC0O07.:A.$&"EUPW*#9DRD@* N-\9A5>#-I,@W+ 5L M@.%9"9)KMU&(981_\4!V@#$7%Y4:,M6MH41KT*;'R5%F.[PN@"-B]C 7Y#&0$\&.61Q$4ON8?Q PP=HJ-9K0W/JU/%?ZCOFC@%:MO@0"/H M'5M^N)8Z/WY#D8. MA7%X-0?^#([\<@F$U]%+#]:Y$I2T:XX=HU(9QW%"O[6U&M9>0N0R:X >0K;SLE6I7.ZRBQO&AO:ZV]2\, M7/M"5_64^A0#WP6A&WU?NB"&N/SIP1&3)$)UC6.-L(9K!H?&@"UA2],1F+:F M5M:N<2S;Q5S5C=08BW3-\U?UC-4CV7L>3[_G9_=H^X6L.M:PAJW1;>;(2T71 M /8"P^>@9@5_8@*C5J?VA+BT*OW!(@%Y=.#ZJV&/0?X?2JH"6<=/FX3":'QV!("5L8(6[LRH8MQ8HRY_A][%M%#8P",9.BEA'JOOC%.1M-"K M(0)L8 8JJ';-NO&M,4KB2[A&&[U;: HI[QORT2)94-57^=X\!0IY$L1P]%F) MX(VMQ/+W?58B%X?VS6X#(AN/L"@T'U9N.?L)8]R9VT17@*-&74HIHE9_@N"T M#[RU 2J_PG25_1N6#O**D.LA"J\"/SN5A;\D0=A>0F[;GE'#V!JU8R()!+59 MC5M1A]Y,EEPF6&0$0Q('BR)*/\9/RF([Z8&O8A6MX4$+N&9.Z=(^B5QZ:^&- MXSD,F5M]K"I6,*,Q4$LR *Z.ZA01@GGJ958T";..,:Q08 @V!\Q@A^;-M/S5 M:ZW"VC+&*51>&S4:Y2(T<[*_AZ^KDQFT6!YJ.?,TR=5"=0H71V6F]FXP08DM M6I@B0JKD5^J]7AM"U&Z6U1\KR.P';%#\&SHQX]Q97;G>JU(DD%+8+O^&5(FZ#M= 6KVR+GIM"U9[TN(VG^]]!6.21KS.3ZPL9I_&6#E)! MA Q%:W"/WH,%'$\KKTYUCU++&J-)"354=2<'S4Q;:N2[^-5#!#P\URQA&+\7 M4*C#,Z^*48J5TU%U<&X$U$PUW[B) ]CV<;5$%=OQ^=GIUWXJ4027F1;P>#K% MIL'*F.=U2U9Q:[0I#=),\_A7"+QX[F Q/6'S?BT'UMX3HX(UZFT 4[L)7*O@ M7X(7&/ID*%N[:-,'N>8[\#UQ0'7,')"M,PD] #>R4PW@2&52(W:Z@N[V-389I@Z871QG()B$#H0 MI5?M7./>A-^GUO3;*%-]Y1/\RKK3V+?3GSC(3H\O'BK1:,ZM* ,$78I2ZXK9 MJ%=AG!TX6%JH5NE(?XN%6G?K\VC2TJX'=J?)J8++&03-VME;(GYK?O79$Y M,5^\R2![E?0.AM++?)R;W^T,-O(1\<<,ETO\4BDC<=]"@7N5+!)RB.,%WDRG MT(DG(?"C]!0'ZV1]NT:-&ZGDSMYW -[<5'?R*!EQ[LT:,XXN'1!@FV4*9643 MNYAA]DV;,XYA"I6O@ED,*6D/_@O"7*)$VKD9Q*Y MA-A.@Y-@B9S3@U/F.:_F#5I 1@9?MNFH6%*6$++Q',/;N&C?L'$$W2WJUMLIVLZSD)(N'Y5+E^Q7(YZRB>VJFN&OE8BZO0FB&--I*-)XA[& M5TE(-$>C&[^F<41KI_\:/C64@2(F+=/N\12#,-[BTU?#^#3RG9 DV[R&V<_; M(%SYSIP_$X0QC_SB/.Q50#)9I,R095_3Y^PO5Y5*;#?94EMM$$@)(E4"V5\- M5ME6@/<;?KLD^NX[ZX]JMA(Z>8ZU--VMQ&S<.J5*[Q$Z'H@B-$70G03KL '9 MH976CK6<5"N1MKNG%QGG?+*_EY=MM7O:3P/R<$^HQ1."HIW6S(2\\;?YI,N M9 AXE:B]Q4IXJPWC1B\C5L-B8C++VNMN0%M)0WY$VZQJ'-W:LT!L5!,2Q'XM MC%=/^/^(F-/Y+(AMZF#FH[_6 M 5-28V[+9WYPOA,)=KKZ-I+[79@-!J^$=FPW'"H+339O.<22B)(QTOQ!;W<+ MHO9RVI>A+?517&$X*+X+HNCF;0G]2-JCN-7 !_<:RJB#7!QFWU+W"$G($_F@ MSB"1CKT_:15[OWJ90>EM!J77^8B^WVT8%YL=I",Y,72Q48N+8**EYBMP!*/P M6S9>[;^GN/]JMN0:1>-W(01SXZ9;@TY]4=<@KKN1J)N'&$>S#HG3 4OYLK28 MK8(QK0H>\,'2#N5HHX]12&1M:&L?(]DD:'7?,?!.Y4DKMQ,QKD[LEO:RA?U# +87J)DK2OYVLK M7T_^)H/2JPS6[_+AZ&D6E/T(??A*+&>6HJG9O@3K&CVF/LU"XS<;BX M(_$9T@/#::N!(7OFQP"P(P!W)%45O,L"G\]Y1JBU7?&:4A6YFNM\7$9J)_:Y L;WQJC([Z$:[3!P&!FC@.QR[[PXF.1 M+*CJJWQ?!7]V?G:A6X$,I515R,?19R6"-[82R]_W68E<'-KO"^K2>.%MNW!J M&:/X]E-D&\1=9/BH7;/^!D)$L*2O1^Y=G^/5"UF#I1]T3-^20#O-KWKRA*(8D.B(? M@"?!3;I5)V&24-NPE#_M9=#!I8+:STS6W<6128JWQ3[]',!61D,FS4<KRI71BE:$JRH0P: MK*+VZ5P:K?U.-<'L#NQ*5=F=Z[M85%K!O/% ".EN M-,8LD3UF8:K3>>WB(2 MOX> ]Q!D9\93.RU"9*,$;6T>J6Y^?YC74B;FWAA @7T?^$Z3(6E=;P^XP0%K MH_>?(@DYDAA#C8[-639@5?0(8N"9LFRNQX^E67BIKA/> EJF">.(U(7?MX$( M"I/HP*:AI\Y1M>IAZPNOB5?<)5LPMRAR@/=/"&C7?35OT#C>M6:,F%^PA71L MM-*%1(0E3X0R>0W:T'#=R@?WQ$32J?- T_0J)1?\8/8I%HEV/D@G*I1.C?X> MT.XV2%K-MZ5F/D@G*)-.(X7ZP#GTHF*D(\U\<$Y0)IU&+QG.N>$4O[8BXE7: M^F"?C& ZC6PRG((M65>5YP66Y\'>$JU6%JHBIDQRSC$%\MUW\Z,.T+UY'QQN#A>D MU4':[*#<;E\&@Y50UJ!XPP&[BHX!8?5&=8%IN5;<,9ZD2?@A[CBXP'W@A\6? MER!"$2N+H;+VC1M,1-1?'DZZE01UL-%*JLOW4L>^#>&?"?2==\:E,@(US25" M)XIE$$E21F92I ["=4!BO7@4H=D$E= F6O6LVHR#,E7- M)8ZDNL6((P3?-N9*5'8-@:-_&421ZD<#\4FK>T:YG*FL9H9U!'$;S%1 MCJ2)R"*Q*S>[3KFDF7W MQJZ@=*A4TDH(MI12L7SW@^<(AB]$.FFWP5\'OH-KI0K>%("87=S5<\TEIC!1 M&&3;J=2T6U.U\5TDE2W&BJ6.?XN0FV[N!_[ZFL*H=@*4J6HNAW:J_VI46"OA M::=2ESL;J=BE=S56M:H".SP_.SLQA&U:=S38\F&<1-,< ?80A*FNXA6LFJU" MIHTNT8*YW)'0Y38CVDK DN'F)HK1 L1P/&W,)9DFC"-36QIL$ZNU."QAEHHA M_HYS 9329QC'36V39&?2[."@K0YJ7X%HCL&3'S=_)N@%>!6WT;J74V@K7-]* M2K(ILDW+=M*R9#0EZ)_2_'P8#FU28="-6_>#:JTDI=W;7^O(N$PB+($H&CJX MXV0)/BEK[+6TL27MD6O4G^80QM?8D*GQG&I!O:>7PK$U4$VGLZ(= L<6'O. M7Z3*!UF:",@B>[XZ[8^G%7D(&U8;]?::5>VDU$%"G)YO@EX!STF\[$1KX'FW M0?@*0MIM4)T_]X/:VJ35[C6E;$K&RK9]5 M5NC(Z!:=2UN1=V<)0Q2X3S$(XQYV"(K41E&40*[G7.6S/CJ$X@XA M+VWM?B@CN\(3C.,L,=@B?RMCXQ3@HZ3:$@BH7X"T#^71"1 MG"U>XJ99;D!(+F;>4;^A/_^C&^VF&TEJH--TW9JNPK!Q86)/=&DO5B:'RGRC MV=+DQGBQ_A$D\$T!U&3Q"+C02N+G.F;]K\39KHK>*5@>TL M%F,G-L O0>"^(L^3F_^_;L__14-]F?N+]QWZ> D4 W]&[D3.MI9*%A+;&)!L M0\<87[PB?T>QIF25[\?Z$Y,W4EIYF!<%:4E4:0&7HW)C]KME[U$EW5Y=Y0Z.+YAH^QZ7C MT7)6VNFVE4;:&Y0:[(NU1MY;V"RK+XPI\O7K\='YZ?G%\=G1T;DI> M;^3CETJ(=Y*5^KBFI''#M(2PM[NO*$"C$L]67YIQ:'^[H)':$U$ 3W54< 9K M[AXL(#/1#*VXX5JDZH*G1 Y"2]9$C_ E\%ZP07B%WQC%M\!)=WJ81^"9=0RG M T>KVZ20!ZN=&91;W)[QBQ$?8&IWW 8L)15$0OM\'<7W2 _&*MJB])6)+ MUDYW ?"+NUB80\%V06.(T%*3VR.!(%;MW5_1=A@63X%V',]AF/]>GPQ,L)8Q MY% T.32!J_VT:A?6XQTG=0FEM.%\:+X"8".T9)9(V4].'I4&1M:XL%'4<.6S M54@9"T0@[N8>L]V/!G>!/\,OM< R>)H'84Q^S_:=HV>T)C<@$<4$PR=BN4J/SU+OK]\N:1DU1!%V'..O:2@IHQ>@0%4R)U@R9[;H MOA;:;D+0=6SGI :T[)[.$7=/Y_,@;7B/]G9,6!"TVL@QI!>+!=&(HC'8]]]B MU\8058DH0'[7QGS-*=JU,4Z+5%TTW;7AJ;)?*^^.=VV,HP-'JZUV;4QA1NVN MS7"1&CY/T,7UFPPM$'?@IV]!!#7S1DD< M+I$'<\*H+VP,.UJJ=WO.D,#;J0M74VX%97N^-G%"$*LE&SJ_@1 1I(]8=HPU MX68Q8]3??D4H!,VHNY7+;\Q<"6X7-$YO0M)G*\WDM5^M,5?E:AG*)8C2GU1S M3K2JT7H6-N5:H=6N>S6=_28) S?P/!"R[RC:*%85R=?SL[/CGA% "IDEL_%= MX+N!/_+Q>SP#_X_Q=$H2EQ.1W8TNQX\<&TV@KCVT: [7S&BL*(Q+/,%_;7($ M?_2O1^#/ZLRTRG?&Z5C>-N/CZ?(B8'%5U';(C6^-40=?J#4*X/5] M0SY:) NJ^BK?FZ= QGM55V$LO?]UF)7!S:K1_J,H=(#/WXD MHJV9N*CEC-%7\TE,#ALUR*<+3=1Z#1@EC=&&G$PYNF!@TSXLBNDQ'4C&/MM? MP*AAMEX9^N%H5@!EGS0\>0TD-;RJ8;6&V2A[,BMF2' -V5Y^._;'X26A"V639U;J93Z,3H!5[7 MA]IPRQO'BO8N,3&,U)M2N]20D(NLIH8Q6FHF:T%=]6YNQXO(()G-OX$X"5D! M]+7E^J%3X1%9'&.G0:^: J*+_/BEG/>,11BEM#&,:+\,DT%(O9C7%$5F"8_9 M49'<>E7H9UAP%WJ5*Z,B,07S\9HYC#_-@^G4AW0?6K5 +S3)U\6&0]%'#J@KI?V]H=9(8]U\\,55F&V AS M"ISWG ($Y'BZD7,CBUR^#,(P>"49.< 2?Q._4W@ATX3A9&&K?)LPK:%WZJD] M53*IE#%N@1HZ#CG"'_CC],UK)A>9ZI:P0PELAO- =_J)$C2!(<$2I0I#T[[^ M5Z1E2)(<1P74<1)',?")UXN9(9I7S38V-(&KW5?0G>GP"(GIC>&W,1[HC=C& MGO;@S70_/!('"L&3ZF(\O0$A@11EH4+IZ6\88=/\[1KB]W2R8D.?I%(/8_17 M^NH(KO R$[T MZ'[7VML>H#A"L?%^C$Q.6* W;TOH1_ 2^G!*-70II3\HU$A"G8:&:N+3TQPK MA^0]4@VI,PS%-TG0AGEJ#6-47]K!;*X( >?8;5TV;T+F'?P M!89@!M,SE%S-UM;:#ZV*0SS2UZPY,7GL9FD'PDSP1: Q7)G!WH6[+N MA!124C K0;@$6;"95&'_=VSX3()K2*Z?PS/GS9OC)5%JAFT=U_+=:_2"7.B[ M#^"=M!G=!N$5\)S$PRWYL]8\U/!N^T5Q4P2LW5TMT6$RK_NV1";!-X P-Y"? M;\]N"E>8]HV?L%_D52LF,[W<8MTV/3C["R)7FV3GOB;!IE Z'IF5O<%^47BW M8C0SHK!>,E=@B6+@I1X]%\4)5OP$O#V$P0LB$U)43#YD(MH043$?D)]J&@L/9+$SOG'XH>BK^ M!HZG)4&(C\:-6M]SZC4644Z[BU[2KO'BC-O2GM-)2!R%?_S 9.Y4+B 2W2:K MJV0,(U1OD F#U3Y#=7&8Y1)$*'K""( []LNB.!0ZW4*O;@Q?6FA\>U^]%7HS MTQ9DH;FK\$H(B1WG$.7,-J^[YQ6OHC["J,_[.D9(P^S D##J!$,1=_O=3TA4 M21YK>Q4LL,F?3LL04GG3NCU+B-6-'+JP0[2GL;H+_-D$KR>)H%/S[!I%CA=$ MQ%U"L6-DJMI&J*:0"^X8D@*M=H*Z2A:IE^L%%KXL$M,&? 2C_"2S6S-/"=0R MC@2-U5B=NYI"[S1,^5C/.$+N1R:>U/*UQY1QHZZHC121QFMCN#&1W^\0S>;$ M79FM],O1<8S%#Z-657K'^F]U4LB6)M#-BB=2FY81#ZG/Y$IVC(B$>L]\]!=T M1RY6")JFZ\!A%,%X->"2?H8_)J8>&8:C",_S[GW@.TD8IA/^ZKNRSB@TW.D[ M&$?J=J:2?MD5TVS;\11WPN? G)E6@+<6TTI8ZVT'0Z[6?_I2%A[&\4?V\>:G M.8@M^3G!8AJ$$?A)!,@GV;/7L\=Z?4HLB*O )W$F0/@60]]=6^TQBLD[G!R<'1P./@_63\%_E!XT +X[J#P*?Y\^ M+?TF?=[@[_D3_X$;7WA^Q! G>?8SB. G#9V%(;\U?,XZ5[(-/6,"&6A++S9A MV-_UA:N=Z43_.-%(==6A0A@G=45FA#(OW^])CG7BREI]_,Y(-B[>@'%*E]"9 M@,+E;%*.-W,B/7)E.D%3.<#WSU M;1- "**96A>ZI3R]W+!FS*]\9[A>!8=S/B2JHVRGVJ#>&$^[EUVG1OA"K5& MG5WI&_+)00^J^BK?5\"?'V#PFL(K1)1252$?1Y^5F)W6H2NQ_'V?EKGI5G2'254^]*TJGN;E8U;)S:TSW6!S]5#;S,6F/$23++FZ]?MHHV(J"D MH6H?MFM5O(Z>&4\+Y__O<^3,?P51?L%KYJNL4;=P76-4WTQS5)3VWG\^AFWB8^/49M(9A2,RDU/M[^;XNDY_,&[Z" MT&7YN)6U;\R (T>!ZIWJ7ICO5VS9/N,(P MRD%>O"W3)UXM9)R&N1*G*XF!R$SS)LR=X2C#7 \+T'[AJLZ.,0Z.-NO>:$C$5KBMUJO.,;3=4\>SD*8:8!C MG(M6-X^%W;!BFWZM)-3I6*GIM%C]I%$<04B%'@V3>([?\B^2H>T2K@MOGN!0 MTJ9QW&Q%F9H!4+EPM)MH:I@X"2' 4GY/!93+H?ZDD$ -VUDD"UW1_$B+8[TP M@#*KH._LG,-5$)$,-JEL1/C#J+Y79)*5@_8M(D4>@'4JT;5$TS-XB\!/!4/S M"G KVDZ?AA+H(/-JS0$U3?L/0S]&U\A+R,Y ^FV>N5UV&^)(3=L4WK6 >\!G[J8,KYIQS-JU MDD5IQA&9=B=#[3[0S6+I!>^01'G''DS0]TXG(KXH=G9Q>XU55R,=AIA)W MO2+A;;ZK:MX8*O5YK2&T&]]WGW!+&659]+MA<]:V<53NE%7*2=PQD(]=;5>OC)(YBX+NX"Z0[!=!=ZS3M=1S M:AJO=K+\)VY'\ MM-\WO4/:KHZSQ][[*(H2\FE6K@UGZ:U^$%:U\#JXFMK4B3_7@>AR1;*5_::F M"F&IND(ZP/U#@T8[@GPEN[^:%S UR'KB+FG04JP8'68N]\;5M2(+G9:,6 MUY,BL_(VS #-FJ+&C0(\95238@H",BJL;/.M\?,8(8Z4TJ;KC:X+OAI9$$W7 M)#,RD%K>>&VR5"*D4 9.[;[!3LC 25A<4[8/)&"HD4L#!DI+*% D.2O?6T\? MV2FEC:>!Q,@N W%G<7Q*U)H=260/]]QZQJE:1E]BVN;CU=[W:[>&?@?>'S"< MO/T:>&3]%XU\YX>A[X[BZ/=YX'GOXUOA]*<>/HHFX]P,9H26!?<6)Y$N2=JNAN,/HE M#")J@C].-=-IP=;M-C4:X>TT28XFE_'E]O6#5X&/QTT8IG],0N!'.;CUG8*C M[)Y!6O:2=HW:QK4.I&%6U$*MX5.#NG".DUL-@>?5;?%*U+2%)FTA=WJI;6=< MD.@!)0G4QIUW\ 3+N:5<-)TF/)%>K=>GW5]E)4,.'+HOP'?_Q]02P,$% @ TH293B&Y5#8L" QR@ !L M !F:7@M,C Q.3 S,S%E>#,Q,60S.6-F-2YH=&WM6FMOW+82_9P"_0_L!DT= M8%]:VXF]NS&0NAO40-.TB5O<;P4EC2S"%*F2TC[ZZSM#4ONPU[6=N'Z@MT$3 M222'PYG#JRY(J]!V.$E.Q[ M(](S8.RP&W7[W8/=3N?HZZ_&:.(X#-)JR/9Z@_W>H!\=LMUA_V"X/V"_O/<= M\ZJ0^.^S<0X\I8MGXTI4$MSELTS,_YC,=Z,_(M?26S:->TW_<:S3Q=$X%5-F MJX6$-ZV"FS.A.A*R:ACUNX/#O2AZ_6KO=7__X.#;46@UXBS?UMPZ&O?0UET: M=*Z7F\:&_;)B]'\T**M1!?.JPZ4X4T-G9B2%@DX.P63_VU&F5=7)>"'D8G@J M"K#L9YBQC[K@JNWNVQ:,R'P_*_Z"(8O0?)C]V9B>-QZDPI:2+X9"T31^R,S/ M%6N9XIC)/!>QJ%ZHV):CW:@;C7O4RZ^D5UZYHO6%) @<, ^]DN/)Q].3=R?' M;T]//OS,/KQCQS^>3-ZQR?\FQ[^=GOP^P4?8.OEXPP5N3=GC6.DOM;$UQQ&5 M9I\@J816(7_] =,9JW)@G[B)N4)'/LPE+-C;I**60;\_N/7Z[W.UK:.3-O$, MLLZDRW["%;19 J82V0*7Q:OA;;UGNZ^:% J58OJ&K.,>W>^JHJ[/T)?\?<)R M/@5F8"I@AFQ;Y<*R/VMN$))R@<]+;3#+BKW3IO!#HOZ+YP>#_N'H5\K^L2XR MZO)I82LH+/OMT]MV,*V2[NB)AG9P!Z']GELG7ZQ8L'.E9Q)0Z-H^PB&NJ4:W ME4:%1&>X4(RK!:M596I UU#^G'QBE#DK\ XA+%G&:=L9I@OA-JOK=ZF#@@2L MY69!70I^#FX#+VU:?):B,SBEI) V.SP1!C4;NRD94W8$MD$9J=[);HFDYQF5,$BL9\NNFL\R?A-F>9U#/;X,C F;"5(3WA M]-#[C5ZVU^!@&V?M4$;%W!X@XW0C?B^=SJGM'-B0]Z!;M,YUE F]W[$L7 MW!/&#;@T8EI$+('"S0"Q$TMA.(@(R6/I^ET0FD M^-BR'4Q?"H@'GZ/)/,FYPGJ=M/]C+<$&3=CE012B_1WP#D7[Z?HS_U!0K:,\ ML&A"1HRPAC>??W+N#QP U_O++H9:"Q0(4 MX^O(_7HTM$EW$E[;FP\A 8B!+6?RDJ)K@P:0!:;".F[!7J"<'2K(5JRTSFP& M)'?(")JR2F8[L!XU"F0H],5J*5)W?K1U;$4JN!&T .&5SW&M(DNU)35RF\LZ MZ7),I"V@0WA<=(-*+(=$4DM.!(K+(U$AOSVF/ M VCQG0/MQAQP"6\W9X\;PPZA.A4IH8E;K3CQ)K>(1*J "&+WU"0K4;T! M@?G;[76*0Q0.1/*QOAJ*=5U=[<)-*)8O>P.5>MGU]3.+FR+2;9(0"O1G1,:? M*"C2NZ ='^[+::-C5B@G7,MV<-R";4BT=)+4AK*SIA#;S!;:5MA KWW0F$W0 M4CAPLYVKQF0(-&2""]V#[UA^@SLDTOE1U4O/7GJ_O:)9@;J_V.]'/.IQ66Y_P< N= MO512K=SC6%=5VMBEMKD':+,H1%4!_!.]QAKEDSJD CUT5G80=4KW]IM5ON7M;\J2Y=Y]+WK3\]Y)68RE&2('I)%I*7EH8-AWAP]_EYH;>*+S"+00E^$:Z*[XAO;9V-Z=_\]Y9#W;&_S _!_%>R; MM5#T(,FXG0I<#O=VI&_'ZD/'^]Z#NXGRV+#>41/I:Q6!FH:BPL G](,0@R<( M HJKS8]S 1F;S"&IZ:46^^#/J#?91WA!Y5WX8=25O_VYWYI\ X1-D?HO_72K M"3VZ^*85M8[86M2VU\0T\J%^).6"Y\,3G'#)_?JK$)V[CM$X-]LK^^]BGIR? M&5VKE*I[;89A=X]8V)\^8'A_H3F$@@Y_C&(3[K%E[=CQ'2XE-RM4CGONEX"T M3O>CPK\!4$L#!!0 ( -*$F4X:Z_7$.P@ /$H ; 9FEX+3(P,3DP M,S,Q97@S,3)B9#5B.#$N:'1M[5IM;]LX$O[T&R&:3 MVP#;EVMS=Q\7E#2RB%*DEI3L^'[]S9"4[23.QFF]:8->@R827X;#F6>>&4H: M_]3I_';QYG>6ZJ0N0%4L,< K2-E,5#F[T&7)%7L#Q@@IV2]&I!-@[+ ;=?O= M@]U.Y^C''\8HXB1,TFK(]GJ#_=Z@'QVRW6'_8+C_BKU_XP?F52'Q[Y-Q#CRE MBR?C2E02W.633%S^<7JY&_TQ<#V]1=>XUXP?QSJ='XU3,66VFDMXW2JXF0C5 MD9!5PZC?'1SN1=&KEWNO^OL'!\]&H=>(2;ZNNW4T[J&L;0ITJI=7A0W[9<7H M?S0HJU$%EU6'2S%10R=F)(6"3@Y!9/_9*-.JZF2\$'(^O! %6/869NR#+KAJ MN_NV!2,R/\Z*_\*012@^K/YD3.V-!JFPI>3SH5"TC)\R\VO%6J8XY_0R%[&H MGJO8EJ/=J#L8]VB4WTFOO'5'JQM)$#A@OO9.3DX_7)R?G9\<7YR_>\O>G;&3 MW\Y/S]C9^=OCMR?GQ[]C$_:>?MAP@VM=]FWL]'UM;,UQ1J791T@JH57P7W_ M=,:J'-A';F*NP#Y_>C#H'X[>74J8L^.DHOY!O[^IFY=6>,@]MX[.V^P_2#F" M%^P?H,T$VBP!4XELCKOCU?"^ZK/=EXTGA4K1BT/6<4T/NZVHZQWU);_/6X_T45&0S[.;06% M9?_Z>-P.HE72'3U2TPZV8-I?N'59C!5S]DGIF824D.&<$ERSC%'>&Z4*XF'7C;@Q0D("UW,QI2,$_ M@8OCA4R+;2DJ@TM*,FD3Z(DPF+IQF,+IJ$D*ALURD>3,UO1K.7\&!H(0VD A MK,3$*M3$)WL#MD0RH=5);HFJZ12W.<5I*8OGJV9XK"#9_3M! BP3"MU 'EV: MO8T(P>'8;5;ZA<(01/\C=>-U(NL49:)K5VS<1E@(BN@2/4.@(K!A%;9 37"8 MO;8T C,5)+A-(VJ) Q J&OWIEK-.GX3;G&52SVR#(P,382M#:853H]<;M6RO MP,$VRMS0]K$B8F\+B+BX8K[G3R^I_!W9X/20MRC.=)8)O-VQ+YQQSQDWX-R( M;A&Q!#(W \1.+(7-:08-*Y!FB&KH'O5/I+8USB,",EIZ?Y9&)Y!BLV4[Z+X4 M$ _>1Z>724@*T?X.>(6B_72US3<**GF4!Q8MR(@1 M5O#F_4_*?<[*V9J5,UR9+'$=ECB.4M_]D_^KJ+M[$VS[KO%AX<:W +<4+-:B M:&-'\'G]> M^W; %F\=;!MSP0W,;WB$:JA AFW*2-RQ&$@L=" MBFI.^6[=LA0 #AW.\1Z[5X:N5%*.IB_#ALK:E @\Z_)SDFB3.@5<334!A6E7 M(OZP!TH"-@W!>M%C# - E$B,CQEER190!E,N:Q?WY +(,CK53M%X=DU]LDRP M&Q"9OUU?LSA4X40D(>LKHUC7U>TJ;$*U?#$:J.S+[JZE6=P4E"Y0@BE0GQ$) M?\3 2+=!/][D-UU'QZY07KB>]0"Y!^M0 M-)4AORT$JV6">VT+;"#GH:A,)L M@I+" 9SMW#8G0[ A(UP;'G3':/;"ZY5SNTBNQ"4.G) ZDG4F M"00XQZ/A)Y#A!'EM?/O+K?1YB/PV"OW]KUKHNTZ_7Z=!.Q8Q 3- YAHY(B0#T8,A/B[IY!OP3 M)1Q?3+B4X\H@]_"H.<#?"Q>AQ/7GS#4LP5.<:&%!$K=C*%1/. =Q@$5.VZ<] MBSG/U@5Z$2WK=A,(>NVSCL>>TK9145/FR@R&8!N= XXYT+WNB5S 0=NSOE!3 M+:= U*_X)#Q8-(%LH"BEG@/VSG+MZ85?01FB8CNIL;O.7RNOS&8BK7)O^];1 MN')U> )2ECRE^OMUJ]]R][;D27/OWJ:\;OG7*:U&4HRP M-)M)2\M#!L+D9^ M"?13O^N7\:ZJC+_ JY1-@\Q*EZVKJNU'W8.7ST9!.O8/(P25T@K8TU\/Z8']X+WNANX(G*(]""788KH+OE%=MG8_OJ@N18>M0WS$6* MP;."_"LJW/T6RLV)W!P/Y8",!A7NM6VZD4_V#KK1WO]]\K ^P2OSR$)G<\=< MS0[1%_GJEMQP9WKX%J/"/5)C3_ONWQ;M_>#&[=G>M7?"WRO4']STOV)A,F3' MI1'20WRPWV941VP;ZNO!^MW9^QK,8\-Z1XVI[TP(U#44%5H^<=_W0%+3@RSV M;SR1LO<&#Q3$D:Y4/\D%9.QL4?.]\\?63>(*+ZC2"Y]0W?J5T,.6YU?XMZE7 M_Z:/O!I/H(JO6U'KB*U8;7UY3#._UN=4SGC>/$$)Y]P??PC6V;:-QKE97^3_ M'//DT\3H6J54Z&LS#-$^8B%>O<'P_EIW, 5]B\3(-N$>>U9.(#_C5G*S1.6X MY[X9I'VZSP__!U!+ P04 " #2A)E.L7NW^:P% #:'0 &P &9I>"TR M,#$Y,#,S,65X,S(Q-#1D-F$X+FAT;>U9ZT_C.!#_S$K[/\P5[5-MFK04:%J0 MNJ6K15H>2XMT]VGE) ZQ+K6SCDOI_?4WMA-H"Q7<+H_E!-#BQ/8\?_:,Q]T_ M:K4OHX.O$(EP,J9<02@I432"*5,)C$26$0X'5$J6IO!)LNB, K0=SW&=[6:M MMOOZ51=)](M)@ONP46^TZ@W7:T/3=]N^Z\'Q@1V8J'&*_]>Z"261;JQU%5,I M-2VFL?,]U M&NT-S]O:W-AR6]O;;SI%KV1GR4W=E=UN'6G=)T$C>K9(S'=9H- MQ^O6]2BK23U;J=&\(B$"A\JGUJ0_.!GM?][O]T;[1X=P?'HR/.T=CF!T]&PU M\K;AU!DZ?0>&@[[6RGK):[;<9ZM3;PB]O:/CT6#O)UQTXS+Z/?1:\%#;W82C MSS#Z,H!A[^13[W P?+N^W7#;G:,_OP[^@EY_A/UV;,-U&Q]_3G_&(]3=;VYF MC[N-5';W.82"A ^_UO+?K%Q@Q^ATE70\:<*)(>8I64PT^.'-)Q(IAA:@_ (!A=A0CB&-&0\9GFN ME<$_/3+"@ 8)E1156)#1:G8I8A7VJSHP8I@<./"5<%J%8TESIEUCF/031F-D MA:P5.Z=P%,8G!BY3.H!<:]VCX57$44?Y_!2%L+2,1:D^ 1<^Q M"O_*]PBM5$ VGJ2(WQ"]DFJ87$)'TA\3)JE.DG)MN 5C>\WW!-$JP6N]CSY8 M!V5(("1!BH H_7"%ODOD%6[PVLV-CH;+,W5"XYZXC14@*3HJCQ#[^15,RMFG/!0OT>"$3.D];K$ M49/4&%]D5!J6^=*B=&[RQERV.&612JQU,9E4VMFXC-,T(U'$^-E.Q:V8YSPC M8?EL@M9.Q4:M2DDI$#*BLA:*-"593OVRT;$LT!.N8]E89RAI&]B*X+R@J416 M612MM>EL8&):4,=^WT/(<,$IK.^U]2^4G3;E7=4;"*7$>'5_D1)?ZRX!B,(C ME J[^'.P6I&W_#1Z%QF*S/',' O6 ADE*LR) M);J33S::3JMQ'SYYL?F5S;$EGVAIK'+#(QA^Q59]ZVZ]ASNE#[T,3_5%$MJR M.=-O@.JYG287*8M@W34_S]G>];R^F",^()(?&JR+J8;W)/9\F"WX9KC][Q;_ M(A #"?7=TI*W[LBZRV<*#1LBI3N=<^X"=6SHW*FHQZTL9CQN2KL LEL++2^R MO5S5P\)'+I_&?#DUN<^AJM-Y>Y-7+$,Z&0?I"2\.].@%]G4DQX M5)M_?7F\U%%+WV\D\I9-%Y&@,?2^%89IQ MDMKC/Z^BO!-!,+M>1TM(#@'%\9D4YTR7&I68KQ.8^#?5 M5V2!+A0550NDM#PFGDC.\N2*P%T*DA*8RK6H<0R3#-]H66FNEJL3#W2;5:8% MZ,6=BE?9A;F(?G,Q1,]\JAL)@R_KN4((L^)>ORJL<]\VTFOXQI+.NVM+M,@L M.["TV&&INS"%KNN!MDWQC#US]:9W2XN[6S>7HUI/<\_Z+U!+ P04 " #2 MA)E.C9+![[\% "<( &P &9I>"TR,#$Y,#,S,65X,S(R86$V83$R+FAT M;>U:6U/;.A!^IC/]#WO"]#J)8SND$">K(MAQKZEBNK)#D M_/JSDNR0!!AZA3(%",A>:;67;[7K-9T_:K5WPZ/W$/)@,J:IA$!0(FD(4R9C M&/(L(RD<42%8DL!;P<(1!6A9CF5;.XU:;>_IDPZRZ!6+>.K!5MUMUEW;:4'# MLUN>W833(S,QEN,$_VYT8DI"-=CH2"83JH<;$9M][,\:[D=74^H+4J=>SN_X M/)SO=4)V ;F<)W2W,B9BQ-):0B/I.;;EMK8<9_O-UK;=W-EYUBZH@HWBZ\B5 MO4X=>?U(AEKT;)699V<2U,=Q,]F6="9K)&&CU--LV@E+:2VF!4O[63OBJ:Q% M9,R2N3=D8YK#,9W"&1^3M*JOJSD5+#+S_D\"7%-?Q8SG\GGJ9]G[89KN9VZFF4TJ6*^->GU MSX:'!X>][O#PY!A.S\\&Y]WC(0Q/'JQ&S@Z<6P.K9\&@WU-:&2\YC:;]8'7J M#J"[?W(Z[.]_@XNN#:-?0Z\5#[7L-W!R ,-W?1ATS]YVC_N#YYL[KMUJG_SS MOO\O='M#I)NYKFV[K[]-?Y:&J+O7>)/=[3%2V3M,(>!I2@/)>&IRA8PI?)@0 M@;Y(YG!&,RXD\ AZ?!RIX6">2SK.X7S0K1K-#]/ @I=JW?/-&6:,7AOG8KZ9 MF\O]]BM,*'# Q;C O5T8\0,@1[WA9[,A4+1$"$=$!#$TG"JH_%,%DD/$DC*9 MJ?D#&DP$DPRM0=(0^K,@)BFF--QXS/)<*8,_:F:("0UB*BBJL"*CT6PA8A4. MJ_ W9D=&QO GY6)$J\@7]Y'L@L)?+*!P*FC.E*OTIKV8T0@.6$K2@)$$3J(( M)PEE*[5/88,JX#W)(AQD$Y%/"*Z6'"Z/!)2@NZW/ JTH"7FF4O#RY('QSR4F MBRT&1/@DI7F)R5E"Y] -M+L4'*LXBTCO:T$)V^O(A-H]8-.QC,+?\WN(5BH@ M'$T2Q'. 7DD4;!90$O3SA FJBJ9<&6[%V$[C)4'T"G":+\-7QD$9,@B(GR ^ M2C]:!.<'^0$UB*H3XF^IC!$T<29!_B76V_TD.$J2,G MPRA3SJ@J,L%R%9>A AAA2,C0.WE5KXH6D8<,0Z99J[C$69-$&Y]G5.@M\[6@ MM*[SQE+U.&6AC(UUL;B4RMD8QDF2D3!DZ6BW8E?T=9Z1H+S626RW8K)8I>3D M41%,"WT3UN91\?#.]*)&OD$L HO (I<(NWA*L;JACOAF] MJQOR"RJBA$^]F(48'$O87A'A]N2OUSAZC0%K@8P2%?H))OPBGVQM6Z[[Z).[ M]0F.Q ,+G3MPS U'_:VG_3Z>M!YT,\&2HJAMFAKLUXJ*G"+!))I+_RGZHY_6U6O1W#8'5 LBY%V_\G,1P/8A_CKT?8 BL MP=\74-\K77!K E$DCTGT2*!;8U__%/3+G2U=TTS52UY? MM3:+/AMR6I\3343*\OB2P9>TU 4PF2M1HP@F&=Y1LM)W[]3*^WJGIO%E/%<(H2/NZ9/".C_:1BJ&KVU"OK@2HL531QO6 M@AW6R(4I5"<:E&V*:Z0L=4A?K 5WIZY?[RL]]7\*_ ]02P,$% @ TH29 M3I>$<9S)I@$ Y%82 !0 !F:7@M,C Q.3 S,S%X,3!Q+FAT;>R]:7>JRMHN M_/W]%;S9SW/V7&-H)HV"9JTUST!%8^Q%HLD7!D*A*(+2V/WZ4X5-3"")B3&! MA+W'S+(IB[NOJ^ZJNNN?_[N8>$0A=F/VL7+ARC - M<(P8X'_^&3I0^% !AOWOQ=!QIE>_?R\6B\L%=6E:@]]$-IO]O41M+C:-KA2@ M[1LN^Y9^:0/YV4[8&*[MH0^ M0;_+XM3#KS3;3)$$\^B7WL,0322.4[^W+?8_6#[7EH!M#5TS !+40W,GN/U# MT]^.)1DVI'4B.5 KJ*=T$B>3)'W021(R_ZBCG3!>ZR=S("+8N!256R^UXC^&& EEP[.9"DJ;_Y]HN GZ#'*D],84_% MYLM'39W INE-4^>PJ?:2V@W;D0QY+XRE3WB/#!=]NV\::."P5^)WKU;EY2&8 M2$E?_[;VEE_]^6<().7//Q/@2)AL&@XP(-\.6#J_-SZ$NDJ"F:O-_[W8?I]T M5E/XO-]__G$T1P=__OF]^^^FK[ZIK/[\HVASS'96.OCW8B)9 \U(.N;TBL*G MSM_PJ;_AUX_:*)H]U:65%PE0 VUYA7H#UN:EIBC \%["!G5W BQ-WM"[=-K( MO@JNY9FK2,#_(^\4.Z9(B=3FS06F*?]>7'N]B->U;$?@5D6 ",Z0)(@1H5^P$& K\YQ1U:7#Q1Y5T&_SS^]'#/XB60J9$FZ32,812J3E9 MMPJ&T>+90UKRKF4A2C1;EO0[(%FIL M*I2+W7&*6),*WKA)ENS[F]5DF Q480B70JZYJP]&8;@UP]K[- M$/=6 &$@W.0V-;2Z[3E7EZ))!&HW,K)/G2M3WP MT]@& \U&<,>IPV\N_N0;M6*CW<'X.[[#U7A,X%FL7,^?A\A&:<3D#8XMX3,+ M,&.JNTJNEP$JYB>2KN=<&\(SVSZK:G$[7V\R9D +PB2A'#)OC(T'6(=RT4PZ/=CVHZ@E2"WQ&8>$7MG]I?NU%Z;8ZU5 MJRTHF5=:Y=;7$?M4_YE#_4/2%2!KT,(@UDRF'S'2TA;3^[1)]_#D'-1'N7*. MHZ@ 1E#(EIVN!L./:SLF5#5KV\"!FO*S MK%BI'M_H%IIK.AJ+=,FV MV:5FB] CQ;WI./"5K2E@TV^CKVL#[Y5= Y,^L![)0U2F@^%M9MX::T9QE,T0 MS76.\LEC__ :D&S7\IP;R48PS+X-_1_%@;(Q=1V[#2!O,J3.>R)\!X=+2%1. MLC5[3W?9MMU3K/O$X%9,]@M)BLTT!5J_6;MR/RLL.SYSKL(8"T!CZHG1&%0A MYX"#LH9!3@8-M3%%3^N8W!)^H%S\012_(18_"7(BG-N*;0EJSU,G>E?3#&WB M3@)T1FK79,?JM<%8*D_8Z[M4(3NHLL?0C^)Q0]U9-XS,U'.1^9TT2\MG:,XT MUY.;&ZIF"!7<)7O+HCP#%5_@/HIF C]E.-D[5 'TG3*<_%H>[MU[$>_V34O1 M# A,4 L8DIN6.=%L&V*7NNF '6\'$89ZS&DIW>[/E%$?GS6:PX(SI^^;,Y]' MH:Y0O*^:DF$WI17RH*!80M)$&D+?9T/*$7IZ1-U]]496%]2,QTNS=)Y?='LT ME_3IX;$&'N+-!OLBR.N%@(9:U-"(K\%)GVEKB"[/'6P-KLB]^Z]TR.KC&"$]L;/HFG5P0(B2]/U0B'4G %?RALPXJEX_ZM] M(\B-H4B68@M3!?(%^Z9Q,D#+C\>1B=.<*,[$=O$*NZY.;49;9;J^&/)8CFUM M,(0R$VS@C25!ZF;26?PE=1\'F!ZH+M>+C\C6FMDV4>LJ,C?)3EMRU168B1^2 M-"V@ J@?A7=,>

BQUYR[> MST\S=-YGL)]#<;!+]0NBX%8R4E?0REIY5#8'5-Y]A4)O,/U,+%KJ4.JD+Q1% M/&G,-%!H-XQ9SS=F?!"1OQ_GZ;Q.T:AI__D'936O;"_U"/O$O"SGU=#+"\/H MF]PETR^7MG*Q_1;E&/^]L+7)5/>>]KB+S=,.'^&]M4W7\MYY6=FKK9P\B>R1 M B6262@IG E&7$U=,M!D\&%H0$*!$W_8\Q"Z,XPN TN:H ZVX6+W-.#-UG;O M(!*#[U4-6)A'-0C,NN?+E<=)CJ<_WG5G@P$*9YNW"GS81[([A_Q^I. @?3\' &+]?HA^-PL(3H#*=M^\5V49 MD< W\]189>=260:MYQ'X1ZGL(:3&*CN3RI[&T--5]C0P[O$]-W,1ZCB.Y>4"5IX4PJVZ%QEZF*,$%;:!(VD&4#C),B!*MK^%%H.9^MZ* M9!7%FWW#>;BD*64C+TTU1]*_A3Y?Y"T::GV8D\4Q]M-B;&:W)^*+=1@'V>^B MR3C*AEJO5!QDOR#(G@7_Q#'V\V-L*!09A]A0JW4_=#)QC/VT&,N<"?Z\58=Q MD/TNFHRC;*CUZL\"M<$<&"YH@PDT5K2Q 5C>J1RT$VF_O0OM2),=H'2T"6S2 M4'GXJ:UNUF3YW4+;/@TO0R+%3:HCE<2)K]$Z6MI5GE?YQ[(-63Q/QY>*B?KY M\R#-?WZ?]TE[.SX08&AR7D=N:(P7ACY\>1WID/#,[^EW9U]>_]1M62$UA#>Q M?#!B'DDA7^8G_B3 MCZ=M1 VI+_B9VH;&H[B*1L(1FGKF*%5ZATB!P@-#,RV("$Q]#KU] MWMIHJO-XSLZ7X$@EB4)G!(^/]\=&\.E&D#G>"#+G/NRTJQK"RE!"FZ.Z M^U$A)P^O31V=D[3+AKSA_J7Y[^ZKP[/+X;:/9[C?C!A![#]K$R=-K_?'W'V" MBP;.?)M9'7S669B=H68I+1>Z +"0P?\X,SM&'+'9?:S9Q3;WBBQB@_M0@^-1 M]9OW6=S!PHB"FGT/JWM&(.<:0[WO!>,!FO7-;6N[Q24MO7(<]+O*2[5UB*AA*/V\YRL(WU>ZR3'^SN M_(+E\7.?AHS]\/Q^^%EK0VC01MSGS3DJSNNT4>/]<.[[QEOP[BS,XP?S%UU@ MW^I6LC0DU/9N"_KN"\ZU3,74=1F#R+\9HX6CV9A=JJ?-YY]6T>+1[2/<[Z&$8]G)[G97H#?S,GBT2R\#O7C MQK+OZF3Q2/9QCERD[QL@<)?C,WB\>R$+O4CQO,OJV;Q:/9R\=E7MH( MPP]-537 4W=[=@"JFH9B&F5(@]67C'%#1??5**A9M9QKM,/I+D=M@7DLB7,. M!T?)\%L;ZC-'>LH&U(FDLU/$L?>#S?W2>7?BZO#]''!05K+3L23CP(YW/\]+ MNHS: 44P%&!M2U:57$U!9:K*QN;'.:":%NB84TVF<3KE"$ M8/_R&DI0LN3AJ@JA@OY(C_LVFPNRO0;DDVG#09<'-VP7+3!S@2&O@OL[:&GO M+]H.MZD<)[H'FWE!=J=/-(X0>@ E+T@]LG@@MNC8HC_3HL^$D#XT1!.Q0;_; MH(F?9M"1"-&Q1<<6_=4A.@R5H#]CKA(CECA",H:\LKKU M2AG6AU+\D&Q%TUV4+>=1S(%" 3:WE'57 4K1,B=HIN\ZF_)ZZJZF5A-8_%"R M8'P+[F!O%]QDJILK %A#J9L&V+[S\@.-*>HSG ;S[K*P1YOB&06_,>^.^W3[DX+^W 0F\37FL17!,,/C1+Q M?:<_.B+$ZO]FWH]F!$W+5%S9:5@\L.::?'!QXH M KUCN>AJQ^UN7BVLE7(09 ]B<)L >0>'WSHZO,4\:I(&.S+0SL$VF$J:!:<8 M\(4N;6X#W#:/HEF\A;-O90[[R\*.3X-V)7T,K,[RH-3X)117V;&[0U/75XV% M 13>[=MPEBI9>R\Z+)IH>XL$#C>'?SJKZ>,-YD^^#ZD3L\Q/"/B M1^46_3(^7SKX\(K*LZ:# T/7SK"V7T(-;+_UBJ2%T[Z>#U<[%;[$S;<*46^= MSNQD\,6'9H/8V6*9('YBU;^@^CP$??;!6 ^=IV8: MFF.&?^W_>'LX@LF?9"2;)9"1:>5=VS$GP'JP"N\6';T-()FP#R1+0^'0H2QT MNEOV:9=D0&DF\+/N9R[+1,H!X6?:[*C9> MEOU6JHZ793\G51-"U%DV+,NR(360>%DV5G>\+/M=5!PO MRW[ULFP(C2)>EOV&"HV793]O638,)O!Z\43-"*@35S5M&\D*"@\8L@;LW*HN M.:X%&NK#QX]+[/+P6V>5@R YO*;RM,;;(>_/FL'1(\SQ0CL\DOU8:F,2635+XZ1)ZKB9YP,W'"*>S\)T"%!X8FFF]>.5NV.S^I3N$$5H_GK./ M])#SW8*Q5VD(K#P<==H#IQKOO>$[;.9]_OG%QU^^'>D1Y;1)Q7T5>&1YDEB?/R&%\\F9PV.F;.AVFC:8NI8\E&Q@LZH#K"+H M6ZYDK4@2DDFSAM(P&E8.J*8%"D#VNJ8(^!433AN,(CC^D%G=!^CR6[G?&Q;=O6HIFP(>A%NC$A65.--LVK57==$)ZX:\_Q3?N'!?54\=']<.F'Q_5BY)FW4JZ"W*K_WQW)F<[V@3Z4D/= M_V+_HJ#9LFZBW\:F'23$!TMZBQ1C(W^GD3\@MCALQV'[2RSZ"=X^KT7'<3N. MV]_!RE,B289S9W$J29+GSM*'@.DOR:6YAK81CP!?$.1>#).-.?_9/GXH6<#> M=;'[;O<>]?%,?_X.-=M,D01S)?"%M_='^?M#4W7- 9.W=Y9ZCMLI?/GV[M+! MM#6FR.C>WAW]T)VBS:$I'3:KNQ,( 1S3>J=T?;]''Q: 84Y0$M'?[;%6\*B+ MWX^I?\3Q;R@9V)?I6C*P-V^'0%(\3X$_^/,/_(/9SDJ'#C>1ELF%ICC#*P+' M__?OJ:2@?$Q2!ZH#/[FDT@^?6=I@^/"AN4GIP >ABCMS\/?%DWZM@68D'7-Z M11*7]-3Y&Y*>' *OCQ1QR:3A1P[GZK0B]*JEXQKZO_=N 88F-UL,#: MYD0R_ONW]ZVMK0'\(>K6>] 5?(FA?]3V!>I0PH864/^]^$_'E.%;>RH9[WK$ MYBWZX95A6A-)WWRRV#"S_0CY?5+2M8%QA80'G]^1^CK 3!5#IS?1R/7/;T0" M5(($_TT#E"'K0+*N^J8S_/NI7H+$_7:!D9 ;73/ 3A$$?+]3+WRL8TX>?82T MA]ZC!#BP]BTND8QM4]<4[#^X][]="_0#*N#K!R7]_401?4D>#RS3-92D;.JF M=05_HJKP)P=4PU_--5OK>^M 5T--@:$?]O-__I,A<>KOO52G[Y7(@>ID@(J] MOD#OPT_)X\F2O,@CRD %LJ*F15E6%#&%RVFQGY)28EK-9E0@ 84FTA<;\S@/ M(WT_%P2],_"M.?=-78%MA7JYPQ4POL-V./Z?W_USRO<-9/%<7FB7.V6.Q]AZ M >-Z^6NV7N*P?*-6*_-\N5$_@5;\%5J] $,_Q)?'=#\FM"O90^A"CFDDL,)E M_A(C\70J>T9!ODS+N;O8L@E*,*[HTM0&5[L7?S]YR':L\L8\R77,W0>; <_[Y-&X M2'GCV>-A3)7VK5!@^=UU0ERGR?P_]9/LX M3]7493J[&^^\ET\&WX/'H5)9JFXN=O%I]SZYL. $JV\!:9Q<0#F].J#OOY?Z M,+:[#O@;!7O\ T9Q\M$H_GS ?<,XL!E9MW\=Y061;\:T+0\9^C+-A$KJVR'7 M(\6G@$\3/'Z"Y'\[%O*$-[F#2V!;7>X=O4.:W/-1KN#-84V+[#U#M9I8!#1=2!LV^ /@DI@C39& MI'\I?V&-(M:YYK #R+>'>VR^ [_>_B9+I1Y[V:'!P3$?R?#?"_+B=>-#D30: MIO>2N"&/LQGNR&[&\SR+OMR"IMPH^C&/9Q9\"5V6[;)OS8F3?PG[_^>4=I,'@ M<&:B:]2PD6MIMJ)YE==A4-LT*ANR:4W-S8P"M6U8 \G0UM[[O]Z$ISY'CF\; M;![+B*&3>)JD4QGF0$KER_8E?XEQDZENKH"U%,$"(> # MU/.+V-(YA'I$$%+!)%V'+6#H@ #(VE1741 @[H-M ]@QNN8%^L]^Q@+CRV;& M E6.GL"CG6)PF($\<4N(HHP!P%B(N^#7:+*"*:YG9J@I1.@R\*1+D)O^O+R& MC?V"G:KPG^W*0\P>F@B)[1"[,Y2H#8^_&6F[\2F&0HV"_R@.4^ M '"$+EM'^H:JGFB. RT$NKGL6*:!(KJ^P@",[BNL MC,*%Y-4-P0J2(V%%9$1/O."ACZEKV2[J&G[1=O5]F$PC0X>QQ=UDR,MM8V>H>=.-*9IN?(I[;+C8&SR,Q[$E1\62H:U(F [[ I@DR]"2 M(>"KVIGR1WP]7A&'5YN&\(QW$FBTN*J#(X*:9P1A'[*3HM9OL9 M.@-22II)9;;[AK:_2#.9C*K )BE9A7] )B5F^BE2E%(J1 $@33 ,M?W%NQ(* MGYTM(/'+S-G3T>>8.1XYN2'H2SK]G?G+7M+4-^:/)"Y3]#?GCX@J?V_)UGQ& MH,E^S"RZBL:U#1@Y&+LV'W@#V!OPTQ/$\.F;%CXC_F5?3^^P3S' )XKPU/7& MSPBQ1XBP'@3O(B3&SXCD1XB1?PYL1DR4YQXTCA E]QP4#X<@PS8Z>-VG(PR>WW=.Y!P%B.H7])? M@6DC+,H)R0!%OCTA:0^!KN]TC?V"&O32@IOM-(^6@1YRY5X:[I,RST&B#$_F M^;F)W(=GGM%VQ.%N=1.9\N;\,V:ZCN<$R!NV!J[9MHOF$-NE4:C:B8E8,J$Y M2%ZFEYU:FHZ1Y&93L+?(L-WA7/3646#SPRW.3TLR0 N1-0BX[7\ORO7BXRW. MD$#%=+8-#G8WDY.*2&5&@!E7!$Z4UG*JI;*#P]W-G%>-(.]1ZU46Y3T.&P\, M7F VC/RP.7Z!H9/;'G&[4@$4G2?%5WOY MJ5@J01*91"9-_ 7#P?OWW1TS"F2.'P6^Z+!RT&GD@\/*Q'1Y]%'E=V6@3I6] M%Q#19]B+%#'OH$C1[*DNK9!I;1/\[]'*,;MF@FE&7_JV+;SM1'6*4%203LLB MH4J2F&)(0NQ3#! I5:$(E:(E0LYNUSD.-W$='K +.'_NV<'!6?PMIYN)T0 D M-_O<)%0=^$K2%]+*WF(V)GL)8?G&O*[VIN25)-B43< .7B/!O+4< YD-*,?@ M?7AB.8:4;[4FKL9P]FH,IVXX"]K.C#W:R;QQDXW WU=6X%0:R_4"UT/'"R"E M->SA[/99MEF_1@RDP3O*L#V0AG&0N )68]OYZR='BLXZ:K[E/.VG[/<^W-=G M[:/ZB:NWCXZT9LG+S+/S]T_8;QR.<]1OF#._8XLW<^ H1%NZWWDV/WU) M1<2 WK%=_&V^\@%0^I)D?"#S-8R9/0&O?90-OYGU3!#GKQ[5.9#%2^/)9D+N M__N>0_\;^WY2:>FEV4FH)=.$./G]IT\_RP.>6>9X85%C#V*;$$&4B^4Z6\^7 MV6JYCN -B\Y/BB1)T>FS ]R7-+=%O$W)\) M#OXJ5PW6T0%?'C3Y^(HE[_315],')\L#?[L\B._D<-@^Z#SUOK(#)L3>FO=7 M^MABALRDLIDP>!\B<9M=]GG? \&Q\WT8 (S]Z]W^13[UKWRCSC>JY0+;X0HY MM@H'.8Z_YK@.+])4FLS287"PO&EXH=?;9I23=.A; ..' ,1>=9Q7'2PT&::W MS!0[VEN&]4"U^:YEE#NW(GI3(HD0H$D7_ [;UUY"*? B, MONNE?HSK%;@ZSQ7JC0Z'QL #5]SG-J%/AL3U('=HYR2Z=-=&VR$?>6.<7?F6 MGIC^EIX8F- D:Y(A#3:6BR[>I*AL(:DKVS--M5B&#SQ(;-);C.;#X3O M=VD^,. =B]^Q@$;*!T]%/KW9.HW:M('MZO%\\MNY,-I3\U-\F&JAO?J:XVTA M@$8-W^K;=_N[],+EP]36AP\)]]SQ@'3LX1Y &Y/ZINM@-QYY.%SM> MJ!S/OT.FW.A<<^W#[3$9AL;3H?"S@_TQNPTR#>]86;PY)K+K\^0/PII$%0PD MW1L.O-I\MIC.DG@J%&L6_MTO'K'8 ;6Q:T5_]/I)WL:BN4Y1DAW3LD6*"<>: M_(&?L5M'0V1B6SIC'XM]+$(^1@K&YC@_L(#"2SJP376SG/U0RCE<7K?+@!X2 MCGF4HS3FAO;#.M1H B?88%.4W!L*8Q^-?31*/DISRR%4JV.+3(:F&")<_DAO M_7%'9.QGO1T9^?[ MZW&=X1,<'5B,A4P=Q-T [SB3?\8*,JCJWW,E9,CL M0PD95/;E(H">N(1,9$O(;)SJ]:/%7U/*!=&%[8\2[^C##@@\\TV?SU>B]%'[ MIBCV^FG2]PO\B34_E#9\^]6QB$R,N-Q>!.L7AF?/F@,%*/L%1&GI51:)C(B#6@*#O@4)68)@A1IG$YE2 E(J3Z^ M%?^V^)0LKC7+$28H_%&[))R--^NDF/!R+I[S,OM=@RWED:XTE+FE"]A=SD M:PO8TM?G^J8PR4S-PGB<9,R"RJ452;U=B)2_3U%5S4Q/IKOC"MF=]B7#E?1Z M2TR)/MX=61/LRF#8Q8%<8\A6KEVYAW2F_2T'Q4[_?L;6#;S15G!YT9II:;HE MTOZ6W<:L)]](/1UWB6*^5"PD*U9S 5OZZ*0)L=Z_U>XFXTF;U12AHG;I) M; M^G@?$^-D,I,D>:XKB:6:,,BV<*$E,OZG2URS;C8,(2V &RYYW^W?E!G(4<;? MDA^:U].DEK>X56Y$SY;+='%,#<2LO^7=@JZ1UZ7>/9X4^=6U;A3RFMD2"=S? M5#![ W(T(BNXIKJWZ_6@U)%-:"*$OZE64&IUI=AL"[Q0I;W3O9**]7,QJ#FQ*^9NVJ.PJW9Y) "_9@_MBOM%R[M:0@ #E M Z>;&>>NA3'.MU*-[KID<\L<-/P [1>G36&PIE-+SJTU1F8J-XN7Y:Z0@;0&J!4' M28-5[!(IK%HC]E:>*K-Q$:H@0*_I?J6;5LK2B"-KG+#J]P;&^![V&J#8)M]- M9XUVVL5A=%/4OK3.WJZ@\P4H5G6=5&EYYZ2%$M]OYZQ.GJ7Y%FKJ,^N12*5M MQFDNQLFY,.G?-Z];'%NS>5I6") M+:%+MM,TN)\MUBU(:X 1FKPD#=U;G1^#7&O47N,I7:E#8048X7HNWN66)5S# M)8:82)V9/C*@99$!EC5=LWV[01C6>&4RXKBHI.HD#GL-L*R1S-\Z^DTS/0:C MW'R]D.N=Q13V&F!9*:B7VB!M<'ARU2++JU)%(<:PUP#+(BKSF]PR1:ZY"7 ' M'6YY6[BS6B(58%D94FCFZ^5QH -6+==JG+?F@LPN+4K M=[=KA:LS+&KJ<\/;MDIRX^8@CT.?D89*1:VEG>B^MI0$!FP8H5KL1;NEFL4'CW9M"I;>@ M86$O!4L2(ITP1(98!(I_J,F$HK&5$"&5P$BJHJ9(;(IAG&-\K<9IU)=@TX M0:O?#Z:">UMAARSJG'K:5!2KE1HNS]TQV6:79.4ZXTZR7E.?)B:901X RK6% MB3 ;U*?7]G)6@]P%&-B];% KHT7.QUKQNC+$S613+$/N @RLF"H:;,Y94OA, MK[23DVG.S53A&!]@8(L%JZ?U]/16T/*RE;W1Q4JY!IL&&)A*,^L62$D*OBKH M:EI=ZN7%@(6&[V_JJO-;T;DDI-)_#+-X-D,2OR^ MHL&7'MV+J M5:0_"=.?]XJ;]RXO/3&\-_']7I =;DE OM&'_UZ0%Q\K%?R2_/C"X:>LEM8D M2QYZMTH\5PW\@\SA92 4FT,XS*$ 9.!==79VBWAEO JQ0<1#1Z=NG&#(;K^!U7WDM$+,'.U MN:1OCMC&4]Z(H'8?POF?: 'O)WF:IQ5@,.I1"0SL'VV)ZHH4+4GV[N"084_P MUVU488&UQ88J4NC@$UJ3O, 4(&L32;?_O4A2%]BF/O*_%]K2N3+(<]A#07]AWMP M&];)2Y:U@O*XE7077& VE"S\%?RY:V@;(@7X@B!)5'\M05#X/[\?,Q1/F&/7 MBZSK$>36]S)O][U\JW);K2U >2SUV%%GLK *]3XZ'TZ?P?=2Z01-?J[O11K. MA JUY#1=!PHFR;)7[0&S@ R@%?1UD,!T8-N8I.OFPKM9&YH=IIANWU%=_>$' MIHK]S_G&D3HT0W$ZMKO#12F?&I/#NUM"TR?M=FOPU)+9':%%TRILR62W5+;W M7.5=RX(6_K)%IQ,9.NTS: _<'<'KNQW78S9W/Q^(^?[-6N [&7S!YVJW!MDZ M+[/9C(_9!+0$>PIDM"%=7\69G;",BKO=,B&<]88)?"['4QXG^YHZSM?O'2XE M]_3J0D ??L5\9]%),@@SPFSBO%'M*M+ B7[AWY]1HS>'= MD71=S"L%+['9,@,G$^*YKYK,W] MC0\0)7#U[2= D2C%ON\7XDX %JS8MGM]J3?CM'$W*:3O&FMEP8I9/["H>Y%- M 0.6/^+<1.QGD?&S4^"(.6G*K=EL M1N+ 89INDYR/DM?>'08^//(F1TL1QRV>Q-F(L&4CFA:82IJ"@>44&/;V]E\3 MI2CBM$3XP][WBVXGH(AFI3Q;"H"WQWDGAR_,.^4^AX(;X4<16ZOG-D;/&HJ7 ME&-M&SC'S;J81(HYRWIQ)"%$[#)1!00-!?3$SAW#CE? M*_31KHV$UCD,SY M<++/T(ET*A4G*B*9J,B;MK/!!L!VH 4Y +Z2+ ,^TL8T \('&6W%-54,+6FA M3^-\QEGG69]8'>[KYF&?S618D$RGKT['6F\^QV=$S^2*9D51[[Q+X?PGD[9K MQUW-&>9=&\II&Y/AM.VHJ)Q)D)G/G;Q%$N+$WONSO/<44#5EKHU&OS=OW#G*3=-S7__AIE/=E\ 3)/&Y.[ B#;="@JHR7H<=TY%T3-[H&9,\*!VG M7>(Y9*3 2B7==8WJY"[-Y4&Z-^S0XG63':!K:7U@Y0V3Q72:29 ,&:=88O<( M@7N<@@;8;H\=$\O"2)@H&2 L=:;2I+UKFWUHX"W)%#R;8/#C]H#^I/$]G.D4 MM-#2;C2Y=N<.8^L%C&L)Y6:-JW<26)WKQ*F2>$DZTN'Q!/1P30(E4VO-IEQI M=ENH&^/YG&FQZ*;Z@$4;+C..=@DLFMW6KR5;<%"ZUTJ6LD33(I-)"GA>P]/->S\MF$S3QN9NP(@U? MOAJE5#F6Y[!VN73=23:*20&^\4JGQEF)N!AE2,+B>9,98U;0%+I0YG@FOUP5 M\*;<4P8BD?;#D08,B9(#&:\"R09M1'1#%6S@3>)>V3V")Z@C=\S]!-01.UGH MG Q#'!'D1Z1W(CT>AS:=4&HT"MURM1KG#N(I3(C#R%D'Z]OLHB2-A[R.3^J\ M1.3=WBV)CHT$%' MF::RT'3]E1JM%*JK%Q=IC9WLFSG9*7D"N9ZQ^"[E:./9 MZ!JORW<@OZX,D)?Y\@3'>QF1.6YI+TX*A" I4"YP]4ZY6&9S50XKUSMLO51& M+S>7JCR[A/$3T$:4XMWW"VLG8(=L,W_=9MC[)E=QBAG29#@^([,B$5!_LVPX MDC'0^OIF:F_7@<,M9=U%PC@NXF6)!,XX7R&L"SH^>[#7I!,GXBUS'*8F0IB0*7)%KM[D"UF%[V.X^U3@[ M$9&)4X28CT"0/0&9J(5U%I#3@3R>6&URSF6< 7<'YUL!=3L+0 66!92.M-P$ MV:HF>6K1 (JW==.0C]I#SB12F>,";9SUB)WWVSOO*0BI,EX+TU4'SXSYVA)H MU*TB"*L%\EX?0OHX[Z6IS]W;%&G\]-4PJ=&YYMI8O5%_?#=MG$&)_OFYGW=, M[@2#[J#Q>VBNX"=/7?X M]96Y7 +/X F<^MS%\4A"FMA#?Y"'GH* +*E0S%M@U1 3R_&M5%)&(DMY*+/ MG+]]U45I,I&FXXQ+F#,N!]8G0Q0+K"?,]A_UN@#(0B%ANH+.P)397+E:[I0Y MWCNLRW<:^6I[?#Q&$FL M$-OJC[352 ^:X4PBP#YVRQ8'P^15G#^(EXJCL%0<(>8C.=#&9A^;?3S1_>K\ M_K9D][:LY$1R7,O;5(+*<^NF,4C"^? $4T#?B2>O8=F!'I@"_/+ $:94^SB; MM4H*EW+D2N"4REVK/Q#)@#J356CD'6CC!6CB1U73(Q/,>=8Q(SF*Q]X1 MP30WT[MNBZW22!E74N7U/;^<-M:M%G(/7YK[S>Y!)4@F&R_S1V*&_A0&L+(, M271L;"JMT*VR\50],G,67QB,S[*?!B&,]:) V@/*&E=&>*4PY5;X?1W&R(!B MDSNW:6Z\YLA;R^D$0<0'*6*7^V8N=PHN&;&JPEUG["[7Z"PJ:V?%I[(BBWS. MO_S^'I]CH,_13+P8'\D?:';AGK P.H6GP;1A0"X?>+ M=R= #")?G:7DNDTBP.W=SODG&&#N&61R_@0PHDNDV$25.:X M:M0_"1)$(Y&1VUXL^OBZ4?F%BTGC5$<\[XIT5#T!AZ2D4K;(3C)C0:H69LF, M)C.S^4 D VIC!MU!N(NLJ^,F822>(+-QW!1]T"^D8/I/!$]I/O\8TTY@D5M-FE06R@JTG-L%U+,N3 E9J? M@%*B% N_7\@[ 7/03 TOJ(N,A96LAD@$U-7EHZ>6=H;>!#:SY MBDG01RZQ_ 1 $?M*5.%!*YF?,)U\IXA7"(/A9KU^JS$>(&?QP8/W.PN= MH(X$!3]I[(]&OL,KQ[&_'%Q_2'7%:8U// H>FK(WYSP.'K%Z."= E'QSVK7J M+NCBC8DJ%B1%*K-#&'4#BFMZ_O?6#'.*262IXRI]QXF0V&5_C,N>@I3N[-J2 M[&><]A@8I?:,:"ECYZZ%?#:XA-5;?98B$YDC:\7%J9/PI$X.JU@=B9)^ AB* M9X01A29<>RA.\ESC#I^5F]EJQ:1N5'PAD@'U,-^,2O!L(I.*+R")?20,/G)2 M>>W"8JX:HD8*4O.Z1G4JBUH_,T!.XC_E\E8GH9D$GHYWAT0C6P+[J#;JI62' M:]>P I<+O($LSHK$:\V1"8LG0(?9@%XOM6IG(= C/#O-L_5TO3 0J8 JE(=G M_XZM\LND$JE,G-2(/>Z;>=PI0$3@V"4^N26$L:;[ M')6@J>..W,8YB:_.23S"(E6.Y;G#XEAQ(N+[EOSY?C'Q!!0RJ&IUT+EI=00W MQ64+O0)95^@6ZL^_MC(%EN1 SJM LL%^J]NQT9$F$SAYEIE:)'%'[&GA\S2O M4##Y$1F=2(_+H4T>/+JL])71.DXCQ).:D(25LP[@&;.M+B9E@AK/TGAV?E,S M2F-M(%+DBS>/'MY:>.R5A0DJ\[E']B,YKL>N%RW7.R6?8(ZU>VUT3NC9<=\)!%([&I1=K53\$BV>IM; MSN15B=/H=-TH-O+987&!?.W539?'^AI))E)'[I7^28@CG"F3X'V7\:F4>/;V M769O)P 3=P#F':[C#(5NN24/,_?#CG7#BE1 7=&#./G*UVG[Y^N.EB;BE$AD4B+Y1JU6[M2X M>F=S/V>^4>^4ZR6NGH^3(O$:<,3O4?H)(W9LJS_25B,]Z(5S5@[[>/YVZOA6 MSNA,%2+$?"1#53Q#CLT^-OMXOOKE59V:UG;W!NS7E,<)['_>F9DLUXN;M$A= MLBS1T8O6?35'MCA29<>#&U7&"X7!TYS(_N$\>G93LAH6[Z"2V;>2[H(FL/BA M9(%]N@1_FBZA22B1=R9X'M-KM'E&H(%SC7>ID:+?WH_<66IQ#GIAS I([3SY M )M*5N*].6*/LU=R5Q[3"MT6TI,*T10:289*-@W@*+?LRTQ['-JLZPQ-"YJ7 M\CRSI^KF& YZJ6J[D1/6]7'2N"M/QIULWUB]8F9OXB"=P'$<_3M"9[;7,2;M M>_XP#29M(",9+$Q+L8%Q( !QSA 5I4?="16Y.,VOY]F8.V].)J;QL8"[FQQUKNO+ MV^$X/RSDM9[#,5+%AX0V3_YRM#TC9&G ,H0Z[C+3_G5:4-;ID0^UG$QLB*"V MW!Y5;VBF2W%=P[US[]/-9+[U$L?APME%\5:GK#MBC+M6SNZ5DH9YN_XP\@F< M3&3I;")+!%4]_#R8_2S["Z%77]:&4@.?C(31O>/VB$'&!U-][!^!45-$@B"I M!$7[2\A[B/3LFNVG*VIS?4LI7*5G)-UKPR)K6QUNH'<"@Z^G 'XU M!_HJ7B2(3+8TWD_TP?OVVF,R.QJDZJ0P,3)%/2E,Y55E(%(!U: //-(;$5^I M)4<$C83QLD3L:!%VM%,V[ET+K5F#::Q8H32!II6?C=M3J84\+> RK#![6J2G M:Z&:E74L(-FNM=K-RR3'N\SS_.AR/<@N*X55F^#<5"_=H^9E^1Q@V;G&Z\7!H#+%)XWR<-'.MXUU\2.X(K,).NT_IK/% ME*^#R9^ &:,T8H5]8$*#T:^SPKZI,UYEC;Q=%AJ4RE;(577>YA8B%5!I^Y&_ M'#$<9?$$P?A'I+_B''3L&)_D&*? M-X]E\L[9JJ,EU+Z]6@EW=R54@/D&3Z8 M]E;/R# ))N4_9?$1GA%I3!:-%#H+>T?ZDG1L*FE*4H.6)TTU1]+C_%$\K0U1 MD/S4_%%1K]RV<4>GA>2:(TRJ5JDE*RTQ%5!W^\&!FM!_RD9^XST'D]U7+BDB M( S/QEFEV/V^F?N= E$QOUT+&5'Q,). M#\140''NG;-P6U]A9=F=N#K:#%( JB9KK]7UR:03))V*BVC%/O<-?.X4?))< M]]4%*Q$X!]I2SN#J6N'Z9H&=Y84TV,;W1W\$\E&$&I.[ZRF@*7VS['!YFLOCLZ1<3U7Q M46X /'_U@::W^FLJFTG@ 8M0<1(GW$F<9TJ.>AMKW@::?@(V^H"82L%PHYAN M7P>?$U3_YTQSS4_@(RPPY[I>IRG78%K6M M091(X!D\@5-!9T?B!$_L<)%RN%. RNVUK78&4E/'9\)BS#IJ;=I7%LCC7BI& M^CZ/H\E$^CPIU8CAD]^.!(WKO70=V(X,H"U81U&:.9[0DTTZB*S.$&"2+)L3 M^)@5U UFF Y"/Q;\V, T^(.!Y6W,L1S,5#%G"&R ;-V;,* ,(J9JAF3(FI=C M@A],X$/LY]2R63&[/(VK8XT@#;_TWBT \F5HK;IRK*PESQ%%7 *9=(J0194A M*#%%4Y0HD2HND@I%RBF<9A@E#9__6X+_%&W^YQ_X9T>(K /)0BXRW%*[CV.( MZFVXQO'__9!H]5BU2$1[A+N1$;&Q=8]('ZG^^<@VOA[P,-P(D?3<> "2?0M( MXZ2DPL=>2?I"6MD[[)Z]3.W'H*M]C*8\M(U?DMG_Q0Y>(^Y]]$RD9?) 0-NP MD=2!ZEQM?[;[S O3^P]-VUN(O[* +J%=XZCW1_UZ>G#,Z14)X3>R(_AVRUF* MN$Q]D&*>S#.H!S5 PQI:* #_IV/*099[[",V;]$/8+0N;WZS<5& MNX/Q=WR'J_&8P+.)35:E7,_#N-,_=.]\H\XWJN4"V^$*? ?^]>H^-XJ-)M=F M.V7XK9A.46EFZ^%?SMH#M=@#N5BCB#T0O.?PBXG]53:PSM!T;3B-MA,8MY0! M_&$36)AW, 0K2([T5VB(%0S)52"&4?YZ8B%B"H<&D,E*(LG(&3'53ZFB)*48 MD5#(-,6D25RBR*UY2/LDDZT,>Y/:M""08N$^V:7[JY79$B$4?-I2!75ZE)Z/ M2]RL78!1J;\J3KB62 :T;!-PL08XKXTY;&3355D=9J M=3S3+5MAB28]I>#\S__T?D]8='MMXDZ8\8/K5I>_[U0!ZM/W]%[7NB6'PQD] M7LU']+*E9]19:R"F_4]?%LQ\FKEN%KC9_*:>=UN%ZG5Z(-+^EBO)7!2X*9WA MDLGYS!;&Q<*\SXJ,OZ7:+!2277&A<;.;0N&>K.AY5V^)&7_+M=SJLJ315805 MU7,IN]0UACU6S/I;N@J=S3=&F18^X>Z 6NI5.E1N(1*XO^EL,3'J\WR2X[22 MS5;*Z]N96H0F0OB;IGI-V58=H833([Y?3*DEHI]JH$P)]EZ'QD:EEBL.!2 0H7TI*-)/M39I"Q=") M::-RSP ;-@W05&-V,[^?]%)]8<:FS;*V6 *U!VD-4-6H)[I.U;@;<6!MB+7E MBF)[0U8D G25MR6&IVW5$/(MU6ZQZ8H)!-AK@+*D=)_(ILL8K(S"9N@)IY9057QO<4Y^IDK+))/'EM<6!44.\KE>'63FS M@#,[/P'3EGO/B,VJC:_2S13I\)I9T*!'!RAV-:S;,WYYK^')$G]3=D22;:@# MU-1'*]XW:E)7$64Z=,KPQ7ML#%C7UT9IV^=3=!%^9XVZUD^P80[TNMB"M M >;2&D[KHW0JG1IW:YW1?::26O6+ ]341X"PEFK5@E35!(WJ54>%9@5?N%ZO M/@(&'EK&[3W9OK1DV%O098 M%D'<%3*MR=U(R"^&+IS7%G,=&=(:8%FS.04L;=I(!W=W4);T!A!5B6 M5AF-KWN).!- M'O>(>I.Y@&A:EZ8VN-J].!S#Z#U2W"!;R77,W0<;6.M]\@C]'LRBMVW\DPG' MVE&Q1;;$9@@\,O5.7;Z8ECZ A@?=F[!+53<7NTG5[GT290.N-G,%5#+P58B^ MG2-Y#]XUE?IPMNDZX&1L?G3ZX W9@X,9U7 F)!7^V&$_&%O\UH89^\<15+/@S"1Z_3,5P\@3!'[/M MV)LFG(+IW\QZQL?Y2_DUS,NJ^63SCF69U_91O22)]^+N\]E%YH0%JITD(-_H MPW\OTA(3]Q*?&D%JDB4/,8I(Q($C#AR1#!QOPUV;A6__7Y_U M[T,$^;$A@H "B%:(0/MCSQH<7DN]?'N3P"^SGWO,Y@-,(A.M\>(])O&8PP\[ M[/KA0X%OMW&;N^7J G?F4ZQ1V5%AB_=*%YP+0E] M*!+BYFR&V#%/.:@AY(>,T+&+M-#E!KE2;R2)!-<24T&%..; < \J] 8?0J4R MB13C+]![7H/[X!$R2M[VV@)!^+WMY3Q[J+PM<^AM[SBD(15MLCM+X_=X8Y4Q M;KN@BU>*R-L"*G B+G+QLW(TI M@:_8;LME2 K/+*"S!=QZ<[2S44PZDT6S.=##2[F63*[UNF7V6)'VPQ+/@9J>_[QR M;!ZG$W3 ;9AQ8B2ZB9'/\+H?E!V9ITI=TQW?"(([H.^YQ5 %K1(ZMN?#)T=[ M72:;P .N"XOS(R'-C_!;CX,=/0!E1 A,Q9GC>B4HS(2>:XU4' MS\_:8B['BBXZ:\X$E.?\""?"$SAY')SX4:@AE+D.E-Y@RW6L4<=XMLJA91>6 MY[E.('"($QT?EN@(:>;X8Q,A(4HI__W:39P?#5QJPOV=5F.4!3Z;5X9+LJ=, M#6,@9@*R(Y)F5.%4K6$4-'MWG*JALK8-G%>6MDG"?[U5X/6<<;+DPY(EW]YS M0[88]&;//14MT4RCF21&\S5.EN:@8]SF1[TV*F+DS["'PF)/WB'35<:;-*66\FVMH=@ M$G+JM-U5>^OE"&2O.;I^.U_9#-YAW $J=NZ;MY>-.;1[=(7,9AJR\X17)N_Q M1HAXXAXNGSEUXBY.120F4X4[JWHFUQ$,4 H MI^[/@@.PV>(23^ C,X%_0VP,[T3\E:#YZ=L7>LX=:][V:C?XZK;K./1PU6;* MWOTH >ABXSI';0[S+D:,]RQ$.''P)>[VR1CET_<<7-/.K9:]D:HXW\-[R?I8 M77?:GKL% ),WN!M#^#=BQML,(I&NR \E8P!_JQGH>E!,E30+FTNZZ]TSB&P1 M/ANB4PQ(EI$T70?-25\S/"KR>X^ KVQ- 1OB6,M";N1=G[OQJ++!3F"< MI'9?)B;:R,Z;-Y7A&-!)7&H6Y-Z]W4).[-]C>H(34\?5)(NS0Z')#NT.H2"E;W>R M8+^VBU8?,?N,)%CZ3I@HZM#GT_-&>+E1,^S!\I9S2Y*=7'4RZ?G=0"0"ZJ,> M%25?FF0FB P>)WU.2OI\%[<+&5CY]"6K;JU)#+-AP)97(';:79'(;)<<5&F]L=C>FPO>!B9'&2)]Y4\P-W M[P(<7V?<4;TS)DN==CN=76IN82$2 =53'XX.%BUSLLF7NU NV[.%IF'G 'P@ MV+3K2$M@US3#M* M[O8*L(;RN!=NYL*O:\ 9FLK#3L?73O/2"29[W&G>..L3 M[]WY@:MG/*.YHM#5%*'K7 .^5NG;@/6\.F ;3TB\FL@D&"JN_AJ--!#LH]EN MW);Y=RKF*4&@J0]-Q,NJ*<%D=X]YI8%SM&EQ5MSVG]JV-O<%HZ0:<_-P,;;93T MN6 HC+.N".*D+U_\"A^/D:S\]A/@P9FD8[ M4Q\GY ,3\N0QJ3W!O!;NG6YM*6@+*Y_K*:Y9G@Q$,J#P*B=9!I2"W006/Y0L MX/G./L6'/TWQT>3%'_PR?9;5SDB.^]\EQQZGT@-3Z4>YVW7O?K):5<=M83+- M"32K]/!Q=H'[I".4"8*G0*2@Z:X#E#A'$&\SB+<9G(QJ M,D2'HFK==!DO28YEX*R8GW8@J@DH^/HTS&X=\55<\[F;S",)>.+=!C%$>CM$ MFG#)E-*$7W%N>C6XO2GI:[+J^>ZK$.E(WTT=-R>)LS5?O>G@*4AZBU -94H"]N%M M5. Q@><*6+F.Y1NUIM IUTM8O)DAWLP0;V:(Y_CQ9H9X,T,\/8XW,X1%(Y'> MS'#6P@G1S1^>7#FA+BW+:K5;Y$J5;".7*Y1;?)$5R8 2FEV Z 8*"P4N#4#= MG?2!U5"]9*+=-Z"A'>ZW#6@@K1]<93SPXN ML@NY*(S:UW@R3<]8NE$?C47/&WWI_ _T1B9!9/TW,\9YAS#F'>*M$#]O*\37 MW*(2W2A\*B:J=4@A-1TI2WQ5$)S[>6F92[DMD0RHT/E,%-YZI2\8OQ:'2>IS M5ULC"9>^TTZ)K[E;);JN?2K JK?::HMBFX5Q@VY4&\T\T:,&GFL?"[#>Z]HT M&5^X$HU,$4)5Y=MR@:L7^(=%G#A5%!F\]"/.O7P,(#HJ:(Y[9:(Q8%<-8;6D MDZO4LDZ8/1@T ZIKYLW)Q#1XQY3'!6VN02-3'C:< 5F'_WEUQQF>/Q\2G8BST M1X*6]@&&) -4LWU'*7&8PMF0W1D"3))E8M^"*,8 M#-#Z(U/??G1@($AVR)51S$!.BBYU0%ZX-WKISX&%/&?&C]42).T/MN1]+OE MA/U'CSAT[HL_^4:MV&AW,/Z.[W UM/6-36PR&.5Z'D:<_J%[\QT6-N+J';Y1 MY#N-?.6Z42UP;9YK">7.G9C.I$ABY]Y?SE>=;U3+!4AP 7N@&VL4L4/*420C MF+\QCP./VYQ& MO2_FE5*O51E -$7XFI:8T8J5A3G)E9*]*>'BN=:]ND!-,T^;KOG,M-D8L6"< M9UBZWZL5%B#;$E/^YP.=:TVO&3$_UJ3;^JB95,7.!+7T<=^T>- OK%9K8=:U MR'E/[$I9BX4M_92.6[K(BLJ\("0I>IEL,%Q[7?::II\V[8%:C1ZRE?S8;>=S MEE0<-V;< #7U,75+%FMWCMG1!1@LR%4]/QO4DPLQ[6>J-)"%6;*?[0K=Y(RT MFT:WFV^QL&7J:IJ[2: M;G98JP5;^MCGTWP97.<'/;R4KK3::GUE5%JH90#[JFBVV12QP%V.'[Q7V[-IL;T6<#PYY9V-)'*=%O">)LD$YQC:2UJG1[W-I-HI8^ M0K4*+Y1O7*TZ;@CXK'W+S.Y+(FKILRAN-;N]84J<+N2S[;M\IW.;K6N(3L)' MZ*+5;"\H/G MOE&8NC8N E&H<#S'3(V46T\OQ*R_Y?)^TG67YGT;[Q9S]+38F^?K+@M;^N34 MG33RY=1LD,4G$EX;Z*3ADAG4IT].R:2R)*K06#B2;EX/K=N.K(Q:L"5!^YIF MYDE#;B]QSAT+;J,YU>ZS= N*R4^II64,@],):ESA:M/:,"<5\RR+FOI(K4J9 MXJU-TO9XI0S_'WM?VIRLLJ[]5ZAUSGEKK2K-1E#49Y^SJQPP&N]]!Q('$Y,:-.T5#/7.7YKMLNS#.C M+E!:F>2\OZP,4G@"WLFR=6G3$D>S*<]4[QFZVDMP?0F.C7DGNY7*BZH0KTQY M3I:%"CM:"R5ABX9Z)MLPAH*:SS:2W7)]KF8DI1(;9O%3/9-=/?#B$UC)?)>) M9G9LH3CHS*"@@D.]Q**,5LG8LO!$TY*6:'>9=JM1+^$9>!>FS3HU99TL%;NY M9MQ,9YGHSLC!K66\"YOL&2-5T09#,!#H;M4 MV_KPT-0?5E "P:&>A8F/XV(IM>JO%N5Z?5C,;.7&J(R'>ECK,1X?U>Y-,(9B M?5N?C..31:>-)^#E+4:.[O>[>U:DEX7"ZA =Y.J=Y!:/]>S!*BHOF;2Y38>!4V"]>W"(#OG1X# M=I<%FEMII MF"7VBVKBH&RW:.@9^6+FVJTH5RW3]WIEL!KEMBJ[Q(_UT@RGQN.;1BR:X>_+ MJ_V08Y]*$J+:N'>UQ#V]Y=?W\9&9!8U8_("'>B=;HP=RO[S(UKOW"3$% MBOU!'IAX!M[#U9] 6LJG\T_=9;KRI":KB=)RN46W_GH6EIYKL3'?/&SH80"9J4=VB"SLUKZVC?X)>T\ 0-33#<03LGECZSLMY]7JR-EO?W72:V M2C5B]8-H/)*QGMEN>_X"]!*+5JTA M9[/))FH-Y&6=1_UIG5)WG84T7S_M.4599.<9--1#C'IV!KB'@0+X9;;QH-;% M0BFWP0V'/)O0U^K1QN*I"*4MPQ93=&Z7[ZSQ4 _=CI:#M#8JY:(\2%4SRX0" MBOP#'NK=KXK![?+U4J?#+S-@6$OO'_K#')ZL=[^>N,Y6J:5WVZZ@T??55G(O MUS7'*=*L?BTD2C@[@.>30"ZWF:9]:;#,^U^J_+8WG7X M3@8-]6Z"+'0WR;W&/=+";+3LQ7O3=7*-'WN&:$:MZ6(S+\N+)1=+BQWC=:TNL@]YG.RW%KM]3),QR9A(,QD_U3/9V)IE!\7$Y(F.QM=#J=/5])J$ MG^I5T:6Y>G]O5%M=ICO*+1^+R\UNV$1#O>JIW&[,M(=XKK=8SI7.,IJN#;<5 M/ .OQ*_W^^7'P7JG\/OAA.;F^5&TB9CWC'JJ:%R&31F/3+?=4)/+Z*[9J>>V M*!G5,W3#9Z=L]W["\676G#9;1G]\_X3S5CW;I4SU^6:7'O3H %F8D;JR%4_SK. ?%*Q=9L_&#,LYU%F6UMS4'6V#\BBN&\ MDTV8,WW?$3HTOT^I@)WMH+U:QT_U3A8>Y,-L39<3?&[_-"B+;^,3X%(M^?CV-=93,6$@#'7KV3K?(Y*3I^./"Y5HPU%OQF6$GAIWHFNVCG M&^5B=3JES:VZ7K76BR73PC$E+\5LFYRYV50?1GSY?FSJ4E&N*DC,),\L;"HN MZD.AT([QT;0V7$^2\J@OP[%GW"LSU1TW$I4'T%VN)ODIU^+2]] &9 M2M.3X:JV,./9!+LF>+)7O%\86#?5P6*^< MD/:Q0WG$,\M*52X^=ND':('"H5X.$Q>'#*?.8X-%?SF.'Y8[+3NID;&>/9"+ M=#V[+8YZBW6TS$E,NED&Z'#/.([99#^?J[!C@Z_OU]T-E'6;8J6)AGJ!L.S! MF/8!O:;K"\"L'I_&6JX]14,]>P"-AW:ZIRXD/OHTB*=B_...%_!0SQZDYQFI M5,[T$XNV")W+7D4U[U=XKMX]Z'0SZ2XWZ(A\/;6I+F9-M9GHD+$>FAE*X@,O MY\T#W4^-TG&ZH?$L/%SVC$O:HC6C-8FN&PNALF4S35,>-:'KQIZQ4=H\G6O- MQ9K6C;)Z3&H_C'=9,M2S!_NH5*/7J]ZNRQ3FL\?X9&ZNH"<"AWHG&QM*"EW7 M=U*W/WI?7Z0)_Z.VG*+;K6=CC.E%C MA4(OPW.U;;98HZ4#"XT)]HS=D6$[CT(LS^B+7+'32+;*XHIFFVBH1X_6"MF' MPU152OR:[O,LP\H@,KX*GSF1U:T=TK1_CZ+P]A\2J=O"[7@U0&9%*/&+[:'"2%=10N&'(V-7!V[? M$ UWQ3,_FI<2#S?^.S8^^4JE>+CQ(<7_M(V_V!T@W/=/VG$HB84-;]HX^F[],5Z@7#C/TW4<.'&AZ+F M%VU\:-5\FZB)A^!D*&I^U<9?KD$.-_[3L)J0X+]'M[*)<./?O_'7M*433$.] MV)/NU;CWYZT]^8:UO]('Y](RWZOH?+5PN$STX?_]A9H$W'(7$J_!1V_>!K2Z M2_6)KY4D=F8: %05_F&F4[PB I%R*A _@PY>$T/^H8.0X4.&OQ7#G_9/B:UV M%.X9\1GM4SXJ$*J"-IY1;"Q"H1XIH2SX,;+@O2U"?IYP\--.O)86]N%;L,X* M@%!C^&OAWW2-RC>O^[5$I9#V?Z5 O)S+$Q+%SQ<,K\6!?NS";PX/A,3_/1+1 M<2B9V_J3W%WBMB[31]W%#'P] G,%^5-=Q9 :SE,#\[E7Z+Y17/C)C@@IYMRN MI.[BMVV]_&'\634^673<'&5*>NC@T@+M>R7<*PSA))_S^GN.V/NOAZP=KH[? MEJMC[%V2"Q3*3/ICDVW"7;*#93T$C3[B=XE D4=' X)N:ON00'ZI6]$0)#%: M4H)UZ#_"0KRY3_%14F@!0Y 4=+%BD&@A8 + =WX!EODS^#/0=*O;=^@EA%[" M;^#QVX>7 V3YD=O\0EG_B;(^<4?' T43Y&J$D"8^)=(:(#H(9<,7R(9TL/1% M*!N^"!P($$WDA)7TV5&%D"@8S[V0OB8*7M 4^/Y0?7P^C! DJEB;T!4-D84W M7W;^2>""9VW93"53R_%4ID/E^1Q?S?(MNS@A^9F7MG\^)]L'\WEKN'EN^3-N M\]S,R]PQB9/;.*E+M_-F]&%]@JZO(??Q)H?6Y;G#MGUW*N'.G+I+6)SK< \@89Q0+&TFS7(1)>TGVGT#1;( 4R\U+$KY6LWQV MWP&?L>IUVH0Q*\.:/*XQ"ZD_6/;YX7ZY[N$+8.FWJ9.7.!6R*L=&$K%TR*=? MQZ>7NU7ZGD\O]WP,M@5X+!9!^5TEQ0)JW\N_J51CGI\ D>;;9CICSE.]XK"S M1?S+?M0<9&-,))F*!]LD#!3;!ER]7NZ?&&RVM3/P; C]O?RJC4N#?:UFUKKM M\E-;3\O]6:R#]2WW47Z-<:D(PWGU;*#X]1M-$-G)C,W&(Q0;3]?GZ7F^#!]R%%^AB_ M#L_K09$B2H90,$-R6-S4!?3B,#;'CGQIV MU"%KH0"I;P+?Z%BVLDTQ.WUQO^K%5@-38^;3YC!Y!GQK:.I$,BJJKK\&ND6X MQ'686\BF7X^\W=#3_FZWYOW<]G9&61[26F:KS -LN5:=UZMO,,SX"]9Y^2#C[\L2!VY3S9YKF8/44[3)=YE[59LM MVYU"FVX.T]YJ=OP>TA4%K@-N:@-HDBJ2NG;\QSI19;RMR2XV3XFE(S'FN@*\ MD,Y_@O_YW7!B<%GYNKR&J"F4'A_*-%BL><84&_E]6A"WD)-?J';WLG)/D$UP MF9//%],R7,C'87JI/])+__U:9XJ;C*VB*JBL/JXUYCFMWI,$8?L>\)7-%%W+OE*.*,(C:.ZA=_*;,5 M-/%>^:IM6 6ZWZ[7:PQ MC7PFW40RXHBJ7Q 2V$E[JXPXZ[:ETDPH(<*,YN!E-/M80MP8O%>E0>%>ER?U M+M.@MUI5G6>R(R(KV"^5%;$(RP;\MH, <0*J!@SW!B3"AW9?J M\;OWW9?A\A^^0G_' 4**_&Y4_VNSYVZ#XT^'J5BZ9]P7>6[#:9-]7:B9^G08 MBYW)8<=Z#7G[!57K"+O^49'!#_!?LX(.1#1?H.AXI===V19+1]+,E?>UA63^ M$WQHGT/OON+D*^][$K0#J(&TUC5[5:82US.M=CR#&-F;PIX1YZ9NH'GI+2## M*8H=]:T,?1YHCWM#<2$7_UC&@_A8HE.!AL2))^0E3]#9Q^T&1YN\$1 M:[52T79S+M/ MSSO,NOXI$*EO3RI8$<3?NG1_HZTA86@$O2X>FU M@;:1QH D*+7 6)TJ^"DX5^FU7-A4B@YS84-E&>;"AM0=YL+^LES88L\X5,2L M5*%S3SDP9"O9R5(A>NH2P/LK]%2@\6$_P\%S 6V5,EG8VRY>\\:"MLIE>=Y?3N,L<,8]QR(EJN L MHYR@SUZKMDVFPLSU,"?37^SV=D[9;U+)OE'2N44T-2\_,"5M29>:F%,\D)W? M."70D%HP4BX1 $MI8&5JXYF@@S#5\JT@W4C51*!%R> _L=6.TE59$JG_HO'_ M?&M<^O8D@Q7 ^E(""-#6$+PP9([?RQP$@?0/!7RMHW.;4GR621=;W12K\5Q4 MB#V-Q&U#K4/C+>XMQ3]Y(:G+SXSA#+73>^,N5-PGZ$@\=67)?<@@MTKN"=7' MRUAQ*#P^4/TO)(55>SA@BXOHTR'!#;8,Q^VP[/!6_Y^\$&=7V+(CI^I&%1@S M]95K4+A(+)D(9 [ MTG+]0^1?COHG,MNQ.2OU#9KI1%-Q-=N[/TRVV/CSH/Z!-/X"'1KXS@@ ?$0V M4\G4$6_\%.L_% %@H:$35',G '^KTDMS)Z,/Z MY-U^JBM,^&Z(:W,OI(:;5Z'0&X2+?MBY=! MQ6.1&,-&6,XKGT(*?V>,X_,)_&0'_OMFZMAWCLNLM50MZ\)L3RK53]JIW[,3J^35"E MG%GSN6DKI_,Y;^QI"P^K=$$X ]WE#![S$+;]S$I*5.UMM5;E58U"O3G/0TU@92#>M5;Q.3M]J( M;"P12=/)T$[\WTHFW MLFDLQ41B\>MNU@W9])K 3 #9]$SL)O^1<<:]@Z)23< M0![KS3NLA,?JAR7^BA8#-V[$$E*N'Y88]FL)*3>8Q_HK9.Z-V[J$E.N/)=ZX MT8G_EGCK!BD!(-P0"OO^E?T.J3-69?3A__V%@.9W:I;/[JLX!HH!M&<[,#IY MZ!8@)H93E47XQ\Y, X"JPC_,=(I71"!2__NO4>?PN$:@CMXNFPT/_00X&*JF-EA2_'N27:JE; M'"]S6]?CH\=K5V/Z]7Q]RZB^,Y/=)7BX\VC2NVR?&,WO.=33M836\<_AQ8^$ M.P-D'9&V2Z&%!O\N-#=!!V\V&PI-^EYL;I)/&W6=^E>?KRQMZ_WW2GS_/Y_AJ MEF\Y+?H#=2G*MUW*^WE\=9/F4C'F&QONTXM!K/TT:\X7N;W9GK!)9M^0,T.& M^9:&^[ZEW6!=Z/.Y;'NV*]QM;PK^E1Q[73^Y";T[1+=Y=D@OYSUC-2_J][6G M*6+8+VN][ULN_18-<^-D[-MT['XWA=ZFJ7Z-7=?%QWB_0Z_Y1Z$XG?0*.WV+ MB/263?49)AWA$EOTR=-4&;528S6>)!/ MTZG&J)PI,TW$JC=LKY]*1I)Q;[_ND%$_C5%OW/SIJQGUQHV=?&4$WKC1OFR: MCT-SNRQU[^OR5I$S]SH/L =WBT;[7"2>3 ?;*@P4WP9;8;_!C;MYYZZO9;Q;=^7Z M7+Y[1Q/]V/B!T>AAEV>40;6^RY;I>),8J1]OHI].1>@SQFEX7[$O4@1/&^6N)78[4A28;MYOV/2H8D&4K) %N>5,3T(?#V!![_NEA1W7NTDM_ M$_PFC?J5I]9:>^#W/89[XI:3>EEJ#AGV#/S6T-2)9%147;^,(<32D13'A1== MOM]GM[=S2ED44PUN\I#@S63"'*1IFJL9&3FUT>*+^]ZH$2^F-SE# MFPZ9A+>H';^(M$>!"X&[V@":I(JDO!W_L4YT&6^KLE>[J-#>.O>0T'^J _K= M>&)P>?FZS(99-]^LS;L#@[[?MD7AGNN(O))!K/Q"T;N7EWN";(++K'PV 2+% M7==D)63DGX">?C=(^M$.%3=EW5L7OI=RX^S]PZ2X$!Z533P&WSXPFIB)SQ>^ MOY>)+S2V.,/,OO1$_4?JOT(M?WMV;N@2A8FH?C/XWB[I\_J(7W95O4(+H)-N M%XOIO- EYMKY\N\;FFLT'2:K!BM9U8LA0Z?;T*2Q = 2( E0_T]8KOY-K8"& M:0^-(I^_@B?[-C;V.UOK7E!NOCVI (6S HA9^S89-21NGYUP"'^_%?[.=.)K MDQ,>.MUE17Z<98>]0XF&1AAWA+\G<$47H>^6HX@SBM@XJE_\I$!';2WBHCSKMML:]MZ/6[)43P<'G?9C7[6$+<&+X_/*K#?5S(RMW[_?1I MW6V#O-9O8EG!?JFLB$5BJ=">".V) .:#AVZEST[X.T,(?LW@]G=L@7Y2FP5I ML^GS]].$E%F S8')$9,U_:5JB(G0]'6-,<)\==_DJY/&& 3^^S)> M_L-7Z.\X0$B1WXWJ?VW^W&UP_,,NFI8>Z7AYL5STRR)7:([T%/2[DV?2V+%> M0]Y^0=4ZPJY_5&3P _S7K* #$Z767M\42$3IVY![U\#!3*4@8QLC>)/2/.3=U \]);0(93%#OJ6QGZ MK->23(49L&$^NX_A\=!^"A5+<##8D"3]A*CZ&SC]H,GR=H-C,"ALBTQR65R8 M27$;4[*;55S#GH,W#3MP!D>@P5"?9V1;*"DR=J,C=-R03(_G'69=_Q2(U+FV@;:0Q( E*+3!6 MIPI^"LY5>C4)*17PV^,#Q%*_6UGZ&8<-J3O,A?U]N;"BLID2',9\TF* M,1G ':983UT">'^%G@HT/NPG&#@O;22X %$/$UW]J?N^>]]]&8/\X2OT-_0: M4F2P@-3PO'Z"I_>CT,^0)'\"EAD\R#(DR5!*?B?L];5Y[2U@")("1%[0%+@H M_;V .6-HNWQZ&5O29G/>RZI<0N?'TR&3'L:XYT"$XT_".2U5!6<9Y01]=AE M8".),]6VOO1#_4?$84ZF;W(R36D$HLU#(^ M/C5/MVO23GLJ MKE<@-1VRM+<4_^2%I"X_,X8SU$ZOCGNYXIY+1MBT-V0:+#,@0/Q!L(Q0>[P, M%8>RXP/%__%HI[ SDU' UV?%)[I3!HW$)H-$A[?X_^2%.+G"%ATY53>JP)BI MK]R"PD98YLJRNU!VW"K-.)0=+V/Z_I$=H>49:E;_[ T)+X3<\7NY@V#S7TP! MWY&5ZQ\B_W+0?Z;T'Q,3.&M>6"Z*1HJ9&K32Q,:?!_0/I/$7Z,C =P8 X".R MF4JFEN.I3(>J9EJY(L7&(A2BL]^>;WLJ,%@H,$35',G 'VKQDOS(Z,/ZY-W^ MIBO:]VZD*MW71.VP7U069CV;&XTR='-VF.()/1T\N:L4$-)U,Z[(5$(]Y;0 _\N9G:A%OQ.-;J?-5N_-C]'B;&$=GF8ZQ MJ6(ETZTG6;EX'\T=UGM,DM?$.*Z+;<0C#,M$XK%4F-#UD<3+P.N/ M'[GUARA3;RCA]W#KK2H9!/U0V'/SPG:QIA=LCPTE$%ZELQ$B1[TQ$+> MRF")6"(22W\*)AFP",>_# &2TWNF19^2RQA*6J#9$XW1KIH%,NO.#%#"&/6' M%I0]NC%/40WX<%3' %IN)E7KFK B;=X3C)Q"CB*TY-A2AC'1_') M>)P04_!]_Q+@_T5I\Y__A?_8+Q[+0- 0C:_I_W4=+E(V,\ M1\828L&3]$S5&Q*T1))K#3. A,@?!K/!%$1'T*]=1(4)?.T?0=X*>]T6=NF[ MN&-;_7'$&EHU%:-1E(=R_8Q6[YG/4MA%71MDL5U4!A/CC_4U^S,LVIP/51V; M[W\TU,Y>V@#T])/GXG,PU-4?)G;'(;J!OUHKBT-]>J.#>5;LPQZ/ 1+63$/R MZ[\ZZO@(*>4S'3[?[L!_JWRMTZX7(KC MD@F+P;][99+X0D["_S>N?Y=4JC.3#5U01'U?_PRJ:XKL'Y" M!T.69NGDF(T/T]Q8&,9'8S -3*L; MU=I20:F5:]W,%J6./!\Y'ZCL:+7?/2R6HV2+W] E[0E=7NP=65S'"U*E1L>Z MZ]2#438J:RZQA'Z(=V1G,XOEA/2&H]O]PU.NG%9 RMS"D8GG(U>UV!/(\;TR M;3[M*@_%[70>%[;#^)!^/G*8?)QM4Y-DJ9N+/AV&+>9^6ZMFA@GO2+H;*V7[ M&UFFF5$KVDN+W6DN@49ZYEF+&0UU6NLD%VUAQ0T[R^%$/VSA2,\\M:WG/$Y13T4YK'2=,AYWRX::WIP3R]:B^6<'6X>4P]0^4R'2>_(:$,:CAZ: MZF%1UWKW>EQ5$JR0&::\(Q/97H?9KWLGJK0V;'#PRNFPQCM'6I"!;C5]?V4EI+E[--HT]]4!#@TYAW:[LA/W+[8 M']-EM@G49FI0GRTRPQCC'9IL-GN9XL'8+ !(5)D=I_'*NCF,L=ZAL7DB.G^J MKL1%F:^N,H>I:"942*-G#E^?SNHY>5!N+/;"@]K=U0HBC29PYO2Y0:=5>]C? M-Q?[YJ"G5,>,D33ALLX/KNH/ M#&]V1U*Q5J'Y814^] M1@LA+3;RRCZ>>LIGH!?C'=HH'_K]AUIOWNTOIP-SM\J,6D)SR)PY+:Z\J,43 ME5BCNW^LL$\#L55[%"%'GSFMZ4!@-_U>V^3-5/N^7YX.2@-(+LR9TWKL+?0L M_U!:\KF]LDD\/24[NQ&;,:0VKR4KW[S:'ST-FBJ].]E!6--UB6WV]IZ4'04OGY*-/I;]'509ZA8,#( M]_*JE5[D1O=I*978K<>D6;*7!AA#W&F,^=BMCPZ[9&F_4 ZE#"I^]PSMU?1J M5QG?M_CZ5$]->Q6QQC]L4C^6PU+XTT./3,:T \3, MK,PM3',;2ZY[@_O]!N[ F=-*S?F9L92 M%@_/.6[Q?5H?FC"N9XYK?NBE%WT M%&G(+[>56:F0&[>3,IS F=.*JOWI8/MHL%UN%EU,1]5X,K>#$SAS6J7I(_>8 M5\T,#]VIU7PW[1GB9CJ,GSFM9N]Q]_ P63:[W*;4J&I9>L?0&334HU>5C!R+ MKFILMIL;KL6'P2I:&DV:P_B9@Y4;TUFW5ZEGNO>-^#B7D,6*T)ZBH9ZG#K,E MYJFUY*"VIF?]"M>_;U?+\*EG:( IS8IQ.2HN:"F1YL>/^VJ[GH8*\PP-U+7' M3G^PX@X+T$XE6^L1^Y@JPPFG\"GGJ&!J'!( MFV!8A^02[2ZG1C.^R!I3--2C7HUXGRTO^16[D-8:Z/'C64L:XJ&V?L60@./F M$00*NGBRL-+!'_L'M\G%.>X+<;<$TU#M#XBOA3\Y<RNK5=??OW* )Y_A /=@LWY57'T?+<\8OM MH<)(5V73 !_V&*_&+]X "KG\_(\BL%P\W/A/W'B\!N:." MLF,C;O3W1M6>E];]7OO9WSL!UXT^_+^_$G_==%>8V-UM(^NI5R(%KT4'.C,- M *H*_S#3*5X1@4@Y48+/((O7Q)2/R2*4$*&$^"H)\87UXQ^5(%5!&\]P'6\H M.$+!$4C!D?)LQ"6")WD5WG\]Y.^(".:V(B)]QP5+1*#DR4\5#J^Y^S^?(A)? MVU?E!A21"I:Z> ]%G*[P5GVZ;Z\)TL_7=LRLH@JM>I6J-_A6IE.JW5.97*?4 M*W5*?/O/YS8*^B[;,/T&#.%C:[\J /(3%OK>&,1/7OO--98/U_YK%OI>,/PG MK_W[_+6WKOV-7;*^0/W6@$%)REA=@IN4D@5/E7ZIQO1L_VTJWVZLV]*KRY5M M[/?=S+W:MD:)3E-1^/H8\(>FJ343'$J+]M1Z-S1U(AD55=7FAM3;N:&<*8#EQBSE%LSH 206I;[4V:'4 M?T])]=7OH<_3; M6-!GU$I3T=5G(C7:4^H*(&I4IA0ZY(UD2$#_DI[$P;,10G?[NTT2O/;KI?"% MC3G)LZ:_?:>":"2$SOEWVR0!6GN@]?YWJO?G=UAFEBJ?2(HA*%,)_2CH.D UYZ$W_^7>_ U;K'ZK2_^E%_>:"7[.KJ:'!8@;&J-T M#\I@NATFO1Z]FP'JDY)#\1E,\*]T[8VD/J>/6Q#5VO\TOK7>/J=6CZ= M[A18@X]6MW/E,3;)Y":(2SR>_D>XA(VDF&3H_ ?!^7]N'>3!"GK_$K$.P&X% M%/TLHA^Z\=_MQK]!(/K6'?>O.:&MBV)LM^Y4>6'2W#&EM,BOE]-ARFM.N#GF ME?9WD13+7B460U3@NU&!;^&NWV.'<$UQ.]#+DRS=CLL@OE<'!W:_A>SEL4/> MPE[QV->R5Z#-$3]9'5E!A"0T,FR+@PIA!U\9$*&=\&(B0;>XK@GU[(AFAE66 M'V1B8ZF[':;/)A(@HH#S4K6\:HZ,B2EGQF,HA5YSIQCV4UKF!M$X\*L-$*KZ M%SFD??^8:^RR'4 M<&9.1]CQQ&S. @5,)..5U*SX=7E9(0818A _VC#)=U/]>2*;VBSN.Z/DL#$2 M.[/)%C'<&1#B PR7BG!Q[TV*(2X1 %SB>:X$QBBL^S"4*:1./D* - #= M(+?RO)P?&2(5(5+QZ7(2/O/B3=BWMAXFR8%6[:[D)B_M\^QAIDV3ZM,477OB ML1X0IZ 2L;K2AKQ2GS0T5"-D[!NR0&X)7:%*HU<0W9@7I3A[NW4(4X0PQ5

"1>5%.C5F8I1G[SPE8HD$'*+O1)B25R']_X"$\6OEDAH M<)RRV""^6H!=?)?N@ON&<*CE1RNZ.44LYC$XOH'%=+A'<"7G>WQT).@ =1E=HH :)H$04@DAE=]FX51GV\6N,&VN^7Y]4BF,&%-+ MUC/H^E>/A=.>"1K((J[)N9CFM8*\6/*ZP$P(IX1PRH^.\3SVZ69CT$YT%EQZ M&H_*Q>YF(D\1IWD,G?=P&A-)IL,BE*!#*:Z>5CC*0PF*2,F6:2H!/8);8:D3 M"IX7&,._HWC0>&U*Y!HI,EZ4-D W),/4+C;$^@46S$]K;_7==HSONEC] N/@ MI_6D^FX3X34:]L&: ZU9?0X!I/#S_BXI8PU "^L?9,?AGZ#Z#;M'^A@'\.%" M?Z_>#;WU[_;6?;C0L'OD#U/EOM#83!P_KP7&0-J@7I'$"0X]6E]![]^M(?V+ ML/?BDU7:S!9G?#FVG##R='40228+*S-1:57+F%<\&/E;>>5<;"H1]W)(&,+W MM?]N60,E90,40]4D$!9"^-);_P51^Z\NA,B!BA'/%N/W?+LS41Z2[<4AOIP. M8V=:0WJ%HXMA7FDTG;Y2)H80P'=# +\@8/_E%@AHZ^VBQE:G]'(STS/[A^+C M:H.9[ H+Y&HF2[#>+M5AV4,08(B&!E:")-K](DG 735F0*/&IJ:ABH?P_@H? M&AFA+7$BYN;3QX*<'&W;BW*?R9:WH_:P96R'L3/M([UBSN(!NS>-U9(FHXAU MQ ?7].EG(G3J<[*G@VA-^-5H\+EM\)W)? ^9%3.;BMEM=5F4'S.( M?ZXP$][*/Y=@O@B;^I22GT ;#(& ,'#'#FP^H&0]2&] Q,62\(TX%1#LQD#' M"7YP)V3\*1IL*NA7.%:PX"YT:::%=X502 B%_+;PBIA:SS+GE=[]\0* F!DI\'E*B= MYG2RTSF:EQX7QJ <;S"C=A/Q'7<+OCO7S9+FO.WH0]0D"*@)-FPI>&XA1A)B M) $T,CKETK#6CQ:>>*'QE!;+\?W#[@"%W9D.EEZ!AXF_;A?VO-&]HS_G@H$@ MVA)^-1E\;AE\)TRR2(*'I]R6;=)@0H^9G1QM#,=;Q#=7P"0?X!OF<[K!!MH> M\#Z7%U:25TA-4VM>JV)U$!)#F>Z-%X7<'6ZW5XK6.E(,DZ' MA2'!P"#"?(?;FSCSU&/E<;$OI!?1K23$R\MR/C;!+'B%B7,+%F3.M'<,LQ^" M )&0[ =95:91 VC+$!6Y A49J9H(M"CYRY_8:D?IJBR)U'_1^']!\?N06?+% M2_&1V9+H*#DZQ25[M%"9TY/$;-8&%2@S$V]/FWB[+\A$$HG/*>\/HF'RNOWQ M0S@.F2&^XKBO-5-6?78JF)JBT76YP7>D=5F4MAG$]9#1$ M7WR-OK PDPCF<^,IUS^FP/.43X9J?SKO^LJ.^,XEUSP[,7K907B_:3^D-DV!ZM=4! M\Z['I+H5[[*15.)KN3?0!M9WVE'P$;E,NT@5*O5^FRJTZE6J5.OQ[4ZI=D]E MT_(=+S(U)1OSLPY;\E!E'O_[2,T.\.UOAOB8'69_X&#*Q2C8:I MC6<":H&E3A!H@.]^)XD:]MWO(500YF?\BOR,U'*PZ;[_;Y9C+].-6[TFZ*>,[CEM^*YQ*1Q)EN6V$2AA_]7&((_C*B/"YK?"=:'Y*C*:Z6K&^6:S[ M M49\@'K7^(EX6P[$(&_OB'/H@&C5A4D1 DB*^''+I/SY5>IG#=,%SP_H@4RW( MU7JGB;CV=9Y4:NI 1'6]DK)!9;RO)I3^ MLHJ"90 M\"V=MPG-CYHZ>G:Y4O.I:G0!YO5\6ZCEE@IGR6::\^EC%Q/R4_25 M5;N_P+ )JOT2FBEOXSCCH2F+\4.[T^W+^\9NPL8;_3'FN&L3-M_/<;%8)!W_ MG 8^@;9*? GWG,G=+)1JF5KNBMS-$-;Y[CP6'R[T)Z6!AA#(=V>-^'"A/RFC M-$0+_((6G$W1T,!&E3<(*I E!>!0BP9$*6GQ"'W&SP_=_# I(QA) M&8I:[L9[+6Y/]T6N,RK'[C/ G")6N9B4\0Y68>C/8I5 FP&^=,\]]H$54Z(@ M-;[%.@A=]>]VU<.2DYM;%ZOHK-W.+P91NI_A9#&16NWI]G;(GFD)V@(KBW/J MD_=8%^Q9D1GF3?@2- A+36YOGNP&Q,UCGGR0 MUV*)K^>U0!LN?K5/5-SS4P2C$*_PEWT1FA$GHFT:8ZM"LE0H\F#$<@GV82#3 M;>AYG6G1Z19MN%-@'E+W:QF7-!OF'X3 1+#4?9OI&@_;)!U?2/7VP&#X@C@V M,$]<5/=7\D0B[BT&"=,#@H4_3"A10@DCBJA3A@K?HHX7,U46@1:VQPP!B%]B M.91JL?B*6>H+LSB<]*3N8S*=@5+R3$O+AB,C\S;;Y-3E4E7:B'%>:X67H*\4 MF"'X$((//\\:80K9)2VD#JLN5Y+D32:SBT=;F,]>++IX#Y\QD63JB_DLT!:+ MGPR3]DS0 *6!E=62*X0[ZY W& \N$MZF&^$.P-/ZJW)-6YM.LU.W7A'JALYNUX]4I8I 7 M-?Y[&20>N?I:L=^DW ,!1V"MKT.U/P;2AI17RA(P$3IA"#MJ*QDSA$G "828 M1(A)_ K38IUN:!,U(?1HLQ'M5-5422U4H.2\T(>S!61TIW!'[0B[_I%EH$#% M_)6%\E2$XG0%%!U/];(\3::N-#="K"+$*GZ>Y:(D%G/NR2@\=9>5.9<Z-K@28A@^PS!.BS_ #FAC2<>)G>H*=]P*00U?F20^MSR^ ML>Y#&'!/[$-F4UZT%="N++(/FP0/A>!K/3F1MU8GM,Y;Y/]*:YQSS1U";,-7 MIH//+83O+/HH9Z/]"=TR&MUR@5TD8B,FM^(SB$\N=^)\.Y\PK+=K=PAQ! #B MR(,)T#0@NEMO4G;&38AJ^!'5\.%"_6*3?#4:DFWF6T""-@C?WR=J:3,=KS"] MYC#N:K(Y@=.QF2QSY#';.7M%K";"JI" @!T^7*A?3"!K<3'F4Z&?0-L*?C() MG"1,U)$;24_X*O@[^E&71$ D*"5HF@ _?]%.^ 7F@*_Z2_KO@D ?]J7\4N,@ M,4M5U'LID5JLZ[MT:9P^Z -A.XR?:4MIL5Q!U7(.O^7<[%:1!')>!4D1E/$; M+CI.?%+T.8@*U%?M*?W(L+YK:WG!;OA-YH&_H8276E%/;%GU2BOJ$%+XE/L[ MK+\;ZLHW?7:_]G*/K]P 7_7#;F5EIMT6ROP>Q,"X,JOO=N/I,,Y9(0+$S2^]0:0'\WVUQ@H067[#T=[>OGABBXS$_X^'C-K2G;1C2TRB.VO M;W#6^0^7Y7(O/M'FJ5*-PC^Y,+4]^X)O=4B]3 MX6N==HCL?#^R$]X<\GG9K$7MH?)84N-TKM4NQ[-TXE'2H:5TIH$HODY)$=%_ MT)V4&R@4%4-O $U2H>0<:T#001Z0_UY[DP$7B:?#YAV^1&?"RT,^S4ZI&:U6 M,=[>S_GV<)?I]L:CS1.'F*:UZ7D1G('^HZ;MX8;T!-D$KY1 )B(<;8@)A;?"^MYB^@"O)M_. MJ_G%_6!:RF<'BVC%%)O3:94?][:(5Z\TE][$JRP72<29+^750)M-_K6.@")> MMHM^@?GS5BN'A5)%5,V1#+Y$=/[W)V$XG[^,FTK'#P XT4=QO4A4Y19?CS.% MYN;!$-*/T)<\TUSU!L*124=B9[JMAGC-569)()G+:WD$E+G>X26,N!U@-D*V MT\WE6/3WITI&S"#F^@S+@TE$F#/7T/\^7.9?A@")Z[W30I>U1&< T6^ J2;(U$K0#-R= M909T@!.6D8N JM_M9"0X2#?@!SAO^>Z="_B6??Z7*&W^\[_P'_LI8QD(&B+^ MF?4J1T*A5UI&&TW_S_M(G+ZT)K0#3OH766#<-4G/5+VN@B4Y76NP]I+!_#D% MT9$&A$54F,#7_A'DK;#7;:&<=ID\?QSIBU9-Q>@[)OT_E.MGM'K/?);"+NK: M($L>1&4P,?Y87[,_PQ+8^5 EU3M_--130=H ]/23Y^)S0*D'#+27D92 OUHK MB\?NXC.SQ&/Y7H&8:DJO_U5''Y\CNVE>07]$7H3"%FD(FGVS)6JR/ M7 2"]@XQ*I)=B 51(C.I#;!(6+B&C$^/Y=QN?YZPCMNKMM8X4F7QO%NJM#M5^:G?X:IOJMC,1 L64:CDHV$;OG1CS;F%VI)MW[*" MK8Y-3&'YS:?C7Q?#ZMO#BMG+J$#IU!M?V,0 M(Q\2[9BL";P%XZB:P)JG7@-$ &A)KT)IW7/\H\]SWCZ,((326/9[__^#65*9V MZL>A74%WDZ)741(\$P.>]\C$/C.Z*41R[09Z@'U>DD(I:&N.!(.<0F=S(KB; M)SY*#2!J0&3S6>=61=0&D#\*6IC<,HK8(L2&_%)K^+O/*W;/3$$GU:S1N62Q MQ=0&B?14ONEY)5)W\3/G]?PLEL=UGF,LM%9'KMQ1R,>'*A">E24;GLFTB"4G M[#]OP?-/S.,85<-G>7P2 @Z MBP^%J9SM#>AZN?,$M&9W/F2;STVQK*!+>GW2T(".^!B]!8J6-K0OI0E4BHJ1 M&8]5$U<8-R"UCB%]=N"TLC)N8TUJ_4T@9J" .4X^_@7F''-'MHX8\J>\F>9NV:_&GV4\KLIW>[-Z6Z3+L6E4>:%/7ZVDWOR[W$WWTN8IUA4 MZAFI1O$G+]=@ONK:$$1'@BI2&GN='0N_PN_^=(/VYBN]N+2__H,/#I&7FST" M($D^PUWH8( <:6=-6KH0<4J'%JTL4B-D!@FXBA>RU=Q4B 'DV$@S24>F-7(2 M M&!TM(ZTZD60XWIE3&XQ-#1MS^(W\#ODQ4X#>M)1T'F20FQCV^5$)R8= M?4-\C>#)T36)9[I:07F!+5;-E EMML#4)!X$&=R./EI1)0I2SAW621J27?(^ M8L6:SJY25!&]VZ1-P;7A9TQ4U2!\H(&U*:$=&.W?MGRT[3(P7G@O]E.O8^13 M8L9.\0C($G0-\'0%<6[J!GFJ KE"UY&*1C,0H/,$S?F52Y8>(V]G!,M,V*!' M ^7(Z7C[-1PM$"@24;!D!61D[+K$J'ZL/08PEUT44HO&Y@F./]H-]7VP%=TO3:F?CO-0$L">PP[UEA0B0' MDJUPED1P7"VJ+/FF8P8SR;X#>]\)_^NZN22M9I$0A,L02%,Q]%X1(#R 8#&$ M99$Q@-ZV1"_#L@ ^ %@B3[::)&&OVX:(T!_ #C6WM]XH0A:75=TD-[M,!2S( MW7W.SC\127T#622VW!AC^2I*$P0EX);JQDR%2W361\364M4-7(]D.S3']=M] M4A#&=5Z.PV>/C9.EC-'CH(!4X0/QL5E-VAP]YX"V.E9-2(JK6X3 X)$H<]J.3EZ;\/MX,QRR.SX ?8N<,K$H)(< %>#27&C'IJHJ;B4HLZ4E M I8PS1AHAM@1%D M;VCK0=+CB"0I9-I9"CI2D":H3+M+U=0[_-Z+Z_FI M:"QV@2*H#J1'@.946J(8)&%'&YJ'*R8!1G2. &#L'%(&>K\"21Z?_Y&.K'/% MBT3S0BZG[4,@%7F OU%CQFZNB'R6LHX]V"OX) M[C0\*;RV"/4W))*Q#!]U8B:<>PC9C @^\K_9XPNAHL2:X0#'G]7"GM_]G5V9 M"+,KP^S*+\BN)%EXPWA29)*IT63((G( MJ1EC[81\'0=,1T\XYEGA^#3JN%F (EF__"[BMA[Q=6(:609P# MC\9NH.^.GB&[2H-V%@MV+H;DW7(>!TN%R;&?M"%25_MPO""ACP]6TPAEP6! M? ;V6)!IC/(4R4; <0#A0I@+B4&J(K6'PSU$0&(P'Z6!F? EFF00B']J2B(Q MXQ5O!MFM*X&"RB09.H?_Y0^4=A)6" M(G )MJJVH*Q.WE0.!V5UV^]RC6T1ICG>/7'^72Z.@^?N8KDE="4AQP$-.Q-' MF-?F1AO.1FZ434\6=:$[K] %:)B[T:LK8 -DBG5#DRZ6LJ#5%<;,2 !)6EJJ M%#O)$X!9QMBB>)>,GG7$/PEVC;U'AZFM*)3GJV0:,3R2_,S8X2O7S&825%3: M>+9_40I9>X*,;K18;+L<47#T[I4Y@HLA#AW&SX_[Y-I)Z]UCZPSA(TT%KH#X M65/X"@LV)V+2'=*O8[ 37[+>S>?C.$?P;,9617;:!JY_BN;D- M*%-11RBW$,M'25F9A@6X0\(3T=O4U6MO=>1CZBOE8\X^+#@'T:*V4Z)U_H+$ MVY5G<9,-C+@L8PP[P6^OCE 4%-?;F80<%'S8QP6<^=H)AB5C" &!?_;&6&%E ME!NP(O@%/*'C]B-!'DQE$<3TKG\]\])N'L-01M6=1A]&>7K=;3/-ZK*D2!5/ MG8F5KXQNJ,Q9V!&ZSCH'E1@4(]KKL8M4@&(7).+7.@;ZPG#%B^&*UK$:P(%] M100%*G;MB*VXH+!:HLM,NF'M$JI$>FL%TC74Z>,J)2HC MRW:1C7:6B:!)C8U;0%8.+2=90A\1.L5OLAGH.T)3/N"AH )0LDJ M8:>I!FPE/Y%VV)Z0D"K67,-(W@5!\>!QF9A!L8^,ODD)QO,GK9PZEE_"$ 5L MCAZW#V^&93MN2>:-%;BR]@6=NI5#Z KG(9_D&"XG4";A&)N;'#*Q:83 $>@$ M]H1.1%.S[2]9FEC)?<[7(77923TD;+@T94-:R3B!U$$I#-5P<;#SSM'^["JL M4<_HPSTGY&OB1]JY-^*SK]U1517R';)'L?DKH\1.2/&N?B*4 J8J-":=_-*1 MA&T"VW'$]#_"EOM)"9HK'6=[3 ZR#4W7'&SAY,X6M1!F] U-PLDVLC!2-0O_ M&3U;._$PW*BTDW9-T"9Y.T'B\?5;&K5V\A9?I"36K M\+'Z"@%WA#1P*A-!XY_3\QU5P8=YW"K;AB '-@(N:B9&!D92"&*&UHL0L_:1 M#%# %S_Q5(:__-V:"IT!_ TXT_F1:O \R+:O3 VJ5"2)$9BP0C(%50Z#B3!" M"LS DMBB3KP;Q/=S/KNC&MXGV)Z6]59L?)TF@A!E1O9AKHZ.G'F$0Y$?1YSV M*+3.T>-E8(/@Z.%HO000N6:#L;6(3;,SEJ#I,*>Q7Q'Q@$9A76-IQ+T-:.%M M1CK_#M69G-NF(],A?8W'H_40>R."YWE,L'1."PDTM"SH2J_T4[K#1_R,\_!Z M7&^WLYQ-15J;X/E^6B(.[O2=A=0<#_6X>\=9.7DU^#76%I"]>K8'&*1SH]'$ MGD),)^E'V.V(59DXPN/@@T>!.7'4PB6.C-A(!Y0 ]J.6@F/F(3*;VXDS.%7A MB"_-37'ZE6"P%:N?3'"LWC_&1-_)X[02_1W20J?]A_I;^H>24-#2JFO=6&G[ M8U1G0^)0V"=!06>L0;$:^5N"7W-RJAR2L_Y.- 6:$ ZVXN%P_(K)&(I.I5.6CD@IY^G$\R%W)#3#)"7LT/85[-#4A>^?:.:96*UN7 = MDF Y0AN-77,GI&N0P MQ%P3'GB)6!C$N$'(_@@XU-=8DK%Q=-5%+*^,"N0@2 M5L#X;UL-Q445&[ F[6WL8@/@^-KH-5B1DG06E)BW V/3[>=\1*<%P0.^!HEI M UG&)A:)K]N0BV5B.+[,T2B$'@LA?X+HZ>3[KLQ% L3AXA*1>%'DFW<458?? MQ<5MX[& :D\M-X28(LB.$V/4I+G?-?IE+_6+0<8OB%/+^.,D1& O(P8=_ MT%59)*.<8Z>HDA7T@!,Q-3*+8W:D/5HGY"T%=9 M"(J!.7TWK!P+J\3O-Z!#?;?I?JQ)?4:$$KI/"6V78V.[J)$@&SC$K:%*R8GD MH'=68Y @M$]"<2MYS$$RU^'#]\35\Y%/6[2%6]!N%?3[;E] MP23W87*%7\5NHBV2SA'O+PH%85LKQM[%THZYU7 P"UL<'[US.SQ '!A]/ .B M26RC$:%<'&21E(UJ8]68U,T<5ZTX*.YSAKJC,@A&(9AH["PG%7J@1?Z0*7C\R:L1X\VMO+=%(D+RX(RXDC MDD>J2:DI_)I51X(*CY )=7R5:Q@E:AZV[2=R#42SOG+/7\BMZZDVZ&>,]KS5%VM-=]^[ MEL.I>1.@5?WUG^-]'C;^ TEXKWM H2O\"V1LXQ 7@J"0L^C0];$Z&U(#W"RG MA\;1MEGXT)'Z-SER;LFB$6X8)M5#K?)Y$'DK!N]35!7S)'2\E9")Z?X Y>J4BD M&))L8XI$FN+:.!3&F4">UH\NK[J%[R3&%HFQZ) QP"M3R&U]CCZAO*ID:=C M/#7?:;,"\89"3M9>41618:+A^W M$?Q8Q#5%\&.4*^%*Z?%:."28945G#%<4'CT_T\Y9Y40[,YX6%>4-*MJK>XD@KDE=VXO.+6Z/#GW2$SO\N M[^1* *JC'K,?['PTN)?/;2)W2H;5WL.=0D"27(%3ZVIL570X6&T2,8Q8HI%!C&52;+S'>K!1537L=^QNX.+(RB. MJ\%F%BD-MSW=T_)!6]; )UJ7XQ@V7(-0ZQU5068]L6U0_LY,W<)):@[N:@MMUZ:=R.C3?% K-?\HWB/'U@1C MP<);3RGJA'RN(OK2\^0H^XGB]4_!Z[/%/>G3@./D7K5@:X*7Q+<[P=5!0-Q! M>*N-(S*H2)&)C*9E(]7X)&4F?OD&DX)DT3$"2#\QA50G(7OH;=T&/%B%MLO[1X*XWL..4( MH1*4,&JQ,=:M#D<[D)&NRB8Y3)+$964P6+-V^UUV+M^QI ])CI5L(KN$:"2G M1PD^<3N!XM+$<8W@I:.@?@=2?HT2[[NP"T?2'_-DL9PZIM4Z1'^:J(;2S2). MZ 9E5-B9ZE844S5U5!7C5(1AHQ$!9X[5J),T&WC24PT7KEE)#BAO KX)P]5. MO@4.1$I6_TGW,\Y!@B1IRHDM.J1GIT&[TLF."3P"TMXH.P.!>%8,<[1WA)MI MM2B1%"N<(Z.58[D 1^&\0)(7@GR7B[4G@S%1G#=#0X!M]MXPW;;-AEA?^UI^?> T3$)ZX@ MSBZ!9CDTYU#ZO627G3F T[$5ZG-\"1,OR?ZPK! 2=3X)43LONJ.ZKI#5Y6E& MWG"$QS3@9Q2 P1- K!$B$5"] MGWYTVH^)_*1-X7F[*6=G)ENAWF/+-E)3<9HH?P*!ZQ::9Y>"D"SZDU(.C-XH MMJ=G+?>TW"-,\B(22:#T):XF/Q9?X%BA?6&#G_/H(K$Q>R M_<+F.-MMI4'(CF"Q<1CG#!!.@Y0LW+>%HFX)N'$J/W'/PY5IN 2\9Z9.+=4S M^7V$Z+"O9KM)MK0^I0=4-&E)% M1<7\'IVW:#$R.\.C96RND6TBT$X$;75DO^QHKL(0HW8M22$'^'\-@*4[C@+A,12+@#8=F'2 M2S7C.+'4+A6W5+2L0J<+M_D\6@7NTA9<;T&J0-'[[=G8B3>0RWO//L)I.):O MCM/_$*Z)NH0#ZV?'PG#CB/!!. R%8\A@)Z#=0)O]_(7'3)]+KW#03ZN#.++3 M GM6M@Z]F9UN^3>Z@QR_-Y2%5V53-CZQ[LHV-^'1ZB/U17 T67,MG8ZM94N M/4:B!F[TE)2DNC,:(K@/&Y9;$FJ;<]IKS9W[2,)N>V#G?-OEHB09V"!=4/%> M88B4>' ;<-PUQUBVZS^M740W=XIV9;,PGJ&[.>Q8MMW8Q\T24"S"V>@18HT) M2]1\#G*%JA#[9FP%&EP,0,PLW)37B@58V5E8=.+W.L8D:@:D 0L4/$M/[F9U M<-Y6&@$.X'N2@*0)(O8)Y"QBI\/=P_EEXLF*W/V;CL5S> $81'8Z19\D+MCI M;Z'\=>1O[NA-8-F+2@L(^Q"IZR[[50+"X[UAM6<30EN! M%NR-4Y T%^LR&2=4Y*2B.!.YD,:)Q;S5I_&T$OYDU99YXA&U!-)%DW_)2;P0 MCG?T"0X_HE3NHU=S#/(CE^)9 TG"FW];1T'&G)/=_U@IE*XL/Y1\:JY(DO7= M+PD:]('=P-7"?A!2YW2'(PQBD0DTNJ'U#7=80G1-;!_['AIDE>1<_K)M-+NN M1"%?U&WP@5 !N> $E?NX7)V7@M:GN8['FVY/F";C;GQ *I[&V-L_,Q7WK5N. M6TVT)N(:&?H5Q#J.X#1>:%/C&!1ZYP+L7>P@& 9NLW,)0W":F%F%";:<5] MQ%4>"D6"'=I6<:-,%'"V[X9S/\0EZ(Y7LSP+XA]['+SX6%MM'_?H__T7F_ZW M&U :V6U8[""Z8Y!BV8LU^VGF]M_@;GI'#%O%Q.WD\.SW*RP(',5.H:D:^C]P M)/3\B.-WTO30>HY@78%L];\#3A"5@JZ<;D40#0LJ0Y__XRKI=REOM\BO'FEB MB=I)XMQ#]ZT^;I)SW[CC-![ )L+&W@]A ZT!:X,B=JH&LK?1 +>[\,Q+L&Z[ M<7T;;]&QZ!Y7>P!EBH+%$Z22S5EH;$MQ6F%EE9$7 DET^Q M'IO6K)ZMEA?B(#GHY(XL;)F@I_C0F>5A4G#Z3MKYD%@]G9JP^ SA"<_017#D M B&B#*#9AKZ,C]=Q7GQU>-1F2"&ER2?':WTCU>I6=!.&L3"ER"NNY16!A]#0,@=F,5]\20 MTV=9V?BT'5_"EH=N.B8F]C%_ ?Z";TT:H5X(8S0-=!T4$D#X0N>4/44?I&U>5X)[5HCR4MQ#!"4 M^/]\AUUU(2?O)0#I1A)1^/F%&=U1%6D!MA*Z>.*ES;(@J152_H"T)>;K MNPV:T]B]9)2;+0';3:>A&'R M+T?BO?;SFFC4>UA)SD_;;&LZ;&^& B%@+T?R9140_E8,FU!=NSNQ&OP4FS; MR,"<-;*99A(FMN1=)PRM7R7KW'3LMP$'^=]6X$C V^?-5>%?H5F+4RDS+E@%:@RJRS!2.KE MR%2'G>63KC'#ID8G6XF+M359AR,#ZZ2ZIL0N9WD#FVX*6'EL$K%N-PE&XH'7 M#V(;T1YRK0$_CVW*%:M(E[-)LA*#(X.O?ZZFGN5G2N?XW'.]ISJM_H#.-81$\/75 M7J9%*'A,YBFVEI3%)#^J59=@9.#U[2+;CBOS1'4F-38F9A>KLI,;;P$(P-SVMET M@70RB?QDO9P5,0K'J\(SG#.PT"HV+,=62T'E:O0RD[#GST2O D<&+K3<&F;D MLCDO3V*59[XNU<16*CX$(X-;ZO8J"VG2;&[X]:;56>")XCR)+P4FN-#ZQIR9 M6)R?2Y7*%3RF*+F,[5R+CW*5X<"C@5?#PXS]DS& M[24?RQA8GUSV%@5PHF!H2\I!,%A>7=H=Z9\VP\EQFBM9Z :*;%L>5Q(\'/ MC7S66#(;@>L 6H8']X6I&C$;%HP!'TL^F]-,MRNP\A(.#2Q6Y]&PPZQ%K.JL6P I.$$F]T[,8NEE9\B*7 MI[MJ,B]G8FAH8 6N/776Q7Z%Y7*N5INX;(EI&$LX-+B"B=M:C9^I:9-W687L MD*E1([8!1WN"4%(;0-;P:F8P6:^;[-J:TK. $75.)X1J;@2WQ2FG(6UA! MKN*])!P:I,"20F)I\!/.'<3RF\ZXUZ'H(1P:7$'3VM0F&4WCL'DZ1:E5=HYO MBF#L"=+62W$6;3G#!C=E9N4D[C"5 =^ 0P,KT*>)G-XT@TI(V; MA$.#*U 4-HU)G70**[5&Q'BU%I]I$TQ[@KHMW)*28ON:R;L#3ACG.5GKPS,X M0;32A:42ZXQ36:Z;;,3R]IIRDNLA'!I<00N?BP*QJ:^X>:TT;DO];'&: #!# M!U? J'-^X'8+]$09.PG7$+K]\0 -#:Q@2'?BZ>)S.8;55A,\F]V026TRA$.# M*Z!L)4/W$@N=KU6[K,[6L)61!QMC@BN8L6XCIO(]DU^9K)3!@;N*AJWOO?846RFV"FK>BPS;9?B*5W^O: M-VVKFG-@Q7LQP1L&;B^9:E=7U,OW.+K,%T4D#VN OK'W;46#XRBT(SNQ7]\= MU;B.>CFB"R\W;>NG\?.;MN5=WLZD#%;>.+AIKZ#182WE'V^U.RN_Y"V M@"J1'!?;L13'M0Q4U1CEET>]-$ O!NK(7Z(Z^^3'L\(,82ZC$AA'#L.];=+W,6ZWC39KHJHKXD'R M_BYK:M>_W0\J@>\[B)9":8C;%#H_:@Q@7PPU5][F*Z(7@I?+IF7[L5/;S>Q+ M_'I&O)T1'%$_6!@9 )#N9\F Y4+7/^I!I&V;O&P]$JZA>Z%ZJ)8VP@+_^/2U M5UEL%RAA'+BTMOT9H&4?1JOMO]GMW*^VMJT@\K+ ]"X1&IR6>%!PY&0MI]U[ M/(N[1UOW[SQT=^U/_I!<_0X7Z3G(6]_6#],@HD$8@J<&T]\IC IVIF:BOE\< M!@%Z/I_5^$WDM-SB#^#^OKU\ MEVBQWN/$B\[3?AEP:1O/L'6*07IR*H'U-;?"MK3)<1GQ@SOWA!VO61?:3=2+ M[8/TSN\A?92)^U;:+DPH]8O,'Z25OMKF +P=!0B<++%5AA=^0OOY\"9\'I;K(QFB\,A#"'8RF%^ M2L?O.+ N*EBP/0'EJ&W/47REGQ._+\LU6$,FAH(LHD>9O5L/[K:"#7BR[:DQ M4'04D/(RZVAD+@\BN*.^Q!7=AB)XE?'\P%1G%[1]%$T#6U:KL&4UD@L]S<^+ MO05H99A330*"(0I[ +2&5A<>]FU#S5\_AQ!VX1Y\RZ66=[@Y-IBL39YVZJ-XGHP% M>O =8V!-]?$/^?3>;\"'QS]ENKENW\1/-D5T_*(1GO<:>9JAYQH)5W^V'PYW M0;UXE^@ZYO:!YT)&3XXVBAWLW!L3=-P[UG85OA<9][;LR-OG0/QU(,SZ?E@O M!L"?A62?$NP_#^F,_[XM*;PB.3W_L/_CR&=LZ( X&"8B#=X>B2?RIV\1?THP M/WR+S%,B_L.W^ L E7K"J1^^1>(IGOCQ6_SQ@!I2U)^PQ5\ J-030_SP+?X. MBOH@6_R/8T&EXW"O@>!=I,GV,"J?BV?U)!T>3'ELGV\A\ M7/',QYP!';<5T9)&D3@>C?S??P;7!*'OHH]WB$R/>A*7I*LWQIKS<63;$7ZP MWOK;(W6_^,J5,>1'$%GRLC069Y[HQZ*QT( =DM)0+OD^E&&?2/+14(8)42:4 M/KXN??Q#DA1%56^MV 4BM_.=9!HYDNNZ"[LX#,^ZT'=6?W]D\"/A!E?:_.6- MH('+_)]KKO_R%D[LF!HCI^RAXSE^E/+L.^FSEA_&]L$V3'4O%K9F^;(RZLBD M:BLAKZ 0N0X,DO3Z$R<-.:E9:=.044(L^!(\V>+'MG,3[)8R%77[__T5BQ_U MEN1V^(*\&5PD6 .,!E,C$>'PH,/.$'\]5^2P:/LOB'4 M]@2O"NV_&M4O[YC[(:AR%J907*Z58I\'<4Y424%L#.:UPA(F.B>.VI[M0G]W MD3.O8&#0%.,$_0]P.V?A=LO'(1X@36P,NLCK4HO+CF1F1W.$052_#K<'(6?R)"3OX01I8/8_<)H\IWVTY2KJ:C M=,2D"U[LY5$@J#7U2,OO6_#8<3>?)\'?+E7=WQZ_6_*ZEE:X18,]%OA(X./ M9R6M1D6NC::XF)R4VE@O/Z^6*M,,K&)U?8L)P0)!BSR+E83(_&O,'Q\']+/@ M7"_4V78_-]8G-6*=M[GGK-@=+@&<7\G>D7BZ$F1_CRP4(F#(37^2;G8M=FK, MLQM,P;(F'YM,LDRV6NR,25C \?J&"P*+8N1Y-M80FW^/%>)*_+1=:R42*X[C M.=%8KJE5K9"DJ :L5'HELP/Y%/_=#/6!;0AW&YCAM;D*3;M7=>/<,/3LD0[' MDZUN>3C?K^#YPL_VRZ0A^]\B1/RT#:/39F9QRQA@M7I[U>Y6L\0L#\M6W\"& M04=)B@V=1;<-^@B1YBVD.0MG[(RD;NHK0IMT9YV\/(Z;Y4P9XLS5["%XZ#0* ML3R4&WZ\W' 53?8Z@H,Y5%V+GE0US.TEZ99231'MRA 0P9M8:Q@Z%!QN'&42 M8LW7)8>8Y2Z95MXH<]WJK$'IY&;4+$.DN9[E)XP<_3VVHN\V";51?>30:OYI M02T.J*ILNK#8X+7(ZON!O!>0J6ZPCUOHE1^7BNR)T=2=%:=,YHG26NB53*6U M2@K4#DK&?I_/CJ>LH[\0# ^"XK[5,4DI)EC3-+-UJR7ES:5B0@; MOUW)P(%CV--YV5\/(HZ$^!6RNP?4AC[.[QQK-,YGBNLR/U53L76#X'KI/N1W M-T@VH<@H2YYG&0WQ\2RE_B?"\5E@G%I06:W9RG,=8[#_>WQ&TL%A[ :TM60KOY" M6/W&"NPA7?T9-=@O4(3]YY=;?QC2F9-^*"H^ZY\]1NDSN1(7F7UV^/"1C(6C_T#+CWPW: M7]W;*]=\)[SX&D#\2%FG!:_7LB;J8;AW6$#T+@MO?#&/K2*.36LK)MJ[6@1[ MP*];Y@RNI74KOES#XLE1EV8+DQ*UEK/K57+N5!H0'ZX5LDG@82[E@_@A M?D(N)2>[$D*V>S2EWF$\>UA2]%%UMAVD?U8V&BG)QJ;0S#0Y+3FVXQEMVLJV M 2_ ;V#(H*@H389)EW<3I'KG 'T6/!,3M6;S"7R)K?L\JW;J+694&$)XOE;^ M)1%6W/[AF!:RQX?5G;[,'RT'C^52HE3B:I8LVWBBC"]'B)Y[21YH\]\M%EU'R?)P9XLZ7W6OL/."4U7-68LCZF.CYHQ' MZPJ5%'#B-B8$ K]U6\A?3 Q^IM'A7'PXK\-YO6''8L^9#9_F.-Z@E/&T4UI" M=+B>!2*,>@@Q.&3G]\_.KZ037I:?&^E&WNB/Z RO3.CZNJGQ@I9I0 )V?9,' MQ49QXM&C)1X((7ZHD>2B#%UOS./U#EWB)ZV2WJQA)86>D @?KF8Q(9]N7:+] MX3GZ ]M8OMN4DE=$W1E)HJ6$IN6?*T,]F*AT'4UO#^HM17+V(SXK*\7Z]% L M55-5?BJMY1D9;Z@R 7A#_ :V#Y:(8D3H'@K#)SX%WV>!-U;J"BYIB"U.K%!S M,R_U*H-I$H+WM6P9])G]NAY$P D1+V2>/T>MNC3W3,R9.H,[5!'+/2^ZOH8GNL^:J<5+%:I4D)2\A8 M6J?9K#QKQN-20\#)&U@9XD24"!N&AA$6U\>%LU!A2I,;8]:T&4RQAZJ0:KNR M7%Q"5+B218(Z,W@U=,6$R!MR\1^H$UZ.C>O-W@KCJQV==Y^EE4WJY+S<&T+: M=7US1YR*XB0=LO$PL.+JR' 6+M EL\W%$MD!+[HCT^$RQ7AM@$3::YE&Z"FK%$NT1GQTZ1=4U@MEHH5 ?M(W*)9.!N-LV'O MU##NXFN ?A:WS21(*(TT[8W2-T[_Q(]\YU%#>$1QX: 0YS@$2?E:2RK2$],$M,FJN-B%P'=_.Y MLC$4<.H6L1I8E(C?NM#R+Z8'/].6\0&4. LC5EJ_NER:G1I?*O4JQ42[I6H4 MPH@KV3 29\; AIZ>$(=#GOX#E<>+,_4RF\PF?EN TO-&<%.XZ$-^FP9ZH8]F._P##Q1ZI9G< ^Z(L*2+Q?1F+%3V,IJT.K%N6F"2 M7 WV8*.O910A?[L7ZLX278\&+1?K:7O7&1GY<:Z5PBETHF MG"4D2=!?*]D$P\+J&B&NAFSX4=CP%Q2Y MC_/A3CV9KI7++06KU3L)B[0K:QX6'V9N8(\@*3+*DK?V-_]BW#YEPOB)H'^> M!$K/E>6B$L,FE%9/.M5F,]YO($9\M225D!/_<$/&?QP1(-)_MW=<=0%0:)+W M-P1ES7!%_]*#3V1M\=__ _]L%R/IBFC!(QKY*]ZA+%R;SZTQ[)\704P(XHJU M/1IX3%NT]%&3];:*%AE8:O"^?5)RL(>1 G'_#X%N<:C$!I8B3F*B"E[[1]27 MXMKV]T2S3R2^)5-_=N0([CJ"8T\$^\_(P6>X^\!ZIN(J=G! /M3$=$5U_O@_ MVSY#%&GWT+0U>!M_+$4'U[)0X.Q'\Z)[<,S9'P)_HB L@3_]G9'X$WFABSD@ MD(A('F@J8F1D0:KRC[8IG8+>[+T]N(_.@ 0>';0!@8! M/&*J$4C_ ,S8.T00_WL (:^!\?&UG#IM<=<4GEF*SMPLIOC6XED@GIMELQ%/ M EHO$']YK]L-'?#67++D"L9KF-S(]EKDP.V"H;B O1R:*C33U+0F9/B8V@$4 M?U9D-+H!AP9F->UV)M7-B%ELVNUDE]J$-$?K)1S*O!Q:H&6=RCMTFQ/)ML[V M"'S3GP\%@@@N@)Y9;JO2HUB^U6H7LZJ1,VBE 8<&%I E-%RH#)G99,UG-&W% M/+)3O3J$ M0P,K()_I6J>5Y--\K/A,I(J=Y'"50+,&5["<+*QN6D]Q'-7LC&J$XTCR!(RE M@BO@UK-F=Y%[7D^ZL84U7"AQT80@0P6AJ\FG*;S)24EL3O0:#4[;)#EQ"(<& M%CN9,'DW:1%Y3JME9MSSD!:S2;2 '1MC&5LOERFTERLF=NTU^7!UJ@9.Y^" &+93!.3F)[,H]JS#CW3+'Y*:UA#7EX,C G.)A&1MX1924K:.Q3J% MY3@U+!0;UA)(VX&%]O5X4JUV]1)?*C6FS]-F:YI[;H"1@85JLWICSBC5!*^U MIY5RJ< 410?.&5AHJMQM)!<2!4A4+=:*S3JVC;?AG,&%,M7)>LR,-^QD:F6U MS40=#(9D4CA!'M9+9O8LSG)S;EU4+%GLYE:) AP9V-*B3*V?+0JQ( M1F6X&<*1@2T5ZPI&QK"6RJ6),69@5$[4)D,P,K"EM.E*ZUCEV>0HPM(6Z8(J MV^(2OCVPT+S<=S@\D5CP)6=#%H?5[$@SA\()>C/)Y]@X%ZOT)J5-LM"85F;F MN#@43M"%?&S'2F'&*3=%5E^O.U_6ZLA#R M&KT44,3YR]WS(WON#F(+OH6WVL]3,*G-:BE=G+-XI\*VE0 <72@\J2K_N3'N37'\U*2OF<]'- MP)'!A?:S>"ZIT$49BZ4;([FI4?$T-128X$*;N>1(9O26C+4&=1%?Q=(Q/+T$ M(P,+%8AD/8T-- -3;"(MN?6.D&7@G 'B1'8+RQ(IIT4N/6@TR](\4V-C2X$] MP3\X'-"86BHQ6>(D0<@-,#( HMEH+>'LX+[0>-.GQ _Q7Q M_U3DI'/\'?O7^[]GWO@]VLZI"?8:&QX'0Y NM]-P/*,)T&YT<68K?[8?#L5J M:B>Y>YJ&Z#KF]H&G9J G1]K(@5+KCPDJ=V?%[+^F0E_!,7ZV#HW?*C;G&ZUZ M-]OC-^90WFR/ET^5O+\]_@98O7S._OWM\?*VU7O6(C@+; J1<6S,4VVXI0_CG/ED<+/00&3Y;)($44YL8.RF5)FY%G7<6ZSYG MQU TVRUJ%<6C+!4F)83UG6^*&&?A1;I'+Q@CW4CP2F;>8*:FW:W&4>CFM>H9 MX6&5YQ"30Q9]&TKTE0HN-^?1BP[6J9AV@>05)J<^-P<844DB'GW]Q$&<240) M)BS7')9KOBUFG%=HLSM/].6434_6SY5J?E,B])B $.-:>85Q]NF\JEXAE_YN M)\5/*-K, 7QQP)21E*OI<.YW#2"_@=1^NZQT?WO\;GGJ)IK=%ANVR' )V:J; MRD\VUK#.[Z]@^<(:($>Y[6%^+U[[1F? SFSP+YOIJ: M89U,N\_'Q&66*DVKS'*VA"!_)=-&//[;2T3^>%P,>>Q/THFNIR/2EM,^JPTM7Z.5>+EQ8J>I-.31G:8S5OQ^!!6U+E!/63N/UZ)O!![7]1K\Y71'74Y:C%+M!2^6J-L1,=N4"::B)+QL%M#&.QQ M6\0XSVTQ+=?;_7K>P@A\VET2"7S0;Z*:D]% MM56G.X]U&'K Y=KJ2K!S+&6[J SQ]6TQ#!YESA360O+PFUI]7QLUSL(,R2K@ M2IAHE5:0LIU?0,,@T5)*@Q6^5*P2H@;5V/J YSO<:55:8F) M:[J*UXK+!09M,(GK-?*BGZXDXCX*5W\PD\IV)K]3$TX\)1+>>QX@V 6U'8^$ MYN[O;7CJ#X"MOZY/O6^=\WQ?N[_/CN6CU9ASU-ZZA;E2UND*BWS5J:%^26'' M\A]'%,*.Y7O =U)=3JDTRFM.!$MC4UA_TJ!03[&P8_G].+E^+ZZ&'K0J9ZM+2(["CN4_#K?#CN5'D#\FN$YE;&($G\PE MFIE&S/4Z=H8=R^^($S^4;>2P8_EQ/_+/K?2XU?:N]JUF@+4X?V+X<;W878_Q M./7NUKQ?[;OFG;G5HT[L'Q*3%8 :,[ .QW(5'P<' J$NGZM4=4)AVKI#) KU M))WO)X.,1U*T!3Q9NPY496G=!B]-Z:8T^1I)\H\Q3IT!$_#S'\T!8"L%:TK_ M]=^D) %H=^S(?JV'Q_:YV__P(C\*N-)X$C6& 6L$^TMQ7L6!\19S. $W#@DT<, MCTC$O9#H^Z 26YDA D5DQSO8LB:B]6N*_76*&YK6Y!1-"G(3W^.+[#7BL MK(#0(]L>BGGX[Z_61Z$=UJ()MN1LBZ5@]@-R%XW8[@ &5WMK0U03;DZ,@#L M=,8T%#@$T$\1 %9D-@+4 JX;OF?FA64_12(OSQ&2Q:%B0+P&1R;IX+&F:G!+ MX.6N98%U/-T0+!\%"O4]TL([L@&)A623+N*< M'HOWWB7O7[8$VA78$,)5\(8A8-+@,^2;<*M*9*V(UM]P1Y8"Y@(88)XZ0G!D MZ'T Q,$_^Q5%"NI.VGC[W2=?[#%/P.S\"2/H'.$EJ*>F,UU=ACS>IUWH]DRX M=$2/8N@]AS<-O_9V@QQ$2(P8B#JZ#7ND@)W]"-1\>Q6R9L]T>I=P"B.E M4Y3@7QKD(*9K@Q'VO_]<46]BNX5Q9^ ,!IB6>![-AZ580ATT7NI-ITP42/)( M&O)6[%BWX=Z_IE!= X[NM%U\P+"!)GTKIB%!/U$/W/-IU_\H\=>GSN!5RP[V MA-^V,]!+E]_'^AF^UC'H,H?Q1%RAP?='#N,# '2$4Y^P:5\+HG#VB;ULIN4E M(:H'Y(53D'1.G:"0QGR)QMQ1Y[6/0$QEUT#UK0:$(?VY%VCSZ<^#0EM&D5"\ M\!;@F)!,O0HXQ&4!AWW"]@$)5X\)O"30;!6,JQ(G_(DB;W<\[U*N1X4QD@YA M+&2 UX0QYHEB0AA[!\;NAH[]2 !D?Q0 AD+7C82N1Q/6/??Q#:2N&^[_O3V? MU^SZ5B+4HT',493!(PE2ESR$;P>A(PGIT4#H!D0GA)ZSQ9M'@YY7"="E"N5? M0<[!7LHY*=_[+L)8/?#8@,YC4_7C)JZ;E7-3(P@V^TC4_E73=>BG^ V%^DOF M*R1MH:8*./'YY)P6@ZVPBB&N)W,G_QSK9 RILVX(I$"<[>JO*D[:BTYYIX<. M%B7PVZ;$7ES$?$KJ@AH/A>6\,FC ' ;XO8IW#[(1[JWG5\9MZU68VR) M)M_#8DZYW>";(FL6A\)!*?NW<'L7OG,>Q*,N_G<[V>^ M?-IZ]?B<_;N0_99NK@L6 'B!Z_3'<;U/,4(VN4I3O"@7UVV"$,RV _DX8?G7LIO.$6R$21&DB*KS+ZY5<.UN$V+W/([X@*\>H M*(8EWD#P#]8]OX7>G$;!U"@/SS$CHC1W-2]=X62KN3M7(RZB.'Q*";Y/]GCI MRE#QFMF8]":)&2^RNB3I;<%LD4DA\0&EMV!(EB+:2D;Q_I\UK>W8) 0^2Y$+ MQK:X8MJ<#C0#;>%MU".NTGKS!VC!'U=V?SJV?F_+EUMB:V-9C$V2:W:&K?55 MDG46;8:2&T+B@VKL=3"6/*][V_?+N_<%O[\#1[&'Z4:*"MU\Q=;$E)R)E%P1 MF0E1LEN8&>%\D0T M$U-Q62/[F#04$A_5'*^#G$P49S^H:-ZMY_98 SVL(@-69KOV<6F9G^3UNJF? MZ^[T6.C'^=%U3&E4FS5NQKL)N3U7\036'RT%:J^]PIIR'V*S"'0SKM(V MTWL0[2"PY0^A]A";;7 88,DG+4A1-A&4B__]DV#^OCV]OQ;WO[D1*MPJ3OS] M8*Z0![G=7P[:OTB9M#J#DEC,B[,QBE,S*R T$KME]7^'3 I!\R+GU9]D[RY9A)U)P"-N\X:I@HRP1[%YRT&H6H]QM1[SY%XGMW2,"*H=H4 M%:DV+9A'AF@ S#$S!V!AB'J@$O=*Q 9_V!!K;Q:C^E/:;U\E%>T>>P]?P,)Y M;\3LODWY(:*\G]=U#XAR4,?GNJYJ[^^KDN02Q*DV=*=Z'M-.2QM\H2NQ/2$3H. M0VSX3D_#?6'#30T>]#/]O&"(4@Q;+^5B0XOG#3ZS!'STH[E5%V2D)_@G%:7? M3*^^0V?-02T3OQG,ZU5,+H#2=]5F]&3VXP64P;O:Y!GU"[X@X(JS+%\JIP=+ M3JE-\JT\4YA3_%!@KU":A(D29]8N^'9=-H!E;^BRVXI2%W4XW3$\7@;I'KF! M\=>13L]3A<5R4\6H,=NDRX:Q&I$-@'37J!E"8%&"/:]=\?<+NW=5,. Z[/*. M"P=<0,?[[@U?I53()P3><7=,D+$R+W+K=G^S<:PT568ABE^^5,@'2GZ%"!XB M^!?5UN]ETU?'VW9*$*FE.L2P>:M+L<*J5-EDH#Q\E2(@[];S"G2C_QTMF0M> M"U]5LV /7]3$;6JB)FY OX4R%VK>"&\X"AM_'C0JW?8N!>/^YT*.@L2[<%,5 M+4O0S7+7M5)6B6O-8XM,2N**Q&3X(:!YW5Q!G2;\B:<@\, ^PKJ&FHO+'SL# MYO ,&,%?LE" 79)%/>DU"(<_J",+0]J=NCKX>Z%PJJI(3ML2#:\<3'*EV;N? MIT5=@N,4F8=-F_T]YEQ-AG:+@N'].(7ZOK;-F291&%5!/8P^EUV#_O=F\$6PMK9A.4F!XS^O,?V[=XOX><_F@-8L11<*HP3 MGXH:JIU\8(6-[,VP]M<;"G]XR<='^_8.[N6P7^E2OC]>V#K:L5R/@I\.+H*X MX#<^1A!N[7[L0++L4_\9D!L0;P0(,(T@N VSK)658DF:K1RT4#9G:"%/D4@2H5/EJ/&AUV1;' XM!:P8 M?)K"5()M9_O@(D5=-Z4MZ=SOYK7=+\&J_4M[D^>]L-WLN-2.Z/LO.NE7X%:0 M_BIR&X5ZU53/S^"]I>6(EI,!"T;,3]56@@0N#;TDAI$Q##_B9M1YW&P^GTX) MUBGU>"*38\QL7)V;[H(X[RIDPF3CO)1K\E,SK8[Q M;$91!@'Q[JRE@X>P!K\XW ?KQHB7MT(BT2)P)__<8LS[*&$N4*-[)0*0U8F\ MT;K\.^_AX.ACMB+]D5T+,>2#DZ\N.3$G3OLK7HF7VDXQ74ZD[<\AP5N+]81: M'%I,7VI:OHP = T@+Z(C]30T, J>HP;D-%]O"SZ1M<5__P_\LW,>Z(IH0Y9_67T^;O4 .>K60N!;"7#,VPE:96"M0?>WK_$?;&+D,50" M*?]#)3:P%'$2$U7PWC^BOA37]M:8P#Z1^-::\&=G-8#;CN#8$\'^,W+P&6X_ ML)ZIN(H=G-!1#WC_9\=MX+)*9;,3WS26"S$):#GVIP:K+8&ES5(J/XVI= MIQM@9&#.UGQ4QPHL6^ UC;720E)" M]<@"(^.SU-P8U(L6%BL814Y1!6JT@>54 B.'=(8F,&Z0Q]:+ZB:;:O;)10:F MQ@1&3F12YE+X)#^A&+J=EYCL7&TUP,CMCEX08_2[PP= $O+_5.2D<_P=3OSU M_@0X=@7O\BO:P)[?'RB]@!4!<@MI+9"Z:T#]M15K :5G.!;@L1<9 D1N!6K- M=D2TE,A0,10+2-?KK;QL&DIL#9#YG%6 EQO*$A&+_;3@W4!=]]1T&6@!WL* M' \9*Y!OD,@H:YYJ(CI(M%\")0+)D%#5T RD5YQ<_5:] /*,H43@.J%>#]1[ M.^IM']J-H!%0]N8":I!I.4"84EU=]=*67Q.0H.+S]H&!G1VY#P+L_=9:[9DJ MZ^NRWGMV3P4(I#/P7J!N*KY1?"",A4&S(II-CE=JE 1D4[R34 )&M3*X$T4I MPV(0=MT$&O>Z#=Z: FK&TU\3>CDU;0?%MFLJH!G@IQ"-(='U]!WPVK=G0;0-8C2R[^U6%C$ER9W!0@:# MM6^!M<#,T )AJBHR-,"H.?#%P82F9^:&Z.]!A2?X@Q/2/%MX!%#<*5P93NSL MAQY10LOPZ) $)5UDF(1+&OAQ>O9(49PG2##]:@IHT?[! A4;4#E(J6UE)EJ> M"JU:YM33XTPC]G+@TX[T;F]%/UCQ0K0T=%HS<>UQ@(%H>VM"FY&5540$8Q5= MA_^WS2E<(#CX&-J@/Q48O;]1>%S[XWV*=+:O\%8&2;UA>Z?Z?\\2^[D@XLES/7:!8 \3RC=9/ M'IA&D-(3,]68"V_ LWC#XSMR-EA'_C+ C@$P@9.6T'%'9(@9.R#QV+AG55R( MNN=7\^YR!U$[,X/W'%[W$[0 (H0&P^'%^H#DL^B992XT64$@.(5.)0V@"W@O M\N7MQ1.X"?AC#58:@N\"< &T1\M<(BDHL%#-\*X1^;X6HN;1B9,;!() M=77:'G9K4H9:)U^RY]J6OB%8Z?H[27H;R?C[:()M^.:I=VQ3Y!,>-$XA:K2W M"AYA?=07\^"!0RE#/Z#>>VC:FYGW7X+?@>^ (@GX#+Q;0!TL$8&ZKAD("+17 MP+!\1':VW.'([Z,8D$B_N+.M$PA=WJW]R'1AE5"GHR$_[2S2$P);Z",I(&P= MWR;G[?!M\G)-9_%G-HHM)SE\7$N[DUB_P]:;Y?I,,P)VO4]ME'AUHY?SHCZD MG-<^0A#[@-I:*(_=ES4@?@!&"Q0BI'$!ZM>"HH%/QK?JVN?Q0K M1VC"-R++ M,/RK DCQU)T&/?^%:C9H)@8PM03B%:#8!P"E #AJVJ;=XM9]N=U.&<5J=>_[ MAQP::!U@]II:\UQ5L&X&4&=WT(2]A*8$@"8@9P6A"5"2*=0[?9^7YPP!4_DF M8D]+UOU#1DHO$%T!(7)@CL9+*E7;H>;[,49^< M"C"_O4EBO_I#=G>&K^&D P""W"&=Z"T:W(+)=/A2.[\L+>= M5P!]"44R_*__,GMZN#/T(VB'IW#,$)XBOXU0) $4CDT+O'KK7.I@%N$XL,.HC4#* A *K /5Q9!S@Y(GA VGE@=>KGD M1>;!52'7-E@<$$+-M0*UF2;\9B9JOM?9B]T!FAA:^R?EAV.'Z(VE";ZHQ!>F M6>ABZURSCADJ(T_* =FP[HM?6=-J'HI^KZ@IK[/7[Y C]'2*&O#,?#A)RYVX MM)R.-OV@D_R#6PP*MZ$$<;:EJ* B@RRX*=FKTX_,-A#C/)T+Z4H^TQAX!ES$ MY[S\10T&%X!Q2!UP'YY8>.T2&I5LZ-.2&P=ZV;%*=W5A]GDH=37DD:*[.I* M3?4L,^A DX9R5S-92O5!/Z19 ] EDN;'<*QH )[ .)$4%# MP*CC2XORUDH$ \9@V@%B7T>61VBC\%YD1_Z%1INN#::S__T'7V\V!/%RZW>G98YZV24<@G#/_A6\033SC]&'L\IV2= MZ#KF1PM'?!\@,Q^_9;!-^!"%U%WR$(#^A;,7/07FK3 I?]+!T:3'OL*]N/]_ M_QE< SNA'C=WYW?L&3*5V$"BB@?AX97"LI<&2 "$2BO^H^N617G\BPLL*^K M]D>_ G^Z= KS%XH4S#1]%BO$$C.N5"\,#6H:9TLQ&%H6J QR;'IKPC775-X7 MM-_.@*2Q:!S_6L6=[T&5 ^G[SV-+<[=+G_Y&<>ZCFWP@TGU6V%XD4D,VUJWQ M\P!\;U#^["&A^\=PB>O6LN'KTV>G1RXQ3,FE.NE!K6LE!-C[]!TV\<%,>3R* M48_%)\[$R[)I# ]CI,[#S$\AX \KSO@Y/+RC(HRWE.9R%.9FJ/@FS=4:;.(Y MZ]1KS3 GTV(KZC4,6C&/M6]\3CBC)>WM^+ MNC*G_GZLK$8\S&H,LQIOE]4HQ4E<$<6X,(@/&($D*%5@*((6U 09C^.BC,6I MXZQ&F!&W+(Z-/ENVN7E_-"L+Q4ZFYB0%/)CGMAC0,:G#S6AL/A!(-TX[M%E; M"D1PI"N)\P+7R;1X8I73FL1PNARE&V D\7)DDIS'!N(H5IY0C:%>G ^)V;AR M,F_0*E"H; MD"J4.VEMAN>Q+C82$ZT^[52XY*ELP+%AK==-42YAI?2XV>Z7!!FGDJ>R 5V" M[0\,NLQS+84J#@AC99,K3O"[&[7;C M5.;HM$5FLG17=29I0+)FK=RT:8Z'IS)'-[5E&N>4B&H"3=7YK51^-8-YF/"1R6-EBF M/]*.+Z, MB5Z\'2H.@#[O.LJ719MKA H<"*3G&3/\2JQO=Q$(3_D2IXP_,6]6D0]/^2*G M[.DNX3%_]I@OU1SS/=)] 3M2#Q9K4 R4R9=1))39$XGC%^QN>!9YO ^&?XF= MOD>B+EZ2^XZV_A[=^.HM[TQ(Z/G;^_8M*SLQZXN>Y>]$TY?;1NDK_]IGX)Z5 M[W).^^B;HNRM+O,RDL4C=&RY O[=DU5^L4@^FS&[D\=R5%Z+-Z=]*9Z!-K;X MA_3A;9*1EV\HPU33K ;-]3V4TOA.%P>*H:_C-_MFBD)@#\/K;T\X0D'@ZR[% MGTV;L$QC)#L=9' 9YWZS+ZY+UJ2:BC6JN>IDH@WX5KW" M:N/2&,8Q?IJL)2%.GT?;XHEHXJ.JV5W0,(*<[=,PO+S;[0G\.*NFV+8+]>)+2S8A.*"G]0DD)DK9_7=?%UZ7_WX8^>B8BIFJ+RJ5W\Y8 M_5V$ZZ/TZ:XR4B\8P'/'N[RR!B9AM4ZYMA$FZS4Y' S3I61JBA*T C3FVQ)O M?T?>46DJAP*4>]9K9EPAUS5V<<5OW^#756:< HOC&8/QC!#Y.=$]@__T;]Q.$5_4&? MX 7]"XO&P%?_?H@H_T^3>>()>[,J1IA><:V#3SS%WRQR%9[\UQ-;WJHD>A9! MNF[M5/378570.RFF2M!/\?LJH(L"BB(5+Z6 0RD%EZFD&T+#N=#P0*5UC[-- MKE-D]_*P@KV$E;1HC[SF,K"3C(A,$\':_5,@0[I>P\.3.>[7M#V])SW<>W&I M=YGPM^JP'^CNU>? M/;_BX@WPZ_4FJ.8 ME7Q<$Q922.OU]VN[^X[V/4@2!3BRANXDB8:EH8-\P(W M%RJ=EIFMMSMC6' F@"LOZE?7?- I&)P/.%G3^I2%"*8 M@J)9SSD^/;'UJJ4]ZQ,MT+*L8$CF5&F+JY>MYN^EG[RWP A8X:_M*M]%G8AD M5W+VS?V<$>#SPY'I.DC:@=@!Z'(+MKJ"LE!DH5F.BUI]@7\BJJ8ZZPAJA&5[ M/;N 5.#U7HLXXLIKN^RAY;:WN3N#3>/!R*VB#-L JN">O$.(HD[M0-Z K[<4 M4T6-!;TW[)JFK[TN3-[\7E-BR]7A$@I&!%))!S6"\SMD*A&PAZD=C=@N$%-% M&_U2%Y?;A44C8U<>[OL;Z\H0M3BWP,$ 2<]&O4&U*2#17O?-X!91 T[;?P\: M#DB?>=0D% YU+$5TD. (>1N<4;.VO34)=LQ">C MNZ,$1Z*"'^^[88O2W-4\LT)L:_ \W6$\ZJT:+-=:^$T376/7BA1\M35/@)&B MA+QU\+01-S9MU$32MDU)0Z] %X+ZN &*"ZD\'&IZU!2#@T2 'TB!DE;84@(VP)]@'&U%^O4MC/)D: MX9-U0N&T]=K-V(F,PY&!+HT%V.L=H'%&\?Y?,)*2!)B#O"/WB@W$5\@E#SLX MVD#< $LYQ76)IV ,RZY;I:]RJ9IE.Y&Y*UH =""TH]Z=LHOZZXEPLY;?B!R\ M8-?>7$;0/% ,184M"_W6R7 V!(<0:2*J(L/^R@<7$8$J._0<2(?0/U6X#X# 9WKC'C(BZNUQ<.2/!,%]=_- /V@H\-H APM/&]TV/K M6O%7][7M__7?K&:(A@1[/A8,2,NG1P5&+R\6 3&G[_:IK,2)HS$5ZZ@;OIL? MOD2@+*#:* X 5A[P%WBP/D]8^EI,S2.2175W6=K^,%";1,U&[%&"MAG(3= ' M!3 [P/K@H!V3@L134L!C0'NB/@?=/SD<-_,(5!1P1142#1M<-VS .(.'CSBD M84*Q A 7OP.QN304"SS?=E$&ZQ#!Y M37T#J ,@/$#D 1Y;0"3Y%NK!OJJXI M4$2 ?4%1ST= 99'<@GBV[;<[151KOV/3(WAPJ:AG,AQ_U!_RJ%TQ' N$@+TD MX//4W^FW;DZTNIC"&E5L/G' M9EZ<8@P].1%FLR5]'U9B_-V@T$@@G0%I]9>J,I"(0.EAL:\S"F73G3D @MNP#Q@,*Q'&E +]"\-JY #1KJRNY;,-X[X:6"?@I$?4X$H\VM MA0&)-( 6S+P@+T@<#K[<_AI2# _;_2>VUUQ]H"A 5Q@.+:!R 'DZBK03L(KC MZ6VP =@:%F@'?I/D[4^07&AIJ+GQ:=Q_F.JYMUS6':WJ>VCE.)4<\;&99F#3 MY[+*:]E^LZ\':.5.6-F3%_O])LQ$XC)&U#==3O&G"%R='U-9V?MD[)W[Z<4$@&01#5H(G$,S B"6IJ%L2 M>V1>:#['#H,/+?*%=P&=,UC?&P&G3,"E\+__8"F:_?OE.E[X'0[OZ+A!QX<6 M?"#??*1G1!D(U?K__@.GL+^WE4KGK@EM43/+Y^N>( "+D5L3"/W(T@(A#@D MIU%B#T,!8W\(4;\&H@@?HLP!E/70O7M Y-NN-6/F0BT-FDP/QOB/D:H')4_) MM"P37!(RD0[6VSEDT1'_AH 7PEH(:W_'?5B#ME%-!9L':L(IJ +TS%-0 *%R M8+L<*V*8AR 545::#0TAR&$"B)T"U)&YJUF0=X/-0L+GK*$U0X9O-V<1J%&8 M2P.20G) M9H]TW5PK,9GFEU0^D]K49[WAJ:Y)KI(NE>*#R8A7R+S+)LR4G7&]]NDO1FZF MK24V[ZHCCLJPL[75R):S:&1@2]WI:KK0I(XTF;>D!&D\=S59@B.IP('.Z\XF MA65-K"2(7'Z174@+ JXSL/E,E=$[/;-C8Z5^;2JVJ@-E9,"1[,N1G+Y1JXTD MEL*TBI;&^I529N$N81^HP#&-YQJI> MM":E9HILD_1\35)#%)?S8B2=Z5OU6%FI<>ER8Q$CA%2%RR=19<.7<[(&)O9+ MLQ(?] M)A93BGJI01E-;=,XU3&-S?*59B7377$:KR7D]L8>Y"=+U&7YY4+GG"5D]7Z: MKZT2=8PVI6*I/T35UEX>4V:]*: $GAVP/'%&LSC,P6Z1K6 MS38JM>I"75<[<&0 [BIJB1K-=5:8=(FF0V[H:6&.WAXXT.8ZV>_5[([*SQ?/ MS3HW4QDC 7<4/":]-\ND:Y)+\U0;R_/Y=9:+/3=0R\P7(TMIG5OE,E)Q$FLW MM':-6J<[J:3 !$<:#4TU^'07>G6!$L5.Y, M17-BMI4&8S"V'%&RZ\+S@IVJPML*:LOG+6=;_;X="DWMIU1 M#),U.#*P):%773/K> 7#8H*V'CF+?I(8P;<'[I,"ZH9(Z)TQUTTGTN5-P>FH M-DS,#FR>7@]HNY"OB!-WG7!RU7(L(W)P9 !!I/:RHFNG)\6L@XN5X% MKC-X3''7H%OU%L/SN4I]8CO/ZA V2SW5@&\^*C;P93:6X^:CX;(QV"PYK-X( M-N #0P=9:U916KT,KVTV&D?@Y>=Q>>BE@KX8VFJWGQON?-RVV.T0+")P5-QQ;6J&ME+C8N$CGF4J+;6?0 MT,!AQ=,RQYFEQIJ?IZVF,*LX]:6-UAH\+:W"S3M9+)?EJ(&9VR14I:\#Z,=/ M])3$)N:PR,96XJ25S*9&+B4O57H(AP9.RVPO^F#.6ATKS=/5]7,E;Y$TFC5P M6G%]M>:2O7Z/G[HN+LTVU=341K,&3DNMBLDFE8^)DW1#-E$">J2ILOI%NQED^-R02A>G*2#'" M\A3S7[?:DV6K2.*S69*QF!D\@63TG)4YPR M.:=;0II06:R;P,&19+-FSVF9PTVSJ?'^J*6K*W98?\D6Q&ZHS5 M&B[)B>NZ4)GD=9&B&Z<:<:Z-E;ZQUVV12W=K>3G'/)-$HG&J$6=G:J1;PWS2 MF+B8GDF;Q'A>;BT/J/7;+1F1=?_"WHC!),.WVR4R/\EA$ZG7D?D660]Z;G=9 MQSN_!(H MI.&?%!+P?<%R#6CJ<".Z$!I28FV=ILDY/:QX=RSYKA3, 9,X+GV M#KSU43_<$&CE]J&[\L F/](4"V;7K/=V@!^LIIR[\_6H:1 M!C"$P3\A:-_24%(T4%6.TWG0% ?MH:)>]-7]MF[\5&KV814+E+3E/_#47?3D M[.SMK2[[M=Z-">8I<=6.2I=)$_U:T8LGYKM:@]UNBSC]P[=(7SQ1Y>ZV" #U MFS)5;PFH%TZ+NKLM D"]<.&GN]MB"*@_88LAH/Z,+?X"0"4>9(L7*5CQC3+Y M)2I6?&;?]R>Z7[1V!XY?MGA'G'U*)!ZJ> TL'-%I]:[C_FMSQ81]^1* MLX/#"RBX&PW *\BU>FK* S4L"V.Z%4-:GY[O4&';^;V]B3]>C*O6HQ/3].BY MPFOI^%!LY$2:=(:G.II#+$\:,OP?MT?Q$WF#;Y?>(M@H'G^K%^A52,5WV1_O M@E0\=!W)R]O'/T@J_-R-$$!# T!- 301P302SMN;BML'<@[*+KO2"KB; ?5 MQSF(%#PADMR=V$5OE&1&U\-.WP#8[Z&QCG@_#'1Y/3OLGF M0-P=\RMIO<% +,T:7$VWJYK;V*A" J9/4*=X7VM+ZE]C[N]TW(Z2)'66N2%$ M[1"U0X810E6H-]VOWL05N45JM:Z-)F)=QAIMKM4C16>:[N=OD4GVMO[%1-8Z<%(RDD!/:PY7G*[X^4W/?9V0M/:=BG0/:; MWNR+$P )&U7N;\'"_1D@5[\M6%)1-LZ&,1 A!0DUT4?51!?=%";38*J&@6<6?$Y'S'WFOP]YWU*7Y#@8K?4*'B-Y2H^ T9U;\AI?HW)/^' ML!K":@BK(:S^R#U^8ZV*"Q2K^/DI\P\CFE^K $58:N*XU$2@Z.2[V9 ADOR< M"A)AK8COEU3N^+8?B_*=4_\AO.R?=]FOUG0(+SNLTW ?(6!AG88P^.NQ@K_> M=SSBA.]Y9'YVH8;ALHPU5\MFB:O5Y:(P5MHI.@E;M5RK4 .9B%)$6*@A#%)X ME#"G, XO!- 00$, ?6 O?LPK[>EK9\8Y[5ID/%)WEPN,*7)K7%.'6E])PE; MY%VK4L.[@M?W6\,#>!%6:KCW0*WS2-FCZ8=AXNTC,,A'$]2^R^IP?Z4:'%IU:C40"2*LU1 B=\@R0J@*5:='5YT4-3;2Z5XI MS;?TQK"3ZBP=BUFBAMG7J=;P-O=X*%>=&59K"!UV#^BP"VV@UT-$XGPE"(D(:$ MVNC#:J,E(5>L],1IJ6)KT)1#6@(IO.'_B5$#I?2T^%<(O@$(G,K/ E5K@51%3C8P $H!/X"X4 M.3(U#64= 5].%">B @RV(Z(3$2,+,%QQT/BEHNNQ"4!4 WHJ'2"1:&ABJV M$A%M6P$+%F=%(0X=* 10#1L5QH!+!LX3P@"/@>';]_X!0#S&H#852(C<:%$ M]".O=F1FZIH$ 4,R 4. )_V!NCB'!*M0S;Y+L:H !@2^V(UU>X);F*Q[:9/L M%7AWS#<.J15TO!>V*X1T"B[%!F@*:&1-Y:8SW5PKBIV&*U;D'5G"7I*E."PD M$[2>193M#!Z@B6"+TP&@CS* (DG9 ^C_?/(H8HGS3J).Q1?QD=S6)C6NW9V1 M'"L1R>'[)P&00$E. 4MW=GNG3@9=D$]!BNQE/@"(TL%?'FKN8$"T(&@L%!LB MH0: &,C0%B 'WC/(LB(+9:1).AP+:!I$L0/$F^Y9FT\\(B_")08>2SF%Z_;! M.C0;G":D(>A2(.\:1@Y3D,""H(B/?@N6^6(9HZV.@-:X!#N%=&#MO>E@*S/% M0K<$%K0E4<'8CCT5W*UN*=I7!PT1KW*2G"YE^=QJN"GU,O'DG$R^;V"NJ4<@ M\S9\Q)_(M\$#W!//$#B >IP_'> TF\"%0.F")"&4EW90]E(#4GL+]K &:L2-4T)+0Z)Y)$P]&W M^-]P(.1^4 2 >4$($;:X84-YR_Z-_,E#..EM-X%/#D0@-YD#T5MLQ$MI HG&:_1J_ -P/1!C^#0@)01S05Z$;@N6N8 UNQ M%DB*\,F.3W)\P1?RM/P*;K%9T.;NE.TUJFX M0I]GXAH-C (!T!A"<5'='SB@C9HI@^_ 11H DL%W (\D5Q<==/H&(*Z( ]E0 MW(I&%$=Z^C>:'@B@.KAR),^YT]F!.&HI0]&2H6BFND R5/8W!-ZSOTU?2A4E M<"9(]$,R6^ GZ&7B[L*1A.>3\7< "**L?R,R%*@/KD$!;X7W"&18^&;O%#SQ M?22"*='=*[ZNB)9Y\&,XKZ5()@">C4<,X.NA;'O7R'RD!!W1\8SKZ80"4">] M.HAM\Y"M*8"VSL!['BB MKQ3+-6.G$B,=G3_ /F36 U\#F@HVA1;6!BM-Z:8T^9K]X=73A="$--;(0(&$ MY "_K:.%;/'P !I\!><]8'1& )=@+GO$9U_'5*4?T?^A6B(Z=H ..U_WS6 M>2>X-4=YF;&2J>OBS%;^;#\YO\=(P&D_B^"E*W"I+B*(^J[: M2K?:(OOSMX@]4>1C;/&?O(V/W=OO? M1^WN[22^CRA^^21"*AE2R9!*AE0RI))?I9*?C/FX J$,!*VDMBXA)S)0P&-H M,(/&D[4B6M>,9[F\5AO86O#&M].DP1H'EO;_O4D";Q"2=>OVU(TN7)UXU# MDLJ:[\!(ZZ+M!22IVDIX)32GMC<;?C9>J%&8)@O-<:W+Q\9:'9NK^/393D*; M[JL&VH-XI:[FC (66?O8)&L?&W!W.T1SW5M XN6I?@ !MLA\N<8UMR#*!=MV M(54^F93S[83V'C,*KTY)7P+2'1D"/T@U+Y>L^HT&OX^"UH-+:2W%<73/L?Q8 M0ME#18A_FX7^^S=_@.0P3]=&ZS"O9XC0& M^_5=3)Q[19H[( =ORW0)-AAB]N_'$NENR1+ND/(GY;'K!4S:*'1G%^$0BH8? MH.HW+ A^=='QUGNYD$+^ /2\5J.3F?S2;/"*9"7-AM$BB,I2H*Y.SW.B9I1- MVR[XD:P%@_-#U]XF[WB"N49IH\?OF[.%I8Q/TNG1A.!:P\*SPC[G+9M,"O1=6&W?Z]0= MBOB_+^FUNPNPCTC@;H%PL4N7.0JWAUDV$; 8:PM], =#LT^DV!S$U1]/L1PI M*)EBC8;),/D!I1@,P.PP!R?FC$0CYBC3F6EY6;;:= 9^KLA/$;!,&I#=X0/SO"3];8)O+,7=%R%"L*%^^,S/TR8=HWG-=_^RL9!J]M>7O0?HNDNH*7IQEY ?/5/9E95=[.(J*"@ MW(@[1[&IKLK*O;+R$]Z!#VON16V[S_0RJ*]PFNGBJH3P'4?DRSC&G5?!DDTH MD4OU;E"XLJ:U^"N2=LWN]4V&MZ[>'X'-NTP<=YF&QG$(7H7+K,@]P8.:<92_ M'-WHU=KP2NV8J4K&?YRZ;B+O#DO.9KP3PMS;PUDP;K;%IB\(JN%^2^70,APW M4 U8O4 7)<7M8@\1ML(K6GT0D=>O%R].JP4O5-XX%[VCTFK^W4KP*RFMS-=XV>J^V<''2]?&:*?N]A-+RF[@WMN8SFSN.T8FPQ M:F0CU,@W,LD/4*/CW#TE4V?,[*9_5TL/>]YA+9F;NI_\;FH@6RQ&#Q?]6'V2 M('1E;R&:%"(T*7V,)OKA??'FL#CZ74W?#XJ_!YV+0>UN*:KH31SB=0QGBB") M3Z>&FRS8\1VM;71K10C_TL_>L)H=:_,@*1&UGY=T]Q(\"O>*]56\TUGK"]7C MSJ=/[355':J.F82:Z1S_5S<&__X/_B/-IF8RU<$(I2,OI,D(%VVAB/"3R3^7 M$L>.8SFB@R"C6!')IC)\UC3+J;E.QULB](XL0ER#2U,4U6;QIL/4;EQMP7M_ MJ>90';GA';IL2H;UOX+P'9>MI)*)=.E/)?(S+G]J/CWU*1ZAT-CU/?&U\1M\ M\D.;[^ OA^'UXP'#T$^5;EB"J&,.@I_1 M"Y=/_3?"(2_Q\?BVS*+V1%Q"4OYAAW_*T9;*FU_ QAODX#VY0@\H-E<$$#%! M],&G(7N0.*RG&M2S8\@@"A0]&#Q?ZS(=_%;9=8'\,?9DN#2*'2B6A%*;VXQ! M-GAP\0*P:0!W83L1U93SF+Z&SWT\T81(AK%"S=.L32.\[$X7Y>'S/CA .#%^ MTY^45?1J,35FPB RN'%L6)YJM0W<>_D.O!.O:1#RC;UBK:\'KR(D&9M6-)$$ M&QBG5!*_W.TPUS<]VK^0'7CW@8AAG>SQ,=6Z _?&T@S8']>##_AA:Z(I M%KRFSS04IC&+A%]>%^:3'KG:[YN&1OIDC 8K9$YJVC#VLBE3+9,O. 0L#^:* MY>%;OBA7V.M"OM.-*<"[\($JENGZS0?@([FW0?Y%=+2*-EYRF6DR M!T; [\J.%;IH:C/&+LAS1-B Q>$AT+EA#Z=H ,C7&G!+N-"$*C4[P+WP_<%D.TQB*B6A.$L.W\!T,QJ.F*!KZ(313Y!5FN7QR M[ E_!ELQ8'R"HH,'?IGIB8^IG4_1AM,I0)6L;:/52B:S2;W92!:;:B.;RN<; M:H&QAMI4"X5B-I_/%7-_<(NORH.#Y*WC7MQU6^UD?N@=.KW>/DVU[JO)_%7\YO[0&^QI[3(\.37F:=RX*QLW_5+W\3A]K>X_GJ7ZWD4C M/3VF=GQ0J![=9NNGF[XM!*^4VGE0L M2T]./MDKM(]Z=M&*=]6B9@R]9JV2L=KPY-3;"VZ]FXLGBR?=RD[:>SINWI>[ M31QSZNVJ?9;S&NZS74VW78]56B>%DZNE6XWCMJU@M:&2'[J[3OGE\W'SJE=Z%9Z M%P._;+G)W3NL(YBB$LO=6CM>22UVC9N]X5$[U4A>N_BDI-*2$] 7>P6+?TP,".\4\RL1/3JL[RYA"+GI*Q[BG?) M.W:=/M\;MGI75U5CE#RIW9S7SCLG4SMVI768[IL,^%/0Z3-Z\T2:,GG1%J.\ M-17:K[;<-32#8"U:MDG-H\;;Y_Q:Y_W\#NUS^#CI5X \(O%I9'RTY=CQ2Q)) M_DY^_"^>L,#TTZMY I&IH1?+1]4FN-V^QSZ<(%A%IY!(6F>Q>BI179.%'S MI99-EN*\T^X%DC)AI=!*VT5MV>$%=B@M%S#VH^PPUJE_*1RQD"E:X^W?6H%U ML@(KZHRW8GW_B9<]/ZH ^+6U3;($F\<2J/,WBR6*:VP*WK/_X\M9%O[["K3\ MU G;JCO]?;&WMA9W2U>!T?F95T?G)W+7X&;H"ZA6"]WC5+.MT]Y35]7J>:T[ M2.[MJJ/'R^&L[GOR$'7^UKV[7GQ??K/?_BJ)'3+G:L)%8'Y=\I8,ED+%><[F"T-&OU=<'E"KL5 M?9I#(0LY7>6O*\:4,]MCW$?*SFPQ]>W.(W?N^U&]F6_0%X9@YD 4[D<\ZKI[6]P[]/?,KG^^?W1U>W27JG7*(#DO&ORW2TXF&\N5 M/B0\W\#4KVU2X3!HU:&H0:?";39A>=F$S^SVMT'$X0[*&K="G--E>YL+6%HN M8"L=\]R0GR$>W\"\?[45CQP-,$O'0P%^<6\;QB]FEM>B@>02+.C&]HE\>^AB MG?OWA]7ZL5D]MFOE^'/ZSCPKS.SUN_AA0#&?W ;Y'PGR-U^J9EK>31.KCZ0$ M?I]?U _*S6$\>96\TU,WR;@3ORN#7+WW#. -AVS?R4'X6-?2M]Z*'!MW;+0W MS'VR>=.'.YTN=R5OV(:53W5=YO&NC5Z+FGO1EB&;TY*ZJFJ-C)8M-++I5K&A MEEBRH;-4-E=*:4VU59J\=']B:/?'CSH\#RVC,;,MP%;>..Q=G MOXOU_:=DO5$Z*/].Y=JSVC+LN_54TB]6SI.5IC?8OS7W<_5X>U9;AOO#@U/G MKI:K=]7F2.N?%HH7CP\SVS*TRHU6[?3VZJE;*3T5"X75W>M*^ M,B^L;JIX5:^PPW+V\>QWO65?-(K33]Z<-D;E_KU>[-;4^X?STF&!'=3:\.04 ME2K6[TZ=U0\'7?4H_7!XM.?O.<TLCX$QJ.7[1W*JX?$+!>2F1/NL_K$.#>^+WU>?:WF55K3AWQ[HY M>G+8U.:%'1J07-0Q;M4M&FA?['!?>"A;BP[B*,%91*9KX(!^*R@% +OY=ZQ6;\EIO*)U%?%19^WC5]U@^8SE_C- M5YC*)8K?1=^(A$1QR>A2JUJ/.+"8L'[Y1"$W:0#??J?C"\WBEUYO^SKKN=:W M6HN)YX_;WPMX7>7KYRM==L=O>O?U]?L=J1P?(SKTWCG$YL MJXTH"V5+O^K8CH<_I+_3\>H]<*@:Z_)/O5']9?G =I'?)F<-/%M[E MIP576$[U!=);K.FG^S?7^Z6NFCW-U*Z.]**5FWDG>RG2FUR9]'YUTO1=55R+ MEWE_AB.$-[1=A'E!MD%PPJ'%''>##O[>KRZ_W*=9OS5^&[^G93PUKGR,#A$R ME^$3H+_.';MGN*[MC)#MWZL^D]ZM?Y2$-R9KE[=G^5'WK/#[\6+6W7 2+GCO MB:U:[KDZPL*%5TI;\[%4;D45XQOHT:R#X[(X\R[OROBW\6!6*8>MY%"[;;3T M:MTXN"S6L\>EL_O6Q:R;YN^2PR)"N7ZXPGR3?9.US=[4O ZX*CHPTS9=L[QT MS?;B[#R?:(TOSBXY5T3:4FA)DC3QL_M>17U_F;YK-FX>^_6173J^.[$K[! 4 M=6XUV:)B:9LI^M1,T6?KC3F2L=;$$E[=1BN2M^6MEJY)SM7;B\OS\_COZFVI M>5]KM.R#?.:"D#E7H$E2R=PV;;6&:2O)L@HM^8]_KVU/-5]T![_2ZYNZ/\_=/]7C]IC\Z[[+DB-"Z5^)G%/*Q4FH9[0Q7 MZU%\EC';F$S4)$%.F.N*)E::[SC8 +$/[ ![N3%IJL]W6+8YK!^9PT(=_M=* M_:+4GIFO:&?/CUU6-T[/'\OUQ\9SNU&8]HM0?U^#SD9=7N&"^\KI0*R0FPX- M9W8XWZ:9-C'-M"RWZONFCA:4WX\X834K^[M3SSX:568^ISM/:3UUU4,!GG+" MWBS F5BZ,!W$+$6 O[LKME8>%\_\F+#]<72ZI;N%W2RVZ:!WIX.^0G#Z6EW_^S\X7F8?CBN/&"_L+D^R2N"E8GE M/Y92_7X^Q\=:72Y=]#_ ZH>C5%4\59Y.;FGC-7 ;^_,L #\C0 MIJ\F1^^X\6L#REYPQRU*JK@C2PA.A[=8TU10L/B"EF/WE/^\KKFRC51AH9++,E_4 M%:UG\=LCN5=5X)GJ.(T+8V]GV+=2]_7*7JUP9[6UMAC MY_=V) DJ@@*!@LS/C-;2N<1T3;0"/&$BG3Q[0=H5UX!VUP\7:;MBL%K=V*UD M^\GG;B-[UEX=[;+)Y!S:@0087@?X=@$"+EQW_TX"YAM M[,%]Q]C/V#]8\2;HE99T[ 8V;9J?5SG?.*E9MQ;"MA.E2,I-@V54*Y! M3<@% F4[AM91#%=1!ZIA4L]"6%\H_O '2U=,AL=%+JH+KG9B"GOJ&P[H.4/J MJW0RG:&'83"7:;XCM4W+<%Q/,0T&/LWCZ!A%(F M@H6=>) M29MW5'UIO/SVVW>+ZH#'XX'1.QF<57OYU/7!W>GQHW<^5W_.9]-< M:IYZ)";PD#/0^XCP7VS]*?7,[3V/ MIIK2SC(]EZP'P@U3>:OAAG!Q.F,P3MN0H(&>3/PTSQ0,AP.>*/S__1BG2V6I MP[.],9Z*@]Y&OAJ"Q0,G.<)4[B"72A5WFP]UIC=RI:968Y>-,7,\/I]#[)H" M)N(2E#TWP2Z$5?1ZP4G)24[* "=Y0WM:PQEB+,4AAYN/-FED?2"Z0[V-0]., MO^VH+E-P%@K>"E+X7$B0\:]5W[%U;"7L3#U#=AZ^BR]U:=-:I@T; VJ ?Z0S MS$5C\0=:1ARMZ=A@EUJ&I5H:6&<%-K\+-B^F])B*8H4/@0U5^?MU6^G9 Z;X M??'KT.(1@@=,AK80_P4;**"6^7C 3'PR,!0,H^OG]M:2]846(1N M#/[]'_Q'#JN93'4PZ=&1"0:9@,*W2+"5Y)]+23.-]_=!"BC)L413*LMG3;.< MFNOTL9'(C$46(3JCI2DWT&;Q)H2)W;C:@O?^4LVA.G+#AM/9()W]*\BN92@; MDTRD2W\JD9]Q^5/SZ:E/\0B%QG,1_&OC[:[EA[9+7/:+_#-CP'#TL7%I(SR[ M_RN=2A!;P*]B9=E4(KNDG9E(C&0B"3]5Z3BH+/[OVM9F,>*BKX@D52Q4?>98 M4D5\%.$0I!TJ;W+MP8Q54%=;GAOPM/IOA$->XN/Q;9E%[0""H'Z5K%2OC:/+ MY-5%JW]M[PUV#T]F@E18YT?E7"F5BE>- [NXHPZ,]L@ISX*>N!CVSY\=;717 M]ZT[_:1U\_OWP>Y,F C5W*DDG6=UD%1U;>_Q=%![N,PA3$1V\LGS2L_O%N^S M9]WXX.I^I(^?+GKZT]![;N&8QO.FH2:SQ3:^?0J< MY/CZKF9=-Z_4;OZV4*Z=]_EM< 3 M3]KU5OSRHFT^)6L/]Z.'A_S#15E#3*;I%=WWW)OCN_MJ-?YDI<[MQOG0O6K# MDU,K>AP\]F^JNZ6K+KK@[,0='CQ>X)-R1:#@!2X%.3+TO3%LBG'8BNBSJ=+' ME/H\WRN">H#A.L2:/7AD)#$1U"E#^VL5F!$WQ?C3U=/O@9FL/!RDSHZ'%\F] MYD74DPKQ(D+;?\IGM 3PB$^Q\=\&NR&;3"2+F]&K>Q-!!C]KB:ET(KCQ3Y>0.5"O,?#RTL#F:Z1?>U M\!//7G&S]A6 5BQ.C/6(9>V* F_?Q@C M,6.J%OY7U!]\-M$EU MY_!ZM[Q5&ENEL59*8T4@'LMI\KV5]:[Y17;LG@ M!55J$V4/F*5:> _%L(.KJU-_N52M-JM9 J/FPW=L@J=N5,? 4DADP;&WAZ-& M'T%VQ7]?OZGS0M\*\_2FL=,K#/:J>98OL(MVUVN?8 %S>E9#TW 2\&+#O>I# M2*K7K.B,4L%]G7AZ\L).-OW'O\E$>K'FZ5]N_J:BNS_'TQ5K6-:TWN)R/;0W M75S.CRQ]YRY7WNM6U%+J+-F^V2L>H+AD5R8NJT%]VXK+^HM+QV$;;U_:A9W" MZ.JT=U&OU(ZKPYN*WKAM#5\"YEB*P!2V]F5E0=%Z2\R>[3N;+C#54O4LT^VT MTEV6.BAU'BK]XVP>+4QQ10+#3ZQ7T;QOV4'IM,!LX"G!9, YYT+Y]G!@KQ]9,FT_>1FKHKE4<;%>ZVK"DI3BP:EZYNL MG:<<-R'3OMX"]!FAZQ(%Z/ N[7A==G%;?3Q_OK&[K6N];^.%ZU6%J:E%P]2M M /U0 ?J48':)(G0[U/3GB]_GO^N58[US\1 W3QH[+R(]+46$%@Q8W>E.&JHO?<>PG8%B/F:-E M0Z4OW%#O]>;RU$W/SMN]?O_@O)@\[N^>/%W=WZ7LW:D6C3BA6T&I,B=4M*W> M*]*3212FA.=/19W1476MN\6M@@4KHHNMZ)L+BEFW'6Q-^^@;#IO1 Q2XD%G8 MFA:>,7I-WW$9\@AOK$N]1UW>VP\[\^F&BT]0'W#>^K;).JK9BBFN#U2''8#A MFLQB+4,337,Y3_/6Y&8KWO*I5;F!KU0MC6&GW+:C]MR$=]E,]H,X[O:O@K#>(QAAV!B3QPS?"<*!W((;]X;KK6OCFB5\ E- MS6_*)Y%:^*RDG)1)VV7A: FE!M\RL4DT/&*XKL\X!69,L@/:N]T9D^IPK18# MYJ>6OZJBF:K14WJJ#B1HPQZ"RE#%@&/CJ:!*F.N;'M%1+L7E_93YG!1L((ET MHZ4TF6G >\0>B?<8N#33Z*)*@5$\ZB$%XS+&^SS['M")-X2>FD.+P<8Z:.AY M5\!>NXS7(92"EA+^=&A8V"5^2^_!69X!TV,'N;J6V?S9D]73#OM^)GQ^F M;#;>H)M($C29!7J<,P#\R=RXG+)R'NM?R49>T?/C6SE<"=;5R]. M&I5&;]#:=X9+(N-,#^I/5 / \S"CF-)446W8G+>)>J+%87"M7N'@6]'+]+@/ M$U@3BKPWJ_ KLS'4H;'+0<3365!,_'& MDIQ&$60SVI$ V\/$@X0 2<*R/:0JZ/S)/KBV,T._@C94K9'2-D!AB[:RO+GM M=U=2R6AVCQ_N3FK%P^3>T?YT8_$9O;#K%AI4V?\ZW#F0OX7%+YE( MSQ*_;ZC%;KJ/R9O=A]^Y9+[B7S8N2K?^R7"AGN/+H7-FEK78JKFOB_ "@B%G MHY\6:8NMB52(H!QJMP'XP;8??:C'5'1"W:!5MPG>F>D*Q0BJ*WB H$TX"L<0 M/H;M@3?T^B9XD#+IPC\PR._%UI^N"]N+X2>-QU3XZB,XR>C @6OXHS>,@,T+ M_[@0T52]C$_"$ MRBR8(-@'++D1J@2W$31(H%5:!HXHE0N/%#T.9BN9A._ZK+P,Y;6^*I.57HSN MC[N:6RH?[N2Z^W8MZU_VG]3GY_92Z9Z<@2WR-2IZ6N375A/M&4\@\I4.?(.1 M&?R00OI+_?MU3\A$M02;%.?V OX"X0I.")&N0"@,3):X,8ZDAVDK"EW D-@( M=Z$^X=]T T'V O ID5JCU!8(FL/Z/@@(WNEQ/5OKXF=_-?^FN;I^#V<:))+I MG? @CN.*AMIZQ*@%&2'Z4D2Q-AF&2R9X%]Z;A&\MXY^GN-W885;ZL?IXQ#Z<>R3S+""I,],-4D/^$T(H!@P&8VF^J48CWA8QKL895[/' ME"08,G0Z7+'[(3N$7J+,62(R>,A+//SEN"KRW1!J@'R&_LX9\R8L]R+./;"L MS=SWFME5QW+!4U<>V&W\[A5$5.AK!S9H@^=?VKD3:J2(#H.JHM:Z0!2Y##BA;^J[8\',A MVGNV4Y$,9K7?Q](SC_$E2X]# ?*$T7_-, M-T+%<-]"^F&*+L!'QP["#$06 N8$[FS301HI4/DRP:!S =IY^=Q;P,#DVW33#7MNG$!=C;"Q(.,G[KV"NS4/[-%J*T'*D\X!-R)P2 M&[4-RB=R3N*0B^!S1DSK8LJ1G%,R^=@M#=..H#C KKZ2W/IL#?@N[96M%MS2 M7:'3JNX;)WVS_MQIMHO#MVLO8LU]HCIEJUB M9<^Y3J:SS:QZG$R-JM<+^&P5OHW5R"Y>JT_GY'!^M=8%CVW=^@_G"[A%1, H_HUQ^>NC'!PNX15-;798T/I?V!RE<:T5VWIV_S<59VSP&.)Q0 M#NPA.F,Q<5YD&L!>JA _"Y'3^WWX[Q!Q5&>YO+-R^7AX)/HVO7RI)PT&G9F]^&6#2\NWJ,"7HR WIYM6FMS]=\)@,1_UQX#-[?%P-UB MX'X:!FXCF4\6])R:;C13F5(CV])SC9*62C;2Z5:FF$OGA+3<4Z,I_.E >&;>+?9JYKXLQ2OB3&BYQE#=J\ M]01Y^I8ZL!U>X0]^GSAS&D+ YCL.3!"(0Z6_FNV;6)NK6.@O )-@(2[8:*T[J6]&W^ MI6E'0\"HOA3MKL]LCY$0[8'^!,:O#2W@RX^M8XW).W]:95?I@SZ21Q2@DET( MM'BZ+3C0I3C*F9^C>T/ZA5Q<'UT'8'J/X1-E2S]W[)[ANK8SP@V:]G.3"^;E M3E)>]3Y]D>M6XZW:WI5[FTX-TV/A3\7O^=R6R>08#RH,YI;Y2O7Y63+7>)KV M:#4Y1@P5)*E%V_=<3^4Y,TMRG;B=@)QG$^?)(E_^!-V?L,:^VE1-TAFP1_]) MYQ/I($Z>J2"40]J8!]_BF\0UC14-AH-+$H;C>D%)'0R% ]#TZ1H(7N3H![M" M\\,%C$T^&/ZE";^'9W9\U\!#_FB*03).Y+,]G+[(:^+W%P_0L-V+>\Y+NM\? M:%>8LYLYSW6NNXS5:MY^:G3X4"A/5M.2N@'^CKYS?M0\JY)F[IYSL]P$%\X- MLOFQH&0]R,[&N /RRJT^&'T#]VS!&WWG_>MC/[T;'R9'#;-OW!UVTOG^5*'Y M1V_TS:@F'U/_T9NM?8?%Z6[K'_\F%,J,A^"WT305[5G"PIZO',^J#XVK@K)6F;G+)-LQ,_J8<'CL@1]QG6& M#PJZAQT[Q!D]7IN$$($?N:(2\,V1,-&@!Y(4I,U1"(K+P+6C^I)OJQB&]E?K MAFM6L)IWV?Y!->[FCAVK9/K/^2F+\G;=,(NYOHUN6-VV+:@>]NM.IYGVS6IR M?[_:TI\+]]6RN60_()TH+5T]7+&^1VLF#?"BX/]L=,-% M?Z4;MZ#PUTL/S_O[Q5JK:CCMI^.B7[F '5I_WV"V5W"JCA9T!U[2"K/2 )NH M%"9BRR_1"6>/S\W1[MW>4=W8[U8S R.9;5M+< >2W]@=6.6^+:@2'BZ[YR=W MIR<'7?7.U$X?CVZ.AP]+]P>6KQ(B>0'P!F8*/DKX3N5@87>@L!E1P([6.;!- M?)M[:&F?[?57DQ>_VP]'5KM;.?5N+S1[7SM\7D)&()5-9+Z7G*]FGQ84:V;D M+^W3$W>G>FM?%NJ[Q6Z[?KH!Z;[9EKX,CYJ3MO[;GEM]]K$@+Q5%7OBV)'W3 M4>!5QVZU+.S-$4HUF09Q&JCS8H=YZE_6:D8LC[P/M71[(*?[?IV>O&K5J^?J MD5W-7Q\>E=VD?M=_G-+I<@X5N]=$QP/F< EFM&T!E?5#)*W1HM:99==E7G"@ MB%8 /L:=Q6-&L*X]II_9EBBDB/SMQ+;:U\SI(2=^X)R(]B74+:@P EV/6H9* M,O#RK [Q ]Z#!\4W4GJP"YU_9)V_:,0BKV8IF:2P.3W12B!2SS]N2 Q^M-WZL'XW:CW=*;?]P%A2A[LBYQ3LF$446DQ4ZHFV-Z@8%$GAW MA8MNXH5:T36U'&,-;-\@=G\H#$CKF$B.Z:M=?]0!"5!;0+'A-/- M9)?3W?=_S;$QQOV O8C"J9+BG-LPO_[;_,CKL'2W9HY;2^F5B=*8^G=W\Z! MJV O4+YA)^K0]0WOIQ9UW3*ZH>GZS0=Q>5@3K71-UA;.@,/:6 2%<3TU4:6+ MH-BW@;H8"OK!, 9UR!4) UYQC.6>CDMN7%/8 ^H"VQ,7I8,V86%G7'G!CRJ@ M>GB? I82*7J$UW2QWY<-OV%X*C,7V*B69A>VF04?@]I'Z[2,X&:0JFD.!$W\ M0BE\VJ3X%S2+;#M!]Q=)P!L[3KPPH!(8MK8:S93 Z/S>"17.1GL^A6MP MY7T.G"Q5'6.AK&IA/7$?+X)HW!T& T.7=(,6:3!;O'F$(3)N M#1 E+A2$%) MK]T'FF$& %O@RB9Y#L,VE+R!I.U;+C-C="G3%,[D*-@^:AHI^K&IO.LD, ]> M-/6IPIE[AQ,7JX9@(*D8FGI7!#>PCOYNGA3V>TH M+6JP8(^7MN*-5XHC7KCD'MQFALTQT0/"?C<:7C+XCNW>/EM#7H&5]48_5"F> MHFAHONN![#EX<5Y%T '0@0[O&@W,:;%(WM2"]Z"D@[LC;B'*QN.\!+]O0[ 3 M[=1-ZDCTM6G:V-!&)%&IF74H!9C6,3R?WM2U["'E]?"(!32$^7G,,>GBCE.&S$,G-Z?X][-BANFS;MD[2Z3)G8&A!<_-PT!@O M"!8$ ^F':(_U^,4 $=CS*<.?NBS2J,F1;YDS#<>#&FJXKJ6>=+O-"+TIH*= K,&?T*,%6 M,:L-^L8273KXE8X>$$WZ7X$Y$Z/),3P\)Q+=^YHHP@EEQ^99P.">F,-ZU")8 MU?%\PF-!LS6>")DQ/]6T80">(M8TUOO3@U[4X_QK25@M']MECUDW6 M]S5_=/F[5[Q^UE="VAD]OOZ4]_ID@ QB%B#7Z-SAB$:)X]$C_G-X6(^^-3C'H8 ]91H3* M)B8"'$P"<%^5DB113UX" $TC-" 9(;@5+;(8Z])QUZ2BI'";OU:2A7S>(=%, M -50&T)@?&R=P@C=1X-%N_S+D3@%=]LTF'#F^:AB?WD(8_3E;5'AZO*Y I6] MCDS.2$:3\#GX&$@=4>&E;<;>3'B#%[8;WN**V3.+=#B/@2#69/E,)H1: MF+F*L*%,7F&W%[0]VTS"QS,)B']U*--[/S2C$*99\<#(,RB51LA@E/@4S4)1 MVX'T2C6+>40(:U6>4F"]OFF/F!/>W9>Y.U Q/O!PY'T93P>%\T\ -11+L RN9$Y%R=R5PMI6B93&#Z_2#_T4(O8/0+SO6U.T!"/;BXGC7,+#3C%,'REH"V!)61> MBBX"Q=&2P&^:1]6$0=78)VG*=_?C$7U(FLE"J=G*-!M%M91O9)O%7*.4RC8; M+)O)ZZE4ILC4G.A#HDJ85-MI-8N]IYWG>N_B_-G)9;)/GG&!?N[DD]>=BU2M M7[PHUO-'CWN5G?IAW]AI-]+33U;-4^WZ_+A6Z![OQ5-[PT;.>S@;@L<\]:1Y M\?O4>RXFDWS08 [33Y[UU&%NMW.2[ZKN^:M?UZG'/KU[5[_1&76\W"M-/5BK5BX.!IVI)OW=XK1Y?Q\^/ M*^5&<<;;&[OG_9WSW63]-F5Z_1WM\KQ2:3=*P9-+/J+>*3P6BC?ENE%E][UG M73V]K^F_IVHPJ-5F!ZP;2%@5_$B/VA"\Z70Z]PFGT\6$$IVIU 5\QMNCZ35U MEZJJ8Q'L&X2S+=$).5JNJ/L._H,# M84?(A+)KF/12F,S8)&3QCWQ:Q^>PR[L\$6W)T2E<':R7;06=MKF)(8! MIFW60LR#MV2XBU&'LKAPAKL,K".-P173L#;:8&Z5X^#H>[ W%;(A MHE>[= ? &R!G8&X"@M+8J@ORRA37C,N0G1[!&IN8#EYA+57.H%9Z/Z\>G MAG6:*P[2*7.J@/.#"^0-HN<4Z?[Q[R><0VSP+MT<5FZ?C>+M:8,YQP-':LQ]DD!2>JC=)I"H](BC)H$D> <5 MNG5 @ 7PYXD;<_SR%%YQQI2.S%8G%/K?!CCF2XZ/_>-3[?2IF=OMJNW=PWP_ MG].?>U.\=27P0&JMB:MRLH<>L9!+E0$+Q,KY%;5[)6@)&\&=R$DG-Q,K""W- M,!EWPJ9C@X@=#1)S4T]1,T31Q-/W^#4GM-!4#O2RDXEL21B3PN_COA[BMH+S M:N&7_B)/U?9=&,G]>ZVA6CD]9;D/E>;$Z3RM[[)?\H?HK,))\%@;LY3R UYS M0Y^,Q>/1 )T_$Y8Z%4J)$J_V\1PY#U%XD^*+]/0@J\CP=$PU1>D*KYN2XQ02 MV>R?4?J(-TI:14I7(N-C%3/6M4HBR=])J_WBM4S8D?+5$B)1Q$4OEH]BPAW9 MZ,.U0^E%=W[QC8]6?/W7TQ<@WCC/:F M9;Y7X:[5PF&9^"&U-%DF$5+@*<_5?F^F0G!,-NNRP )'E]<4F)_RP+Q*@7EP M8+D*-GA-"ZT/&WP'>9_:\!^K #Y*B15K!!&V"R.9ZC\I=)E5D9=UUDACA'F[ M;ZPH/L0N6\VQYIJC.$6(>0S/H1&G_[M2]N>)@0U2"YC+7BE%?B(7\&!YL[B@ MN%EFX3U<,+["1=3]_VD:8ZW69VO\J3+&BBBWFCICBC8F?CKS3VOM<9)KU#I7F;3:E(M M=+H'(__)2S^U&]E&>E;S*=NB8WA^1ED+>3$X[,[,..S.Y&/%TJSS[DUBV"FY ME'IE=8MX+>^Z1HQ7?#OC_6[>];/Z0\NI'KN9_)7Q>%7852^ \;++8[Q"+%DL M?BKC?5T,]&9-.<,(?K6MJP;UOS[U6YJJ1]9>,H:S]O3+=<8G&+EUCU&6J7)> MJ\IYJP8ZK:4+1\V;ZXON8V[PFSTTS-JNVF[D0M.'M]LY3]9:=>3(B9H=H9G> MII32"RFD+V?>-QB\=0^15LF$XY6N;V?"W/US+GZQ9^:ZJGMGYG*[R7OS-]XV MRZZ2"5/)Z9;'2]C9S;9^:QL"7KU4.3==)T<7V=+_4$G=9CG8VXAP3:UDM>R: M]T;^L.X/VB.]T+EHIVXN&OGI '%N06M$,]'EM=5$:C=MU(_CXJ-PK39O+0TARZ+:R:4=>]['F.T?3I:L"US6]*(2>>\X:P MY4BOF+DJ*CVCC=I:,NRJ \P-8;R/FL';.SW=?&I>:?5'O[US7CK+[\9<[3QY M>C)]I!ZW?Z>ZEC\<-HKO-*65"$,?"G[FS\U59\7MB>4[X\]OPL8?-&W#U3GF>O(*32J1S_67>0?V2S+ MXBKU6GK^ZQJJCBNN#"@NW?;1^]DPS?51 WS"TOJH7OE=J!_'#7^OJ29+%WZY M45HXY2L:?[VY6B.=6S74K_Y"^ M $Y<-,?[7D[,IQ>K&_KFUO&_Y'S\.XVOLV%X.X4MWLX6;^?K\79RKS_ROH8^ MF]IV=AEPO\E5K'WN8H4_KERRON]H'=5ERKECMQVUMP%=KU;1+:IF\=Y@W M* ME[!!6+(0HW[N.[;JT#6%7<-A'$WO+SQ9$XUJZ<]!JUJ"*QI@)E(AA=VZJUADX$"'J-KXNW%"QG_B=]W>;ZW8J M=OWYHE*O7MU<%WTWU!)S]YO%#ZK+O=6P'=D._MG=8^+ ^M\M<*C%] M%,2W2':-"[OZ$E!-I(%7M,MO0KGRFRY[]"GYP%MV\FU%-![>5 [X!_>"_C4P MGT&GJ#,[@%&K5\1!;#*YDWH$VE#N,T$=2'Z _606!S25#<#X8PD%F*_LMQ$& M,96,B89TX0Q#CK+"06BFD5,L!RQE8.=6I#7^ MT)>M"$7?WPFAG^2Y8%??<#?F<_= *XWTW9-N=:][E=IO5ZKETQT-L->JQP#3S=<#5'60G@QN\\DP"7'(S8&'*7,8FW;XQ \GJ-:+M\& D^# MG>@9GL :<(/NN8JI#J/0:QP^7D#-47&! (/SFP\"Q+PWC8,9?+W%@9EY3W]N M%]"CZ-FZT2+4,Q>FKL>XR=<)V!GG92'R& :O=K\E?1A5 MA1]HO/RI.L]*7IUTNAD0UO19X^3$'34'^_&EZ;Q9C8TG3#\'IA[#)5U,TZT! M\3KW3F/_8+";JJ:\]23Q1.>/NV4[X?@3I#.XQSJ$AYA]G&(ZP MT?-'C,4*2;B@K; O]GN#G>*YFJS5]'.]E#T]]5LKLA794B(]HR9ID;;:$7@, M9=D)BT\)\P6DUX'9S>=R^6RQ\,>_JP"%RI0OW0RK97>K5Z?=TOG^1<$48Y0YW]>:092BH:S")_,!M*>%,B-ED%%3B9J-(.A535/& M/ 3PRBNPHF$X(T JCM[)7(\<\UO5[ )[7O]6#F!5^!2VHPW1M M"U4JU\[Y[WA\7GN;FLHJ+?W0-59X.T6S;YXBK!0/75$9W-& OBS&SN9AZ>[8WM M9AQB)-Q1;,GK,BNRG27KZ"HYN.M:U7AWYVQ8<_9OK<,QY/496RES1X<6V!#3 M'"_;GO*2<,^\H3V]:; $$%HZ,. M7]F9-PA99/->!9-!#9U.S)$[>9,) 6HY-#D$^PC&:UE@^!V7^P(23DUH8K3/ M,:5O^BXESE4'T7P]B33/$PH@LXCC)O5YB'@>X-QQM#>%CLD%5EZPZQQ92^0: M ]N!WA$"NK=\BKG5^2S',[S?D\>*9KUTETPVGKO[W6RUZE:U_MY%.\ICYT%8 M!OY161\@%-HKZCDYCU%4/D2PR>RI+\PX(K\,$%X9%;7C26:9M.Y@KSTS-,O< MP(?W"6!3/1]8HB_PS=4@YAC=^GJ:)_ *-:S,/W M@FYJ.:H+P8A&@S(+G&[&,26;8O\5&DX<9C&'>#,"A8V_:J9!RHWP:CI,U05F M,V%A']*W8PJ$*ZI(/O6%_.(IEF/[[0Z7"@1SP=02$(8>YAYL)#5&T(7@R$)P M %&%9.\ CTDX\ %\N<,&MLFG#NK \##?13'?CX.BVV'PLT6(G1:F\=0F4ES$ M5%D95 D:HK.H7(T@2H 8I7Y5CBDHWL@J)'!T\L>TCF6;=GLTR4&X0P9L@^9) M3&_IZJ=96!X?@N*2T5[\WXIA?#H^H0N5[IJ0^V@R&;/%/E' /S MAWA7E7AI3T(^JC <1KQW4*%[9P:%V61TME%JS2MH2(UF - M+<-Q/8EF'M'SG (N!PHD3'B:(2U2<&VKE@H9KM"DS'D##P M"&NU# U_,02&I,Y,=30;_EV^1]#+43C(O$N0LK!L>>B,N0"::1,#R@%AJL)< M&6AP(FP /L^3T1SR'BAKZJ@=02U@H*R*JU/^+%J@(11JCB-4T=*1.32CKTJ/ M%W/.!$=/:X_-6>V07FX:77QSDW'2X;0%VB[.PD5@+CW8(."F )]-S!U-*N=M M[@L8/8-CX.+7*8!#A A7QEEN1[(*)1YZH()HZO C+4>W!1%-1+Z5V*V1_>8. M AT7JL#B5CN.WU4PW4MJ5Q!3S@E%&R8B]78LH";.,%2Y=I3@P;% (DC,12L2 MUZ.2,IB%;KA]V$^M8D%763+78)E"LY$M M%7.-9K%5;.C)="J?R[:T9#HC4HKK7OQ9W!9_;HL_/Z'XDTO.(5CF]&E@8=U= M"!-]%ZN.0)^6+=4S WXXW3B;1 ?OG1%TY"TG0 TGQ'C61( M@\"M#6E!QD52@Y+ @6*O2,5.SUR&EJ 66(*/EUDNK.@76.H7'_>',)WZ.'E5 M25XPY^@%4)F/*BZ060^^)2(3=*+0_((!]VP>=&&N N]LDI<5;LT5!CDB/6LA M7K=)#V F3SJC6*MGNFQ("-+D3L $]D F.1.FDO$+^BZZ&67+PBS3)?=,82IC MSQV#L3>C3EX(Q4LC5)\@^H7 $AU_S"GB6B1X[0@$5QS;[S*-8G ^KCB^+XZ= M4XR_5IY18 P'MRT;8J#W8 \8@R@4!L>D'Y:$)=& M@M 1K4_X73VF6L(QH^,57F\17?@)_-/FD0R$]C!OI@?A5LUVYWCEF?0)P;W5#?"L:78B,+9Q,9.' "]3/:$<]I"5 M\+A*%(A,3U9,5$X))L%?*_E7+'OLM6*_0UV:*B>42WA.V>.OD?L=!9Y'JHQS M%OG.5)_DJ5V,F!2[:QTAS8%H$&0H(B5/FDH^O!V;2 M:&4^SM(T*(V$!1\8XLS;K^O@1%&0>"*(CTG"BC\/V>0G?OB,D/UP)#H3#441 M-QDF.RM/P/>(D@4PRBM/D(S /FA1)1D]6(TILD2U[U#@)#A7I"Z_80[GL^]? M'%J>8^N^%K@)M0&F^MCPXY[!)EZC685K@5D+U.0*/[T E8DEUWB 00E[D"Z' M=;"0[BR(B^@UK#L@?BYQ[J$F;Q[(K#^JKA".- ZH/242+_ZXX; MQ6#PX,_2>))&Y2:%1=*K@;S)M&\LFO/E-L[U#,\7*SNX*5=$N2%7?C B&=>> M[7HR33(Y-QLS-F!=?8.?)."B0%^:"H](40M@LIS6A>0RV1.J!M@)'XT33]^@ M&9:ECQVFFEY' ZJ#N@;F5@/N;F.JBC)R,A$,6F:K1CZL1LY4[JV@-PG*V>X9 M&H\T\-Z2<-:V&F59&J4\5O-9S":*?TK9 E^&63Y60=%9(W=7J5J *DFPG3&O M&XVJ%_QR5#D$27'%8D-X ]IGRN[C24L@-I1%Y'=Y K6#=Y/";P?9X(BL*170 M'G8//: .W3PCSY%ANIAQ-T<.H(/_@V=E+GC51LM@5'S<9A;H*/1QN;?-2-IY MNEZS;5/\( )?>=2E&8[FAVM%A4E%%,%A$(]0L'&,8;J2-OS "Z=%,Z(2LC[7 MKCA/.L/3NA":!W/@T:+AC,\ CP]!,Q'1N3I%1Q3F8>+QKA.A3@QT(Z@ZU,'T M8M1VX!YB_"%?J74,TR2EV+0-_@.^$/9.%[]1LIHH 90=,D"$*/Q5CE(*6:*V"=8KM$/'O3I2_Q80YP1&/+T'3;5I[<(#QG? M@E8@N!,F=A@=7H?%F8N7XPVW@R%OY/11=]0AM62AX"H@?L2LD'LL^$.<"<7$ M6<,0Z_/E33LZ;)7G!LB8\HW!$J2 1$YTIE8EXQKXT=F5VK3)>9:&41[_!AN'42YG)IY/X&=*XCA7>@ZN+$80+XI%3[#H M2*0ICWLQ=@-B\!,;C-LP4!.BA1H#X[S(E3&TKW".7#JZXT6S\^> M,6SFA) O%S-R\)Q.%7DVH/, ZUPINR$GSP=P-5 CODE1"#YV#-)@(>7"T5VJ(\$3^@E%Q/=A"#_B M>2[% UQ)RK21M!U8!@?TBO&Z ?(SZ)#:,US8.=N*TP6J"&?'>$5KH$D%U>AJ M$Y^$5)F4GA!)5SZ)\' 3S!F8%*]#XCMVS,JE VG"V=1P>9"$@8IAM4RT'#@" M7P@]2'\+B8+IWXXM"FY?"MVB$PZH]N,4;)D*U]10UV&51A_EFNLJVIZ(;X=Q M'^HJ.ZH& [TRKC&E?X@%^I&BNL#&31A*>HB[RCSI/F7G*6ZD.-(>*CWB7RIA M +&9T"5523&,UJX4+AY1"^8DV4 MPA/SQ&J!((RY.Z@826=%+O<157B.$[_H6X&KC/&3B-3I2W3-4]BT2+%YY#%I M6H("JX#V ] 41$O5D7!B,$K7LH<6]U/I2($.<,$FG0?:G*\Q2A1I6LCL4JT' MZ#Q1?SN(1X# (N"%0!/V>5>-A7%4,;!&M>7@$($7 M38:>HXIG0D)UNCW:YM!A"B80S-9V)LTV3\XC[W:8*0IZ(LO!6B-3%';*B^$\ MR>&)M@_DD2F\?-4-!Y+7<\GVX#&!QO-,P0XX# ]G#5[M11D5=&W76O6L>P%$ M:5L L2V ^(0"B%68X!.*/,D[!7N%%;JR7I!7/ :&:[+P4A.I6^'$@"J"+]!9 M++:PX0'M1"&D#SK->.;^#VFTT+,:JU.3-BWB]D5.T821Y&K4XAE&S%3Y_$I> M= >01LMH[,<$VNV%5I+RQ0!?$ M]+C?MZWQR$]V&8"AQ(QXA(ES](A3HQZ%TO95!Y8-8\'WGXR>WZ,WRI-V/B8? M(6)]32KE!7)S(L6#&XSQ)$*@6F+W2&S'MUE4S0;4 MFT&['YD1F=6YAOLGNI*+I5+I<-.Y;XI%U]P=#F_4%6=OQ3@>Y4C8&UG4L?>=&8@B9>YR\6X$W!D1IR'@" MCVLR$H,P2QW)2EYYP8,7 7"9XBZ>&3F_?K";LVD5Y#@\N\UX M0H*"'NXK1UPZD=$)JFK0N6_"FR,SXIZK/T9G4?Z@!MJ98"OXD0&_[BRZ8,OK MJ/*(SN*E0*222*/+6$O&U'3U9,A,,Z[392B>L1_+)T??I>%U62PLBOM4FA*I M,8D,RO4HCQ)!O=IT2(!$5.**6KCF.*#BR4+,(YF/0P9=>I:0SJ/[SU MT%'PC@POUY$C<=^-1$7'2B[@=8A9=[QEQM1TYQXE<9@A*5(AU M,+H52IBL1^0$-)@$+Q^128JQ%)ANRX2Z$>6U%EY\ ^Z$C;*'L2"&U&V8-LX4 M]P#U+^T6KIJ3YSL>M;ZB1S$#!;PJ _:(+R(U)X\@U9FMPBCI&%6$,1(T5]0J MNK_6F9X>![P1T1%OQ(V-$M2^RW[)'Z*S"B?!HQ35]VSY 0]1Z).Q2"9ZVNT$ MM?U!$%7BP=$T.$'_+< $^40I/Z_;=,33CXR/DH:W0221Y.]4$?R+AWYX6?G5 MB$O$O/1B^:C:=&WLR/WA4&OA(MZWAO'BOQ]L.)^:BWRW)?R*"%](Y I;PG\- MQ\^%W-L2?D6$3R4RZ2WAOX#P)_2R:VE!6I1D1OP==[)> T&;1X?W.G]OIDSQ5<+,NP#(+RY,_S=H>[<*&KSF MARV'.UX\!-LT?EDN6O$G\0NL& E#G3^728]4,I&?Z](LA2"O\:G8I(J6^MSM;J;*W. MM[ ZRU819W:"2XS=6JF6V)J4[V%2J'4HYY@;O$ZP-2W+,RWC&,ZI_I-"W2)6 M >$\BQ!CQ\V%Q.31>9Q_]';O@Y,MPCAV2WY$]0&KUCM;TS3'-'TQSWU,%?'R MDJW=6A>[M<',])?H:>W^O;5HKUNT_],TQEJMSXZ7HC50;[!2=:H&_T]J#$IQ MH2U^99V?9W22DVN2.[>Z12P_898?LF,74):"'4K&\NE4F^QE._? MT168@:5?*UO-XE^K&%D"._]GE?-_K?!B+3@Y5THCB-_*-W/I%FAUG#S#$FV& MP9DP-4I<^4_N5>.S23;F6YJ28G:.^/T$>[%^9F%I'+@1)B 52Q:2B?3R=FBS M=?V&1QT3*A^-0"JY#4&^G=TH;../S8\_5L_+&V&!LJ52HK@-0KY)$)*<-D#; M,&3=13"]C4(VQSA\1QN0+N43A6T,\BUBD'V'J1Q)%PBTB/;?AA]?>4*^$G&> MET_8AB=+"T\^FTV^)'S9<%G(%4ISTVO;\&9SPIMKVU/-'QG C MA!H10MWWL M0+,I4HAMU;9!SD=-S"=L_.M']$NP(IO'P)E8,E/\R>E8]^U1$=/D1DP2;A MA$XVU7@\B@"*?WD)_\5W>9M8+])4C[J6FR;^*P 0#-A?@08#6\(1+<6,L;WD M^+NQT]]8?S[J#6A0=_FPAV;84IU:_XW!@E CU+Z JW"\$2T[TF%6]&!_95=X M UG;:ML<'$ET44\H==&-G'>]%!_'QIK,.JSMFZK#NW_"'&%)C[[JP.RP6:5H M;QZ%&@F!G^3K _('A!%=/D,43$17P9:UO"5D2!%J+(LP'Q;A@O807@D[6O)7 M1EK."FQ:0:8X-4XTGN G(!CV^=681':P;&JZSKN"_L36AK*Q"Z('3+;&CTH] M<*B4P #D3-76_PB6E 'V!IR*T.PC7 GJ1UFSS<]HX_M!3G"4J 4 J (/RK4 MK_!U\#K)N?#\:%PPD'?&A[2 ;A/P9R'V60@ ,H:L& &!U*A!*$>Z(.QSN"0D3H+@$H14+Y?K+PV8B*Y]AKV^3, M&@+ 2TS%92*XO[ R[J(]@ :K=$*@1;Y.&N!JWC+1"-[XN],3L(S20R_T/ZH MB'MD,"YN NHH$<%W[S$5>Q435 F(74?%*0382+R/NLI7R767:%$LFU2KA,R* M\L3AI:D7,W;9HH?A XXP%;Q&^#S1/M=]4!>(>,?1_A"('/\:[8,?"_M8!1" #%L15%?VF8M=XS+(-WMQTPB<0.ME@+L;LD:!.VQK<0 MYPDS2:8-P^!L07L@?!]2AAPHXPF&=^PAAPJ/MJ46??1C1/40QI$#D$>7Q(T, M*$+8U @"0"S /4"E&Z)#1568P1'@X 4N=VZ;OMYF L^@S[&I$0H,M@)=C4 " M XBHES>;TX(@M C 5TR+Z"G0NF*3$ KLB6F\;;9$=W$EV$($72&FN&J+(1-M M GY*.KG%3]GBIZPM?LJ8+0"]9E@DF *]$02TR^(00L&\<2(ANJU0:M$8#WU# MB1PI?*L^!)T^TV,4&!CP)([1I^CATUPC? D M^' !3FX4]A=[TD,4HHGP'-&@,?I",@BT7C>4D@Z(OJ(S#,$EO#WB3TI&1A>F MJ3K I(X ?D;0-5AW%"">3\:=0!H:$MR#3=C(EHLPBJ1&5"_ Q+!G[P;9U !_ MTAUWO##>@>>9I8T(0Y[+?(BF&P&%X.\4L'MB:98K*(]C6;85CRX8I-OC-A_S M-8B/SL4:IOT-Y?"S(R0)-$^D/Y3X?7O<%]NPL&B-@J"R.PYF2@&'0 J)Y%UY M&L(-($U)/F6:0R0_FXZM8EH0Y *"%$,7B*H!G#P*1C!0B,"(&.HH+*1C>?R# M**ZZR\2Y$443J/5V6X!NR9Q>862"Q;N MA2":H&)MJ$_J-C6A#,#?(0XLG'")T' M9NTI#M^5P(6" !8^1D4>$VDL_C.0V&X[:K]C:!$;U#)Z M'B7BA']D1@!Q?EX*]PH,&&V-SC28!8H,B $_6?8@ FK,8;RC^4_D MXA" J@?"/X:$'L#0B7,.8BI")0H=!L08 C^+7D(> IUTD'L;0 ,(#D%?W)TFP)CJH4.B*&J?F"BH)!^$W4%_$#V) M,2\.J 9_PJ&:MN\I+&JGPMQ#!+"7^):$(\37"C6*+D\82'4A/AV1)!AV""$P M"0D!7>D3$W;!X](Q^TL*22Z2G]TA"?DF3"%61W=U#)/P^XG(9_LMM1YI=7[,]W):SL9MXDP%)O@ZU&$8P/$X ]8,&AB 3ZS,!<1 MZX#&1L.6,EC-P$ \1HI$^@.EZ3MQ/$T4HLK3D.EDLH22EDZFTEP'P4\9^4,V MF(!B(HH=)@\<-G:FYHD AZ/,0>0D'A0N3!\SMK1,.LA,*+L^'1'-FU$J)V94 MC FTS*'*(U4+M*/JDN\F$Z63$R08=,PZ. YW@CBPN/!@Y,,$D,[#*E_.WJ6P M%%Q%H)X83.>319RS;ZA4%O"Q!4)[@+++"8;<1="T(I-,P)-!^C^&]#R=B*$T(W M-HXV*1$ @5V0:.GD/R?&HV_HR '()Q5Q#'')!)PA/97ZAT,&AG9.G9P0H>*A M[1%.,*7*(NXY'>2K YM'_\1Z >P@\"-"?G+ S3(XW":0*)T)WR9HBX*\@E(T-O<,+#"2PK><"!)FI%;(\>6#BR0&Q\3EKZ50"MPC!-'E!Q5A M4@K^#)$->,RC"3]!)CC#17 /"SQ'%5PCN.B*]/V HQF><3L=IA( M6,TDO^J*\Q?N=E$^B#ZP#(H.!;2S"!*#0J(PPX2\H0_ YP$;ZHKS^I^H62*( ML!Y$6ORFB\FW))362](^9$O"P^0Q&8W)P#8 X8WFM@A45NIXCM ZGE?DT=58 MF8?\/D:-B$MJ8_Y-Q5,NW\5"+3LT$B(?&3K)Q'WCG(K/4UPHN2,H$PJRJ^CG M4MY=()"C;\_SMA)R5GQ52*N((>W(.1Z7=%FH@EF^H(1%5*W(UTDH8@,&&X4R MA)Q(BIKK\O!@CZ@9H&J=4FSCMEQZ)C@@< G8A0!0.!P=08/%A0<)>#ZDQ R)J#.0 MZ7,!UDLY$%A%< 1,6QL=L&5K/@=<%I''6'G)S/-348(G_>=_Y+*0E)Q)#+YZ M04\**"6S1>'GUUEAJ(JA_[\_&@=F-YQF!"0E!^(B^(0@A>H=^C MQ,O+1U)XF#GVHB -,QY1Q:AJKDEF&*P AC#1'*X(GUPYY"(Y!WH8BS[ 0H#? M(W-]0B'/3N;*R"*2-9G*E20VHEPBM2V7V)9+K&VYQ'Q=A8CR5*X?:"4Z06D^ M2#!ZH?W#DBX!0Q\Y-7E52QAN)-T,+BLXNGJ8 QG2<0*O-W>5O_C)@.-ZLNQ< M:@^,A/Z&+Y+O >&'KXGSWC!S)/TA,3J>:? 9@$*A,)@\7@JY>2$?%A<''ADE MF,-Y@;CJP;P2RFZX8")8>"(671VJ6Z 9AG5B;*]7,:V\],_93_M)MD#-'!/U@<&'?W+]_!5VP5W>KZ0U$YBE1:0+Y MA3D-Y]UWV2_Y0W0.^0D7+IY,) O)4K%0F+!149>8&Z@QFY](9(Y\>P03 M]X]%[PEGBXGT"N#6%@HT%B?R1R]EYG+??8FI1'$%\!EKM<9T(OG=MS&?*"VY M[]#:+3&3*&[US>8O<:MOOL,2?X"^2:\$3G:MEIA,9#=CA4O!8/M"C[787R*R M4VFYR$Y ED+VTY&=/H+D=-W!,^)3G@RI0ABLAX4$*X8*6X5*>!^B]#)8:IFT M68DN^2+2;-5-1-UDEZMNTNE$-K-1Z@9/O%>J5I8>V12G^.1UB+CI_TZM>B*7V")K059;:/A%1B1J03[)3_<6&T#U64G-J96L5)\N15D+2:. MT)?2=C%3C&4+GP$QM_P,Q]1^OFR55K>LY6(*3_(0]7GZ^=6J/__RL MC=WJGT_!ELEG8Z7LYX E;?7/=]<_RT^V3.N?U;8(_ZKD:O+CV=6O]DDKHH>& MK"!:VN':FC;Q?Y\]V/!F_=E,*E9,SD,C6U>SL)8G:"O8H>)2P4H_PZ/<*HIO MJ"@RA5RL6-PJBO7=(5 42]V>KW']?I*'M[;IR'WJJ,.OWVUX3N 3$AL;D1A( M)?.Q?#[WG1(#VS3 Y^ (?Y7/N-4R&Z=EBJ58,O>M3C^V2N9ST/RVJ<8?G&J\ MFL #X%T[QR$!1-?_Y:4A-R/TW R]7RC&2LEYSN4FJ?=OJ<6SRX0;WZ@LXF9P MT8;(>3*63,_S[[9R_L5RGDO,._S?$*?L)_E>ZYL$1-Q"[.*M\GXAJNLR;Z;[ MM=Q ?4U/?98TEKDT/\!/SPK5[[ M*7HMM=5K6[VV'FG+#=)K&^UW?[5['0(W&-@D?>;=GVV^XXL52;H0*Q5*VWS' MVFY0[L<61VX&$VV&F*=*L?3<2S-;,?_B,O5M5G.SO*NUS6H>2E# E[VN;=W1 MQBGP]+:P\3NI^VU>\A/SDAO.T)NAH%+9K8+:*JAM@O$'N_$:9/T_KJK]X5W)9E8YIYL?15QV,./@]_+<64(5/ _6\:%M,5;VC/'-^P//B#Q1)* MF=YTJCI:1Q%OX&/0['*SO@U?TAY]()V8*Z_7,'T=7H@( [ZC.,SU38^&%@/@ MDRW'[M',X<]]IA$*E!H.I>BJ!S.ZA@=J7O&###$5.=R)N ."JMC8%ZI(.*7@_HY1B(KA7=#Z^C>K"!\%:UZ=H.$@;1 MMV#+61O&8GI,@6\CFZ>3_WB^UF4ZL"G]GOH'UF]X'7B-X=);P]U+*.^4A?2K MLK">$OH_8WQ*^/,OPP-UJ\%?+]F 63X$V<:_HHI.?()LX##5!;+_IY!)Y+CP MPH1,8B\@?2J7*/X90Q[^3RY3E$\L8NO$* $#S]0 @I-0^NV #Q781\,FUN1< MC%(F9QIRKJKD$\D_PS\XS$2.D2/-$!B.[*:48$G1\>";G!J1$2+RH*+PPZ8F ME$EQ=R:H2)+8=&Q5CS>1J#$Q661.H%?TE7)0!?B?%%^+=-&-@9MJJ%%-]-=_ M8!/28UOS=XR>/K,=X/^*ZMBF846^@U]))=)*Y&F+R5?L@6$V](DW%!+9X&FB M$CY9-M6FVAL?-Y_(!P_BQG!5$J[>;K5;*LT[X$>9=AOXJV6"Z7$#1@,]9YK(GDUD/LUN6S"BKH##!2*%5\$= MH#-\8.-OO9[A>:3A75 $IAI(@,/Z)@AK#R^-]QW[ 5ZA#&VGFU#.([]).$0P M)Z;JPB1,YI+"MF@#4>,GE"OF# P-9*0-UHL&E%/%%[GBKS0+DK#1E:Y_"M0'P3Q=Q%?0!:I(<"I=N*98-- >.))M/VVQVERX6K"E,#7@,\M$ONS#)/#U@@?EC%%1J=9(:8.I![7E>[XC55&,6R4O M.IC\&IDP$ /3Z#(87FX.[5SH9(2V,7 WP"DF164!+RBN\42*:\C,@70#R.%1 MQ1?(SP&GP8#7TM=@(KK!_9*@&X!08L5E*ZED(@UZ(_(S+G]J/CWU*1ZAD$CB MQ$W6\GZ)K\G/*+46?&ASIO]%[CC8$AQ];%S:",_N_TJG$J14X5>QLFPJD5W2 MSD0R?93MBZ3Z5 6B]=;_^^/_KFUMEG%9]!618,U"RVCR3X9\+>*C"(<@[>#] MUQ1Y W=7X&ET1@)#I?Z[ !^/;\LL:G^B"7Y+RNWS(^=]QP:G%]SBEN%%PF?^ M<9\^CL;0: 9FQ-"E((9.)?.)PK)CZ" A\\XP.I,HO">,3N43J?$X>J&@.?J% M=I2.9)=?MCL#V_1QHQ?Q%%)!HD)PS^*T!E.@E$$KX5!H0XHR*%> M7-+@L">F^9PLWFM1>2:1?$-0/L]L7C/+@GB,L<20W/3:^*^$&D'L(O)S^4[(4#IP2V13.BE/[A^^-4.Y]A"/&8 /#]ET< MV7 U'Y:N?U5V8+U5UA6#[;?:,65?Q';(.64=;*3A>@X/SJJ\4P9PC$BM7NW_ M?VJO_T]99%;_CN@Z^:>HGBLF2C/47!KT"%=SA,N;E-U#5=F MS"FEUL- _IGSB&C^$5-FS1)K+F*&FO''5.I8%">>!:X1) M\@EKMDM9A$#;8O\^"Z($G3?09+2>[C9 MF&%5IF80BU!"#7,5./H+MF.^Y@GV+@PBN=;)<5,3:ITLMUG$/C]5#]"QW"!B MRB/"(BGYDKS$E";35!^SMF%:R:!$%BR5M5KBR*L'NX!Y,&HU28<^]/',,[.$ M]M,X)V83M)@" .BC2"A&:8"50U/DM!9T30(<"B/!IQG:09$@*[( MN:F"&4?12>-BX'EO1-JL\(\+&LA2X8N4]*)%B&1(-'3>+L>_,-=AW&2K3//TK%V$%WR(AR(+$VU[[)? M\H?HK,))\"A/]3U;?L!#//ID+!+\_]O[TN:VC6S1OX+RV%5.%04#X.Y,IDIV MG!O/36(_V[EY[Y,*!)HBKD& P2*)\^O?6;J!!G=)) 6*N#4W%DDLW:?/OFKQ M?7E-:5F#$3IDXS)+U#JDG6?S)G]9[Y%Q^P\53+] ML;8(.E1O\,SWV&#J<]CB.6"J9?9/9(N[5'V0[*VIF!PH9ZAT?8[BT-]7/NFF M?1^-1PV6 #&J/$+?=UEX.*KN$/:#V_[I1??%?G?;,=OVWK>[-K*Q P"^43;< M[YP-]P%T7'\)&/L$P-,1^J,1OZ'\AO(?3?E'+$Q^+&K#8T@>(94?\8VX6LL_$$8 M9),X3]W(3W\X+9*NEPZX2Q.0 U#_4B6I"J =MM+_R5S.]ZTH/40U\+Z=T4MG M>-@N /OW-"\DWNZCLKL_: VM33-*&EQN6P2[.? N?; H&K1VW4?/.CT M6KCVG5:_8S=F;8/")XO"O5ZK9VUJJ_W,)>?CNK2>9('HYD+QCQA_%VFFJL&U MFN_B)U4NK-526V9[N?:[,S"'JL6%JK4^8/.*HC&>7G?M&T"B27Q+-=2R@LJ.8SBC.N'J7N(PW2%2N_26I=N M[AV;B-NHED1;4>O]Q(VN1:J:R_[B!HGQ/ZI)'3:M@1-!>'YPD^@BSC/CTPAX M#I?$:FB(9^Z55PMU=5Q>33T#9;VOCXTDQO@N;H@G7&^"'?M0"<6"85G7#@?O ME>L#+ ^P-RT5YFHWNTFEQ2)>*>OSL:!92LKN_KU%KMC4!_C2MT]/-? M!LB$#-2F;^$TW4WKP>X.S@-Z7FQ9B&UC&P:UV;5L>L7->$^Q_PEH,]1?[EAIM1"*C:ZICUXW7';/SZ@?)U!'N.2P E3-1=#JQ MZ8I5K>3DY8H@P9[UOG,#WVK'CM=@4;_Z8=L>![3',+Y]Z!:KC7/S2.-"^*Z1 MB,0XR+0.Y>,@)(('.9J%L"PJ ZIB# M-9!Z./0EZ!Y)Z_>4GU_X @Z5[7.>4'Q]C/P\S4"5 4O' MES,]9+L_7^\I1HKQA=8YK)B/TE,-WTADW5;$(4LK:K!>S \@8<=V%5II^+-( M1?G24-R(,%7OIO9@!FKO8CJ;8 .Y4A4-R$N ;=BHI6 TB3BCFT@>@,OT-OC M:ZW+6T;H @?#YW@H]>!U\0Q;.\DF\=&-X'$DW-_R-IO(!L9>'KI).*=&F:IM M/C94!W(,BU;XIO&.%,^8FTC)SLSJT4:(J(I$"N(UBJ<@'DO M]9#3V]'ASI< MT6I."?]54 5;]B;F(2\2J+>LT24 &D^42G^=A:]K!/Y/+ZY&SM@?=;O>E0>Z MQE5'6-VKTNJ??N#'F4\46D@ <>JM#D85"5+V^+TI=GPIV>3;.Q/H]E7.\8UR2H]GSL MQHY3+120U&>RT-^R2G4+8-FJR4A=DEZL+L7A2F&>B4>K,(?H7Z,IGKM%)':: M==A >1]0!EQN-U ^.)0ML^\T8#X\R^@UR'P,EK$Q[:B!\CZ@/#0[#2X?',J6 MV=U8 ]] >3.4]]*"8JM"7>-"_,?L^^FF>>]CVX_M2\$@Z)J#_4ZRWG]C0F,O M32AV8C)2QS>-P2MQ/H1+AG@5&33H1G* B>@7+XX&UOBSP\UVUO"P4\ MTWWO79"=QK:W.:^?Z;:?N2VW2U>9 TCQI32;]VXZX>H(=,^-YL;K M/*5T)7PK@2>6RC7HGO%TLKD.FW\Z"5V#W3^=G*[!YI].6M=@\T\GLVNP M^:>3W/8>1L$]J4 NTJ+VTSMB_K+1F>^^,,1SNL;/+20K()Y>#!\&^_4NL R!?NS7H[A'] MGE!0W1?]3L:D7)0&'XL2G\T2K):&Y?%%6WVMSB6NC"ANO&=+]=3;'K^V M>ZW.L+%ECV/+/F-Z6"7 GY8<[F,(MYV-(KPQA)_<$$;;%VL+25Q3^7#=S-Z: MF 2GQV.?WD=I+!\W*Q=%T><\\29NRE-"0."" MF)4]9]%'3)V,ZV9XGDB\]30"4:6D=O:;?5W3R! M^ZQDUVE8CY^3&%;ER_DRJ1O>5[PU5N3!HZ.UR=PX:(3TY#*3VMU-0V$;4_1 ML=%G1PVU2W!Z$#'T>HTU6V=K=BE*6C=;M29V0#USD\XT!:G?Z@Q[C2W[//*) MSBAMJ-7N[S-E_=3$WAN:2?5L)FQ5!ILY=G\ ;WGX8+-CSV6D^/ O)/#++3V_ MDW$&3K\[?-3);)ZIA[,01WD:1")-@0G!DZ(8!P324'8C!3H.QD#346:X4YR[ MF_+8=ZQX1M\)#2&, 7B92*;&.+@3ON&FJ<#)A3@7.\U':09W!VYH3-W_C1,< M: =/P'F"GIQI)[MQ\8!#M90@-6[CY#O&^]5U-+IP#-IV2I?BI$9:#<]?Y(F( M\+(P%)ISQ_#%+(SG_ 8UOA&?;. 0X9"?E*? J$1BS-QY"LLQC??TC9O,#=Q7 MJE87J/&6\)+XMK@OQ9F5."I] KAIN&J$8YS0 &VU6SB5Q,79D0F.>N2WTU!< MG*,X<6\$311!W=RG+QI7,KSH!<+>#% AD8U M ^AF^"::* F'^!VX;H3SXA.!@UQI30E^<(/(O18\#Q/>G\"' D1^GO#\[RR^ M%AG.@*99\'(YVJ,80.5,:09-3C!1&Z+]) )H^3^N@HD^@U*?/TF:/+X+81X) MFFM]"B,E%;4.^@>DUG\&ZYFDY(F?M9R9LK?.I98S$] N;.?']\IH8C>IS+"A MF:VI-H<^B,9ASB,^X9F^F.*1(38B2+:@*4D0 LW<9A/^6V28R"!>4'BY5/D:OAVN#4I MJ89X4DN#W>)6B%>U-/9$(U_SD>(.<0*W(]%*#NS+.>PS-P" "8"Z(B9/!#>H MCR!9IWE(4"^FJ=-RY9!:Y,AP%V R,D:J (KA3P_69!I_K3Z 1)\2+V? :^-[ M0QP4?QM@JVO>P(Q^8LZ$G(:.0\SP.?C[+ 0,4-/J%=3]DM1O0#B'*K3LG&0CXE<)^XPA%6"(B"=\4)$<6,'J-855( M#CS)/E4[A)]Q&8!^)#J+H<"PKTG@38BN1C3KV,73Q"?0X3/@6AI\0Q1L*"0] M3X0%E1/)$HR+\<%CQD$F*J01=SRF_2D1FG1(2C5O B9>V M:;%_%=X;(DIH^#0.DC3C^=<*C>!\:>@RXI";*$[QLFT.USXE=:="3'F1;9F?E@][A=U*@BSL/%3K8)6ML)/!3P&WBBH7H+U=8HCTL YDD MWZ.P>22?K8A+O1>Y3E+1.,.Y1ENX;]L )'(0. DJ;4;FWAEJ IQB%HQ8 M?^<@^>"5C%/UGL7]1 K2G]+<*-LVK52.?MZ%9ELL+Y0%$ZSH!,4L86@.JL1< M$#O(G)>V?7]:%\9+Q[07[EJL]\U9S"HDH[F"(BWD'&D5KQ'AD3JI0-ACM>,' M$M?T*57CY$FI6J"J4I@K$8L3X5%@YXDHY\GKNUV[)VUFH#;TT N!1: O::+, M:>4UPQ-_[-3#!=]8=7P'DH%A51R\3F=ILJ$^H'$I("3=>=HFY&!(=CQ M_TB&X%LW!*4A+0>0=VSE*GQ;N 3;E !@F<[PE:']C=M?6L_4O;O0(%1U=/!M MU?'GZLLM@RCE063Q[*UCFT2$\%'N#+AL9T\GL^!U:6N.=M< RRIH M-SQ[%<\NNP&M-V@5,QZOZ!S$S+AO]JM\4YDFNRAGR*_;IO, =MTQ.]6["ONS MPJXKMK>?"WICQ[0*320D_UA$BLJLDNC$:@.8K3>X&M"2"$7A)<"/EW@PO 2V M3>X5HU$3=)2CB++F8"[PZR_4-L<(UG$EZ(R6H+>+?=#BP_,*]^(JJ0F2-D1/ M!YV1?KQDO7(V&UCN8-*+,! WBXMIX=IOA^9#KXJ'&0*<<,:;CX!D Y MY=_0#66<44S^'7<&-]Z1LHZ"7SKDEJ[WYL#?6HB[<-R";$9@9,84T!NVA&\H MP5'\3(Y>,@?&X\ +8,USVA9$61L+@>)SXH-8).X<<.D9$ M4@:741Y*@ @CV/I1?Z,&*)W,\,S;2+G!\9&8Q4,&'!A;F6 K32F1N KRCO@" MK1Z@E_N"R#2J61WDBA@IZO,-/P <2N"E\"0D->DH HR/T JK,SM;"+L]TEU\ M[+#;UPF2TQQ2[P M(J"AG\$ 8R_<:^30N#3'^I%^IK_M'W]@MGPC*-J4Q=YW8 [%D6B0V>+'P.JEX M %1(K\!_2YL0KXSRZ8@=$O)MA6L1>: T-XO85;EZ8G)JEP!4 6P,G9;2.R(O M,PT Z65^#0(5#*$6J5OZ"DLX1>5#2@V(7U7:L842QTMU\VP2)W"V'._08 RW M6)H3C:\'0 48/9!>;N!O6OQO^8 6(5FL=;#H+%"0([E1/L@WC4L"R._%H&%V M2JB HG8I((J73_-0L7X2\F-X57OEJ]R,I$41%,18(ES^TNZ971O56[Y0.[?E M_=6:#1^"NK\IS-& @?'9,,1SF[J^6$$M &DD/C]( 0-UAQ[(Y@C5M>_HGD'G M?W##2E@DKN.,8TI9XD8IJI?DSD_Q8*9!)F,!J?# +"'-)G1O=7=_**Y)GR#B M(]G=4H$H!+>;L,$K!9P_B+]#R-02P#?TAS"A*TF.!\7#RK :Z, M!!'0*_N![MK3F1776W2^ .H8$:!NL9 M:%U.F4%Q+D2$+A7I;QE+\%:T. 7S0I'3/0:@R\V!W7K()X$#C=SH.S!F336A M#*DX2>);:7O#T[(Y"Y67;:>K.8G(:619Y35/)A=!%0B1@]!_41K#P#:4!&+BPH\ ,W*8.?*<;,_6+)Y"NY]P(V*G"^ M\;)K:T=*,"A5]!+\+3C\MME;="XNGTCE?MS&R[;=7?1*EE<7QWV.FES"GJ/L M-C8HT060P4B(,F>L#RV00*D)EX1#^CUJQ%_PQM]BV.HG-@J4^^U#GL1^'(9N MLG2-BF\G%++#M8S#F)TU_)7F79&9'Z,D!JPI/4:LQ %^3(4;2>UJSNE8\'X? MM#RP-] XY(^WT;)^"ACJLP;(SV/G(6+,R*33C4X+80W& 5Y!(D#FR8J)&XY1 MUP:^X4K3,!+H1F4FQ>C(4BD<7V#:+(5%X)68N*9T\+1TN%*&7NQY;DJ'#8R7 MPA$KEWZ=N_"83 B59$;/+-^ITMFDG[G8JTSH(-8K9@((=N,&4[S;UV M,9D8ON1'5Y[L9M(7*[.*598*23)>'1H](X2@]$:SHYY/2[Z'\L3"X+N@%$N. M/\7P7"%8PN88#&!1O+0&V (@%V69$,7:IM-]A5!U3,MZ14:+&T7YM 5*!!YB MS,^GQ"\9M2P]N-_(&? 1ECV"C^24AR3@.N#R%.Y3+KYZTPKUBH MCM"BUJ@!%:8-!K%0&4^73(XX6<'UI4?IFE()67UA)6J180+Z6<0P+;/=;1CF M4WI,"X"AF$>IJRFP'NBG\'*FK"YPD7;E4YEB#HS_K BA"UC-O" M4:PZ.1G(?WMNH-J<8\(\Y#50K4G7J2[PL%!:5B6 MV3D[\MF2=T3ED^\G5'R$#.E1J/':_8$=.UL%$^4D17%TP>2[)IFWQ;[*5"7, M<98(YJ+C;Z" !+XH?&K2@B4+$A!)"PYRN!J^>SV2ZY/%/%Q8*CTM].*4"Q!2 M;R+\/.1,9LEH"IN+;M*0?401-5"!X"&.AL8_EI[6 E2 P!Y%1$L]A"M8/3X" M+ZY@,A ',K)T*>)>2AYEW\+3-("48:[RW>\I6:7DH3BNJF5.&;M7@=%H^+8; ML(DC$1W "5%]+! 6%FS%"Q#=2DR/()W6BEP.B>>M)=)H;:<-J8D[,FI8Z!268+O*UEX/%]6@)FJSF MAP'L1Y8VQA$&CF:@VG-9Z2HNL$H%0YT?MN R0X/CUV7(V:':7Y,@%!6FL2(M M5;/16&ZD,^%1TPCT(5\C*6L&_:HP2R2H0G4O3V3JJNSZ M@-FZ(W1%7Y-7!OW!"R6]TN5]?@@H3S"(]%/F0'89%5Z%BZMDQC,$W[&32/Z( M9?W@+]A9(#$^W4: EW7.(%G>5HUR2BY3*C[0>L10KCZ;),IX4DF\V/RER'$O MDSSUF'ZDCD=&D_"(8CHBY0CE*RC>%573"=R0B M3WYR>*G#:I3-8D4:RBN2P M&P=LZW_SB)0&2;N1K@1LJF#F7 B*]/E4,1%/X4.8.'MEE\7CU^U,+UA? MJ582DQZ!!I(6&G>K\%T7BFV+Q1'3!JY,"HV%3($Q>E)>F09IN*6"CF7Z.3&U M?[M1CA4@CN78]P$5UZTL%'OO&51Z\?MQ0-7=!"I."F6K3/9Y8BL'P9B'R]!%Z:X%&7:U60$QF0FT$ M69J/J%R)?)0/ YJ>"E4#?%R-B;^[\QU1MU-<"_3J)Q^-(5%K_<)V#JM0D+]TF]4*Y M@C4YK8)!%?.+GE&2%O=OE41(;2^H^QY^<*EE+#KFYEP5]J.*/,@TG9^%1_HK MVZQM2W*$J9OEU'"V##-4R3S@0!AV-:#G&K]]?/?I"_]&/1@V4&\91 M<T04 MONJMXTVPLW-T3=%>U:Z2F89LRES6JE)Z-X6[,:S5 M*BX.MV+6F!M0FAHLD]WY8R%"V;*5NGRBND$;EPRQVJN%0U6JS2;5!LLP&D8G MB">FN6R'@@51P$1]7!A:>'G$=69:H]XR+KN4.?[\>$EU%:/*,Q:XP'A\\4[* MHZ\3 ?AXF5#V9]E.DI6),E,5%.;18Q2*G4&TM-RF;.79EZV411SZBLJFU00N MN#2G#4BG!3:VT0S ?9121V^N[Z&LA$1PMZ@R,0R[B%#K5*BA"PWCYG!B BJ*#Z12^1?VV2K^\ HG?$J"M M50GV>#Z4'T$IT:[J'[8REEY(54R1*M,\\#Y"=2V=WS3>XQ[2HO!J]:L3EX/! M^C &H*Y8!?ME35><';"B:T&*EV+H@4(A=3O7&A==VI&=R:[Z16Z6K#N?NM^%ECZ;%")HX=E4 M3PR (72G4HDJUZ7'!:K'2C17>8GT3#!\J>4\J0)@X>=)0:4MU9,/J=2]=57? MN[D1QEAL40I9^?P5I\T'5ED%T1F>,A?OZ,J&5-QE=A(N$PZ!RT:+-])D"FEP M-%2HEO4G80*Y,+#)3S$+IX).6&+>THZ+JG+YA$@BR1X(%Z/Y1='"'90UV7(( MB]%]X5&OTBRNW%UI#_1K *B=<%)9:Z&GCRSE:L,_4I$MQ@A-W+34'&3+! 44UJP9:=4M,B^531M*A] M1=D;LJC: :KAR1XX040!E1ZP-"N*WM8B&B3EAEM%Q9+_X M;%JVL=,$#IXVB/A$[WLESY=E43!3>6:28?%: L%^!A1E.>Y&H#RQJ%G,'54Z\#\E5X$;LZ4SRF1XHE0T] MV'3 #C,+(%2&V<+=%0"6N*=/<.+NLA4TE.^,,)L7.<2SF-6N^G M41AP6GD$9 [4$@C23H9A9H,J>O^JVP' MI0K!_4H'PZ1:,%U<-AS='(28&M3#V?Q*9I??+GDD57[M,C;?L')/ZR=:-F-;<"\LF#]35*(+%NEC?44\XP;O.)A(SBK@ M"K VW[+_N' D:DW3JDLE:OQL:H--)S/2MD;K]AXT9A=%IE1/;WJ+%Q,J,2K MJ.5Y4/8&QK&4")A NH&7_;^:-S1(_ M4R>8E&'D"G1\K%4R!0&?8JX7)@J@@ MN20M1E1DRFYT\*CI@EN"O;[23%#M^I:7WBI.$(P/<4N]B2-R_#Y&0WIZA>B8 MW=-]9S 4WE!<=?N#\56G[PRNW';'NFJ[[;X]= =^NS>64=YJO_5VUU[]?<>I M?/\Q$]/V_\E1Z&?$NH -P,=0?OHY2+TPAI-]5//VW=5'7(Y,R$>-J$'!*," )= T5N%W-I&^@*WZ>&RZGWJ[>2=/&RE'C1#8 M2"PK.J0A21;]XG0N#I7$-%X7TV)\&F:INQ$J.2P\9P'.(:07.Q?2@Y4OHFA+3_%P+BO%WUOD MJ8.G2'^.1TU!>00?+8P*KO6T'WYJ,3%'AC! &<4.VXC75?=ODI-HH*U()V). M

W7%]G/GK(C! =J]:C;1EU+7L_+>1<:$%>;"XN4E4>NMCTH7P69:>-]4I, M&2HJ+V87FCY[B;R]LMW>)_404A:Y*GUAY92W)6>/%P57U41R]&BKA+G3&$MR MJ&9!6Q)ML40;:%]JL1QSV-!2E?+FJL[?MME_=2[5GEOI3TT24DV,U;QCI E0 MIG&^D6"O?!1'"5HA":=N D(K"T:;D8Q!<.#../^B^@A54R_S/+ 9B9I435S] M FOG+T!I 558#A$'(D!R8"X:^-)U+)]/\H O*7*I.:!%'GIN"4!!_;A3 )!4HY\ M[$NWR+;B"I+$'FN-I-* &K3=CF=W_*N>[7>N.MUV]VID6X,KX7C"&XP&/;O; M6S*M.N0/C\,4-OT99]R10^%J.&Q;O8>GYQ[7INH\V*92FZT+/1 MF"+=624:*WGAE_#W=/C/"OB3?/='^]V^\KG9M M^Y*'&.Q'-F.WW0N[^UJP7+&[OOQ4PN1K.;'I@S)A+SW*#+"'[/#Q=FND?(\H""16#Y4A!B01?A'1OGR.G_48IO462Z4C@# S,5*PF M^00*AIX.0SV8HT($2 ^D#Z+VRQKW!N(85XAC?"_6X=]COAJ3-&T3K>Q$SN$A MZA(^#X;5"U[F*CF$_(@+-[3N!Y):TZ'4>47;:7>\WN#*'HSMJP[L\VK8[;E7 MW:$_Z [$H"<&2HNM>]A_T(3]F[#_$<+^3#F?+[]\^_CQT[=?/WSY^,8ME_@@-\W-O MTYRZPR9!RO/A96D[,A",H20<-5-)P5PFH&ICU9"&,OM!M?2E8 EY[]#MNY#= M[*9I[/%D6V4.8NB3EE4&@T3*Z:^^,BZX2,+UO"1WPU3E%X^(INDTI;NNHRK/3AE^GMK78ONHADV M'$ (ZH(_E^5VHMX#-:3V9PVM@3ML6U>69;M7'1^TOT%WU+D:#-I#NVL/AFV_ MO>3QM"\Q)^(7KO2Y:O>[_5-AP9G/001 MU3W0#ZF@9#G@/T2>A4NB9<"TQWE(3=6Y;XAL,LRU8V4*"#SCLYMD MTG!LJI'(V?1*BYT2=EHTLY'^L=6K_).Z^*_B^I7BLFQ];C0?\4N MYN-2RB$'W)?LPDJA3FLU T'&PH$2R78JXR@YCX."-)'DW&0 (SLK:WNX:@_+ M)HA1+7=AQO"EJ@&;%OR/"D5HK+FV<$[&>>063H#%]0=]?]3M^%?MD7"0Q8VN MW+'3OQKW_'&WVQG[;J&NERS.^3,"H1*D&-_WO[JA2./QA[]!BYB7SHD387K. M@WF>#@.#@("2F\&@.VD0:_]D%4HJJ>>DH>Y^DE\$&DTE)*OP+>!YCL[(/^*H MWA'B@U,Y5CDFQN=B<J2CM'S/@4L4.76:!#;9&M/CMBW\68M$"Q5%"Z27?0 M!]33S\5T>DJUNN&FLTNC:3B?7>]0SJ-#[,7!(>G$3?ATR)30>L;)8@!ZMFE\ MS4>I^#LGJ2R'9]-BL8AW:3!UD<''PQ:BG!H88X\/?ILL)9A3J83*Q2O]Y6KU ME'6A=@E %5&J!J%HEYD&@/0RO\8R>-M2ZDVYPA).4?D0I?"I5XWF:LW*$2^7 MZN;9)$XHS6I,#4(*&,,MEMDWJH $0 5H4G/EB"=FU4&:BP>T",EBK0-SL/*< MU-PG]2!_XY3ZF\JE6."13W/V^\F!<'#G8+'63NVG36%=?7#EL;'_ MCB4-'UC1X@.GX5$"H$S^D[U2M!_TPT@?,\1TW_#-R+^I(G445;N@+@NS5+Q5 M?^B+**')$3,L=%1?<+B,OJE$U:Q9MA!26XY29HE:A8R8V;S%S%?? PPS;-TA MPR <\)1/:3NFU7^E0T>^3T%*BSEIST=W,CH?%8C49R*IMQR$O 6@;(W]R>@K MO5A=ZH[2.,PS\>B@W\[GOONQZZ':-YF_ Y@UGA/%Q''DMLQ>IP'\4P#>,;N# M!O(-RI\3X*T&\$\!^*'9:S> ;UC-&0%^8'8:Z=J@_#D!?FC:O0;R3P!YBW): M&\ _%/!OL@0="/H)+"4=DU?B42Z$P^U]\(C(SP+FW6O?#V7!]X;$8 D0FR)R M[/)<_F\1A#O(GK>9T\?,VVT0H@8(L<78/!]VL,WZ:RCCS"ACFVWTH$T_IO;B M&X:(>>=_Y&4.83SF?[]2O.; W.(,\6";P7!T//B=FWBLPH2#0F*; G^4TZ_N ML-&):T[@IPN)1E-NT*31GQO]N:&7YZU5JY1HG_4+5[:1*.N"#JQ5-;A17TV; M32I& TR2YK]^=^?\Q_\3\IMWHE&\&\6[X0+U5+P/YG=IY,):C(!]XY<_O7!> M[!$,+$B;)3Y&S U_8/ M#;(<4R<]861I=-,577X]3XCQ^-AN3FMQ<_]VH]Q-I.4I*^\O^)_*3VU[IQ/< MLJWC4?O21M5!'7 3^X_\6U5*I.IP[05&N])H>IN#AY.ZJQ0$Y]:&_Q%C))UZF#U-S74XJ#%K >E MP&>IW@%-M3XYP>_TMVNJ3GV\=<7A9]WQJM#B0H[%>F]RWI8;3'NJ, M^@=W4C[KX]U%%7W.1[Q*L7QF1[Q=[7SFVN4;&DY2EW7M>Q5^D,Y"=_XVB,(@ M$A>C,/:^5P;7X#U2>>[Q[7(U&_:"HR-QR!4.JW$LVU&3[#Y&F..*T[2PEHK& M(\'/?>/3- I&>;KP>\L0TUD8SW&X-0Y+$J$D M;A:DX[F!(ZWS+$[FQEC @MRP15\)G@L> ](:F7M7/ B'Y,2C4([++@>&QSQB MYP:G=>/', '/PXQIH!D-U!813O(IULS# MK7G)-..'AV#)X6ZPAT1,@TS-75MN/*MUSO5"X29(=Q-YT 4K*@_OX:US%WA* M-4L9L4MQ%,E5G.%2>UR]R^^2C2K9H+8)V5W8(=YP#4A)381I /=;-[QUYZG< M5'](O(39Z]N"E>*V#=LRG>$K0_N;<'=Q/5/W[D*#4&5@D+RM.C-(?;FEF[$\ M"&3Y#H@TI$'X*'?6LO&/;[&WBO?L^@K^B#<" M(T^F;EA)VY=?:1B"L(/W?Z.93D #[^%J')A6X+"["QY7CV45M _,D%_\B\:@ MS9* AK"Y=S1"B\<;TH0XI,LISWPKQIMIDQ")TD7H5T='CP3-:*;I@L7T/WEC ME8V-YC3EF5F/CVN RS1.91YIQN[LX64:<@)SK^?[[7;'OAKZMG/5&7>\*W=@ M>U>6Z/B]X;AG.2/KA<2+>O.VMM7PMH:W'8&WE9/(>Q_N)D!K67K5'_3:?5L2 M2MVGCO<>/'5<[?>0[*T@S[[E68M JM/,PC:15Y5*^;M]SBT$,W:XSB0SVF9W MJ"B0_B1>L]$$!,Z@; ;3=O;YY,JRN[:YUIE?XV7WS?;:_,(:+]MQS/9#P'W/ M$,W]API_H\(?)(VG^>0#EG-"GZ3+1?[((R M;<<]GVG/FQGZ\\**WX6J9<$Y =&B[$T;QK,N+_6O TS M'A!IJRGL&F;R:)21%LOYX(R4WW'"6 ,?A;$*=;:+ZA*'CF&/60MPL$VGO^BN MG*V(;.MQRHME!Y=CKBP(J94&35L];NY5N>&G,*)6;%@Y7";>)+@1Z1OA7[O)&]_-W#>VU>X.!^TW0)ZV;75ZW:$]M&RKW^F] M<>WA1=<>=*\<<>?XMCG)I@?W#B]M;ME=K)H&&I?7"09_HJQ%$1W?4,7>AF.W M,!8^;*$6CRJY.XV!E%$K!P4<-C!O&7^YX7>1M.A+:B.'D2"1&%]%&(J$@\]? M/6!SQ95!9$R"U/#MA -Y-C43,$I'"$LC7K$)/*QZWY-*N.Q5M2'PY+EG= MW\&W)Y:Y&0(GPPX?YE$XQ$D^P.>Y_Z-J$]8@Z'5[?4NAOT+4"[:]M#,[K(Z:!!?A1>#=+\$W<''W!'X M^XN@5#;?>(_',2;''(KSTB4H/0XHW[^(ZR#-$C?*&K'^S,3ZR7"E1JQOA4&[ MW;YP.I9CGZ%L=4X#BQO9^EC9.@39:G4LNRZR=4%^DHQ%&UV:Z,4T.331[>%P MT$C09R=!3X3W-!)T*PR00 VT4&6O(.LL[=3V:>!S(TL?ZO>V.OU.;PA2U.H. MG,$;U[&=8V^1K/_.U2BV(3JQK'8C69^=9#T13M1(UJTP M0 )M)&OG-/"YD:R/C"CW;,=I=[IO7+L'>-#O6AA2;M%?]_N M#Z[L6LG^E5'@=_/0O4VY)GDZCI/,^#I/,S%-C3^_7K:8>#]&GMDH HTB\.0' MV2@"ZQ2!HIF]TV558%'VGIO0M4\%O1NI2U)W'-Q=8$*BU6ZCU+1MOSWTQMVZ MR,[2;I;94>\G@<"J+.'EE!#]:0R_B@2;\Z2Y&U$'KJ_"P\OEE G+*;*FW63D M1B*]^'07BKEQZ67XBV-93B-EZRQEZPV!.N! (Z#7Y#X'(>C:OXI$8)'T.4KC M$TF5:*3Q2FGLC/SN:% ;2W:--/XEB-S("]RPD<:--&ZD<2.-&VF\4AJ?3$5? M(XU726/'[G3\GCNHN32^AVT\M'J--&ZD<2.-SU(:YTD4I),SE\B-?7S*$MEQ MW9YK.S67R/>PCQN)W$CD1B(W$OE<);)MV>;'/[Z>!DH_9Z&\\GPK&_Z_[[[\ M9GR,T@QDFS!^CKT<$YI/X^1JPXX;@50''#@'@?24,#@CX?7U_:^G@?Z-\#*^ MN7=Q%$_GQH>[3$34,OVK-Q%3MY%FC31KI%DCSFKV__.TTT+^19JNDV7LW M]/*0O9&_!='W$38U;F1;(]L:V=;(MG.7;3]_^.4TT+^1;:MDV\]B'$1!(]H: MT=:(MD:T-:)-%VV_7;X[#?1O1-LJT?:;.Q)A(]4:J=9(M4:J-5)-2;7/7SZ< M!OHW4FV55/MX06TQ(]?[?IW$ M>>1?>'$8)V_5"%KUQ-G=BL?1J\V>*&;>=DU+C;Q]&\61*"!JN'D6&Y9AX7O? MP(O5?Q]VEOL^J .O@C[JTW)W7)9K!/Y/+ZX&5G?0$X/^E>/VAU<=?S"\&@G? MOL)AHUW1ZXP&;N>%3* GH&H'ZX7"37 R\60!@]JXL"H^/$Q^KB4CA!%1KOS_ M'[&% ].%A@"[(*&V"8F/#O&):W$Q2H3[_<(=PWO?NN&M.T^5\2+;7U3-V["PU""WH?W::^2YA*Y)=+A/)BX;D%X3JVV:O2 M;L-^)Q]5A6 M09LIY^O'__KC\MN?7SY\O>H[_4&W+ZEDSX@N8;II.':YDF(8]L-XSB.$UD.Y MT".@)4V@=F^16W[62H:P/"@1?^=!0M.)TZ)D2'AY D<+K_EPYTWFZ?"AY\#FCB,[2CA-2-AI V^ $T]@!>,Q(3-QSC MR&-\$' =D<@+X',B\@ANHN>![)K$">S,-Q][*M^D-?5;D(YFDHH]47S-#HFPK?TQ0T>Z M[J -=OKF<*TV MN,!&M8?'\,!Q&-\J^*C/U$/X+"Q3 M/W%/\%:>>H(.H8W8S2;ZX1#\/F&-]0A^.4N"T)"MHH=/C+#;6=6[^=N'8)U4 MI*77Q)[=&2!7 ]]0OHF#;V(+5KY)WQ@[Z._JA$ MU@_W%Q"ZP>0&DX^C/CP$6?\95+=+3M,@@QL\=(@E(@T0%UIK&]_AQ)6?@T1X M69S\\TW0L.X&X1M]N=&7&WWY4/KR7T$8!N[4^"\1)]>-PMQPW9-7F!3_ ?78*!1HTI/7M*ILU.8&ZQNUN5&;&[7Y@&KSO_,P$,97T_@Z M<<5XW.C-#=L]=;UY":4;7&YP^505YZ\B"N)DO=9\Z7EQ'F6PZ@UJLRIHJ$4> M43V*".J>>^_L,?=>3QN56>^5Q-'J=\C4VTP-]TG9+TM%1K$_AW\FV33\U_\' M4$L! A0#% @ TH293O0(4_4C$0 C+, ! ( ! M &9I>"TR,#$Y,#,S,2YXS9TC !Z-@( % @ %['P 9FEX+3(P M,3DP,S,Q7V1E9BYX;6Q02P$"% ,4 " #2A)E.6(1"TR M,#$Y,#,S,65X,S$R8F0U8C@Q+FAT;5!+ 0(4 Q0 ( -*$F4ZQ>[?YK 4 M -H= ; " ;'] !F:7@M,C Q.3 S,S%E>#,R,30T9#9A M."YH=&U02P$"% ,4 " #2A)E.C9+![[\% "<( &P M@ &6 P$ 9FEX+3(P,3DP,S,Q97@S,C)A839A,3(N:'1M4$L! A0#% @ MTH293I>$<9S)I@$ Y%82 !0 ( !C@D! &9I>"TR,#$Y,#,S ?,7@Q,'$N:'1M4$L%!@ * H K ( (FP @ $! end