0001558370-24-012611.txt : 20240905 0001558370-24-012611.hdr.sgml : 20240905 20240905162949 ACCESSION NUMBER: 0001558370-24-012611 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 86 CONFORMED PERIOD OF REPORT: 20240731 FILED AS OF DATE: 20240905 DATE AS OF CHANGE: 20240905 FILER: COMPANY DATA: COMPANY CONFORMED NAME: ARGAN INC CENTRAL INDEX KEY: 0000100591 STANDARD INDUSTRIAL CLASSIFICATION: CONSTRUCTION SPECIAL TRADE CONTRACTORS [1700] ORGANIZATION NAME: 05 Real Estate & Construction IRS NUMBER: 131947195 STATE OF INCORPORATION: DE FISCAL YEAR END: 0131 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-31756 FILM NUMBER: 241281760 BUSINESS ADDRESS: STREET 1: ONE CHURCH STREET SUITE 201 CITY: ROCKVILLE STATE: MD ZIP: 20850 BUSINESS PHONE: 301 315-0027 MAIL ADDRESS: STREET 1: ONE CHURCH STREET SUITE 201 CITY: ROCKVILLE STATE: MD ZIP: 20850 FORMER COMPANY: FORMER CONFORMED NAME: PUROFLOW INC DATE OF NAME CHANGE: 19920703 FORMER COMPANY: FORMER CONFORMED NAME: ULTRA DYNAMICS CORP DATE OF NAME CHANGE: 19830522 10-Q 1 agx-20240731x10q.htm 10-Q
0000100591--01-312025Q2falseARGAN INC00P9MP24Mhttp://fasb.org/us-gaap/2024#InvestmentsP1Y0.300.25http://fasb.org/us-gaap/2024#SecuredOvernightFinancingRateSofrMember185000009500000P14D0000100591us-gaap:TreasuryStockCommonMember2024-05-012024-07-310000100591us-gaap:TreasuryStockCommonMember2024-02-012024-07-310000100591us-gaap:TreasuryStockCommonMember2023-05-012023-07-310000100591us-gaap:TreasuryStockCommonMember2023-02-012023-07-310000100591us-gaap:CommonStockMember2024-05-012024-07-310000100591us-gaap:CommonStockMember2024-02-012024-07-310000100591us-gaap:CommonStockMember2023-05-012023-07-310000100591us-gaap:CommonStockMember2023-02-012023-07-310000100591us-gaap:TreasuryStockCommonMember2024-07-310000100591us-gaap:RetainedEarningsMember2024-07-310000100591us-gaap:AdditionalPaidInCapitalMember2024-07-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-07-310000100591us-gaap:TreasuryStockCommonMember2024-04-300000100591us-gaap:RetainedEarningsMember2024-04-300000100591us-gaap:AdditionalPaidInCapitalMember2024-04-300000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-04-3000001005912024-04-300000100591us-gaap:TreasuryStockCommonMember2024-01-310000100591us-gaap:RetainedEarningsMember2024-01-310000100591us-gaap:AdditionalPaidInCapitalMember2024-01-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-310000100591us-gaap:TreasuryStockCommonMember2023-07-310000100591us-gaap:RetainedEarningsMember2023-07-310000100591us-gaap:AdditionalPaidInCapitalMember2023-07-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-310000100591us-gaap:TreasuryStockCommonMember2023-04-300000100591us-gaap:RetainedEarningsMember2023-04-300000100591us-gaap:AdditionalPaidInCapitalMember2023-04-300000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-3000001005912023-04-300000100591us-gaap:TreasuryStockCommonMember2023-01-310000100591us-gaap:RetainedEarningsMember2023-01-310000100591us-gaap:AdditionalPaidInCapitalMember2023-01-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-310000100591us-gaap:CommonStockMember2024-07-310000100591us-gaap:CommonStockMember2024-04-300000100591us-gaap:CommonStockMember2024-01-310000100591us-gaap:CommonStockMember2023-07-310000100591us-gaap:CommonStockMember2023-04-300000100591us-gaap:CommonStockMember2023-01-3100001005912023-02-012024-01-310000100591us-gaap:RestrictedStockUnitsRSUMember2024-07-310000100591us-gaap:RestrictedStockUnitsRSUMember2024-01-310000100591srt:MinimumMember2024-08-012024-07-310000100591srt:MaximumMember2024-08-012024-07-3100001005912024-08-012024-07-310000100591us-gaap:IntersegmentEliminationMember2024-05-012024-07-310000100591country:US2024-05-012024-07-310000100591country:IE2024-05-012024-07-310000100591country:GB2024-05-012024-07-310000100591us-gaap:IntersegmentEliminationMember2024-02-012024-07-310000100591country:US2024-02-012024-07-310000100591country:IE2024-02-012024-07-310000100591country:GB2024-02-012024-07-310000100591country:US2023-05-012023-07-310000100591country:IE2023-05-012023-07-310000100591country:GB2023-05-012023-07-310000100591country:US2023-02-012023-07-310000100591country:IE2023-02-012023-07-310000100591country:GB2023-02-012023-07-310000100591agx:AtlanticProjectsCompanyLimitedMember2024-05-042024-05-040000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-05-012024-07-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-02-012024-07-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-05-012023-07-310000100591us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-02-012023-07-310000100591us-gaap:RevolvingCreditFacilityMember2024-05-310000100591agx:ExpiresOnMay312027Memberus-gaap:RevolvingCreditFacilityMember2024-05-240000100591agx:LettersOfCreditExpireOnMay312024Memberus-gaap:RevolvingCreditFacilityMember2017-05-150000100591us-gaap:RevolvingCreditFacilityMember2024-07-310000100591agx:GemmaPowerSystemsMemberus-gaap:FinancialGuaranteeMember2024-07-310000100591agx:RobertsCompanyIncMember2024-07-310000100591agx:GemmaPowerSystemLlcMember2024-07-310000100591agx:RobertsCompanyIncMember2024-01-310000100591agx:GemmaPowerSystemLlcMember2024-01-310000100591us-gaap:TradeNamesMember2024-07-310000100591us-gaap:CustomerRelationshipsMember2024-07-310000100591us-gaap:TradeNamesMember2024-01-310000100591us-gaap:CustomerRelationshipsMember2024-01-310000100591us-gaap:RetainedEarningsMember2024-05-012024-07-310000100591us-gaap:RetainedEarningsMember2024-02-012024-07-310000100591us-gaap:RetainedEarningsMember2023-05-012023-07-310000100591us-gaap:RetainedEarningsMember2023-02-012023-07-310000100591us-gaap:CorporateNonSegmentMember2024-05-012024-07-310000100591us-gaap:CorporateNonSegmentMember2024-02-012024-07-310000100591us-gaap:CorporateNonSegmentMember2023-05-012023-07-310000100591us-gaap:CorporateNonSegmentMember2023-02-012023-07-3100001005912021-01-310000100591us-gaap:OperatingSegmentsMemberagx:TelecommunicationsInfrastructureServicesMember2024-05-012024-07-310000100591us-gaap:OperatingSegmentsMemberagx:PowerIndustryServicesMember2024-05-012024-07-310000100591us-gaap:OperatingSegmentsMemberagx:TelecommunicationsInfrastructureServicesMember2024-02-012024-07-310000100591us-gaap:OperatingSegmentsMemberagx:PowerIndustryServicesMember2024-02-012024-07-310000100591us-gaap:OperatingSegmentsMemberagx:TelecommunicationsInfrastructureServicesMember2023-05-012023-07-310000100591us-gaap:OperatingSegmentsMemberagx:PowerIndustryServicesMember2023-05-012023-07-310000100591us-gaap:OperatingSegmentsMemberagx:TelecommunicationsInfrastructureServicesMember2023-02-012023-07-310000100591us-gaap:OperatingSegmentsMemberagx:PowerIndustryServicesMember2023-02-012023-07-310000100591agx:MajorCustomerTwoMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-05-012024-07-310000100591agx:MajorCustomerThreeMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-05-012024-07-310000100591agx:MajorCustomerOneMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-05-012024-07-310000100591agx:TelecommunicationInfrastructureServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2024-05-012024-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2024-05-012024-07-310000100591agx:IndustrialConstructionServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2024-05-012024-07-310000100591agx:MajorCustomerTwoMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591agx:MajorCustomerThreeMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591agx:MajorCustomerOneMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591agx:TelecommunicationInfrastructureServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2024-02-012024-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2024-02-012024-07-310000100591agx:MajorCustomerTwoMemberus-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591agx:MajorCustomerTwoMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591agx:MajorCustomerThreeMemberus-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591agx:MajorCustomerThreeMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591agx:MajorCustomerOneMemberus-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591agx:MajorCustomerOneMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591agx:MajorCustomerFourMemberus-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591agx:MajorCustomerFiveMemberus-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591agx:IndustrialConstructionServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2024-02-012024-07-310000100591agx:MajorCustomerTwoMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-05-012023-07-310000100591agx:MajorCustomerThreeMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-05-012023-07-310000100591agx:MajorCustomerOneMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-05-012023-07-310000100591agx:TelecommunicationInfrastructureServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2023-05-012023-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2023-05-012023-07-310000100591agx:IndustrialConstructionServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2023-05-012023-07-310000100591agx:MajorCustomerTwoMemberus-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2023-02-012024-01-310000100591agx:MajorCustomerTwoMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-02-012024-01-310000100591agx:MajorCustomerThreeMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-02-012024-01-310000100591agx:MajorCustomerOneMemberus-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2023-02-012024-01-310000100591agx:MajorCustomerOneMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-02-012024-01-310000100591agx:MajorCustomerTwoMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerThreeMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerOneMemberagx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerOneMemberagx:IndustrialConstructionServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:TelecommunicationInfrastructureServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2023-02-012023-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2023-02-012023-07-310000100591agx:IndustrialConstructionServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2023-02-012023-07-310000100591agx:O2024Q2DividendsMember2024-05-012024-07-310000100591agx:O2024Q1DividendsMember2024-02-012024-04-300000100591agx:O2023Q2DividendsMember2023-05-012023-07-310000100591agx:O2023Q1DividendsMember2023-02-012023-04-300000100591us-gaap:EmployeeStockOptionMember2024-07-3100001005912023-01-310000100591us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMember2024-07-310000100591us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMember2024-01-310000100591us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasurySecuritiesMember2024-07-310000100591us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:DomesticCorporateDebtSecuritiesMember2024-07-310000100591us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:USTreasurySecuritiesMember2024-01-310000100591us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:DomesticCorporateDebtSecuritiesMember2024-01-310000100591us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2024-07-310000100591us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2024-07-310000100591us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2024-01-310000100591us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2024-01-310000100591us-gaap:OperatingSegmentsMemberagx:TelecommunicationsInfrastructureServicesMember2024-07-310000100591us-gaap:OperatingSegmentsMemberagx:PowerIndustryServicesMember2024-07-310000100591us-gaap:OperatingSegmentsMemberagx:IndustrialConstructionServicesMember2024-07-310000100591us-gaap:CorporateNonSegmentMember2024-07-310000100591us-gaap:OperatingSegmentsMemberagx:TelecommunicationsInfrastructureServicesMember2023-07-310000100591us-gaap:OperatingSegmentsMemberagx:PowerIndustryServicesMember2023-07-310000100591us-gaap:OperatingSegmentsMemberagx:IndustrialConstructionServicesMember2023-07-310000100591us-gaap:CorporateNonSegmentMember2023-07-3100001005912023-07-310000100591us-gaap:OperatingSegmentsMemberagx:IndustrialConstructionServicesMember2024-05-012024-07-310000100591us-gaap:OperatingSegmentsMemberagx:IndustrialConstructionServicesMember2024-02-012024-07-310000100591us-gaap:OperatingSegmentsMemberagx:IndustrialConstructionServicesMember2023-05-012023-07-310000100591us-gaap:OperatingSegmentsMemberagx:IndustrialConstructionServicesMember2023-02-012023-07-310000100591us-gaap:AdditionalPaidInCapitalMember2024-05-012024-07-310000100591us-gaap:AdditionalPaidInCapitalMember2024-02-012024-07-310000100591us-gaap:AdditionalPaidInCapitalMember2023-05-012023-07-3100001005912023-05-012023-07-310000100591us-gaap:AdditionalPaidInCapitalMember2023-02-012023-07-3100001005912024-05-012024-07-3100001005912024-08-300000100591us-gaap:HeldtomaturitySecuritiesMember2024-07-310000100591us-gaap:HeldtomaturitySecuritiesMember2024-01-310000100591srt:MinimumMember2024-02-012024-07-310000100591srt:MaximumMember2024-02-012024-07-310000100591us-gaap:RestrictedStockUnitsRSUMember2024-02-012024-07-310000100591agx:TimeBasedRestrictedStockUnitsMember2024-07-310000100591agx:RenewablePerformanceBasedRestrictedStockUnitsMember2024-07-310000100591agx:PerformanceBasedRestrictedStockUnitsMember2024-07-310000100591agx:EarningsPerSharePerformanceBasedRestrictedStockUnitsMember2024-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-05-012024-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591us-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591us-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2024-02-012024-07-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-05-012023-07-310000100591us-gaap:AssetsTotalMemberus-gaap:CustomerConcentrationRiskMember2023-02-012024-01-310000100591us-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-02-012024-01-310000100591agx:PowerIndustryServicesMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:MajorCustomerOneMemberagx:IndustrialConstructionServicesMemberus-gaap:CustomerConcentrationRiskMember2023-02-012023-07-310000100591agx:AtlanticProjectsCompanyLimitedMemberagx:KilrootProjectMember2024-05-032024-05-030000100591agx:ExpiresOnMay312027Memberus-gaap:RevolvingCreditFacilityMember2024-05-242024-05-240000100591agx:LettersOfCreditExpireOnMay312024Memberus-gaap:RevolvingCreditFacilityMember2017-05-152017-05-150000100591us-gaap:HeldtomaturitySecuritiesMember2024-02-012024-07-310000100591agx:AtlanticProjectsCompanyLimitedMemberagx:KilrootProjectMember2024-02-012024-07-3100001005912023-02-012023-07-310000100591agx:KilrootProjectMember2024-02-012024-07-310000100591us-gaap:DomesticCorporateDebtSecuritiesMember2024-01-310000100591us-gaap:USTreasuryNotesSecuritiesMember2024-07-310000100591us-gaap:DomesticCorporateDebtSecuritiesMember2024-07-310000100591us-gaap:USTreasuryNotesSecuritiesMember2024-01-3100001005912024-02-012024-07-3100001005912024-07-3100001005912024-01-31iso4217:USDagx:customerxbrli:sharesiso4217:USDxbrli:sharesxbrli:pureagx:segment

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

July 31, 2024

or

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

For the Transition Period from                      to                     

Commission File Number 001-31756

Graphic

(Exact Name of Registrant as Specified in Its Charter)

Delaware

    

13-1947195

(State or Other Jurisdiction of Incorporation)

(I.R.S. Employer Identification No.)

One Church Street, Suite 201, Rockville, Maryland 20850

(Address of Principal Executive Offices) (Zip Code)

(301) 315-0027

(Registrant’s Telephone Number, Including Area Code)

(Former Name, Former Address and Former Fiscal Year, if Changed since Last Report)

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 (the “Exchange Act”) 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 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, 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 Rule 12b-2 of the Exchange Act).    Yes      No  

Title of Each Class

    

Trading Symbol(s)

    

Name of Each Exchange on Which Registered

Common Stock, $0.15 par value

AGX

New York Stock Exchange

Indicate the number of shares outstanding of each of the Registrant’s classes of common stock, as of the latest practicable date.

Common stock, $0.15 par value: 13,499,650 shares as of August 30, 2024.

ARGAN, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS

(In thousands, except per share data)

(Unaudited)

    

Three Months Ended

Six Months Ended

July 31, 

July 31, 

    

2024

    

2023

    

2024

    

2023

REVENUES

$

227,015

$

141,349

$

384,697

$

245,024

Cost of revenues

 

195,910

 

117,607

 

335,648

 

207,058

GROSS PROFIT

 

31,105

 

23,742

 

49,049

 

37,966

Selling, general and administrative expenses

 

12,428

 

10,501

 

23,853

 

21,092

INCOME FROM OPERATIONS

 

18,677

 

13,241

 

25,196

 

16,874

Other income, net

 

5,604

 

4,118

 

10,398

 

3,489

INCOME BEFORE INCOME TAXES

 

24,281

 

17,359

 

35,594

 

20,363

Income tax expense

 

6,083

 

4,592

 

9,514

 

5,487

NET INCOME

18,198

12,767

26,080

14,876

OTHER COMPREHENSIVE INCOME, NET OF TAXES

Foreign currency translation adjustments

(186)

(185)

(976)

255

Net unrealized gains (losses) on available-for-sale securities

1,459

(683)

490

(720)

COMPREHENSIVE INCOME

$

19,471

$

11,899

$

25,594

$

14,411

NET INCOME PER SHARE

Basic

$

1.36

$

0.95

$

1.96

$

1.11

Diluted

$

1.31

$

0.94

$

1.90

$

1.10

WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING

Basic

 

13,403

 

13,403

 

13,331

 

13,408

Diluted

 

13,880

 

13,542

 

13,727

 

13,544

CASH DIVIDENDS PER SHARE

$

0.30

$

0.25

$

0.60

$

0.50

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

2

ARGAN, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED BALANCE SHEETS

(Dollars in thousands, except per share data)

    

July 31, 

    

January 31, 

    

2024

    

2024

(Unaudited)

(Note 1)

ASSETS

CURRENT ASSETS

Cash and cash equivalents

$

232,685

$

197,032

Investments

251,997

215,373

Accounts receivable, net

 

95,315

 

47,326

Contract assets

 

46,086

 

48,189

Other current assets

 

48,871

 

39,259

TOTAL CURRENT ASSETS

 

674,954

 

547,179

Property, plant and equipment, net

 

12,098

 

11,021

Goodwill

 

28,033

 

28,033

Intangible assets, net

2,022

2,217

Deferred taxes, net

1,637

2,259

Right-of-use and other assets

7,830

7,520

TOTAL ASSETS

$

726,574

$

598,229

LIABILITIES AND STOCKHOLDERS' EQUITY

CURRENT LIABILITIES

Accounts payable

$

99,693

$

39,485

Accrued expenses

 

61,698

 

81,721

Contract liabilities

 

253,736

 

181,054

TOTAL CURRENT LIABILITIES

 

415,127

 

302,260

Noncurrent liabilities

3,379

5,030

TOTAL LIABILITIES

 

418,506

 

307,290

COMMITMENTS AND CONTINGENCIES (see Notes 8 and 9)

STOCKHOLDERS’ EQUITY

Preferred stock, par value $0.10 per share – 500,000 shares authorized; no shares issued and outstanding

 

 

Common stock, par value $0.15 per share – 30,000,000 shares authorized; 15,828,289 shares issued; 13,497,550 and 13,242,520 shares outstanding at July 31, 2024 and January 31, 2024, respectively

 

2,374

 

2,374

Additional paid-in capital

 

165,902

 

164,183

Retained earnings

 

243,519

 

225,507

Less treasury stock, at cost – 2,330,739 and 2,585,769 shares at July 31, 2024 and January 31, 2024, respectively

(99,644)

(97,528)

Accumulated other comprehensive loss

(4,083)

(3,597)

TOTAL STOCKHOLDERS’ EQUITY

 

308,068

 

290,939

TOTAL LIABILITIES AND STOCKHOLDERS’ EQUITY

$

726,574

$

598,229

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

3

ARGAN, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

FOR THE THREE AND SIX MONTHS ENDED JULY 31, 2024 AND 2023

(Dollars in thousands)

(Unaudited)

Common Stock

Additional

Accumulated Other

    

Outstanding

    

Par

    

Paid-in

    

Retained

    

Treasury

    

Comprehensive

    

Total

Shares

Value

Capital

Earnings

Stock

Loss

Equity

Balances, May 1, 2024

 

13,350,180

$

2,374

$

164,501

$

229,364

$

(97,728)

$

(5,356)

$

293,155

Net income

 

18,198

18,198

Foreign currency translation loss

(186)

(186)

Net unrealized gains on available-for-sale securities

1,459

1,459

Stock compensation expense

1,004

1,004

Stock option exercises and restricted stock unit settlements, net

 

147,370

397

(1,916)

(1,519)

Cash dividends

 

(4,043)

(4,043)

Balances, July 31, 2024

 

13,497,550

$

2,374

$

165,902

$

243,519

$

(99,644)

$

(4,083)

$

308,068

Balances, May 1, 2023

13,414,404

$

2,374

$

161,347

$

206,584

$

(89,883)

$

(2,473)

$

277,949

Net income

12,767

12,767

Foreign currency translation loss

(185)

(185)

Net unrealized losses on available-for-sale securities

(683)

(683)

Stock compensation expense

1,184

1,184

Stock option exercises and restricted stock unit settlements

16,381

(208)

611

403

Common stock repurchases

 

(77,132)

(3,057)

(3,057)

Cash dividends

(3,342)

(3,342)

Balances, July 31, 2023

13,353,653

$

2,374

$

162,323

$

216,009

$

(92,329)

$

(3,341)

$

285,036

Balances, February 1, 2024

 

13,242,520

$

2,374

$

164,183

$

225,507

$

(97,528)

$

(3,597)

$

290,939

Net income

 

26,080

26,080

Foreign currency translation loss

(976)

(976)

Net unrealized gains on available-for-sale securities

490

490

Stock compensation expense

2,215

2,215

Stock option exercises and restricted stock unit settlements, net

 

260,630

(496)

(1,929)

(2,425)

Common stock repurchases

(5,600)

(187)

(187)

Cash dividends

 

(8,068)

(8,068)

Balances, July 31, 2024

 

13,497,550

$

2,374

$

165,902

$

243,519

$

(99,644)

$

(4,083)

$

308,068

Balances, February 1, 2023

13,441,590

$

2,374

$

162,208

$

207,832

$

(88,641)

$

(2,876)

$

280,897

Net income

14,876

14,876

Foreign currency translation gain

255

255

Net unrealized losses on available-for-sale securities

(720)

(720)

Stock compensation expense

2,218

2,218

Stock option exercises and restricted stock unit settlements

81,851

(2,103)

3,050

947

Common stock repurchases

(169,788)

(6,738)

(6,738)

Cash dividends

(6,699)

(6,699)

Balances, July 31, 2023

13,353,653

$

2,374

$

162,323

$

216,009

$

(92,329)

$

(3,341)

$

285,036

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

4

ARGAN, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(In thousands)

(Unaudited)

    

Six Months Ended July 31, 

    

2024

    

2023

CASH FLOWS FROM OPERATING ACTIVITIES

Net income

$

26,080

$

14,876

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

Changes in accrued interest on investments

2,716

(341)

Stock compensation expense

2,215

2,218

Lease expense

 

1,415

 

884

Depreciation

943

1,035

Deferred income tax expense (benefit)

469

(196)

Amortization of intangible assets

 

195

 

196

Other

 

995

 

162

Changes in operating assets and liabilities

Accounts receivable

 

(48,492)

 

5,600

Contract assets

2,103

4,031

Other assets

 

(10,661)

 

(5,176)

Accounts payable and accrued expenses

 

40,521

 

(8,931)

Contract liabilities

72,682

20,195

Net cash provided by operating activities

 

91,181

 

34,553

CASH FLOWS FROM INVESTING ACTIVITIES

Purchases of short-term investments

(57,500)

(90,000)

Maturities of short-term investments

95,000

159,750

Purchases of available-for-sale securities

(85,309)

(60,261)

Maturities of available-for-sale securities

9,230

Purchases of property, plant and equipment

 

(2,671)

 

(1,031)

Investments in solar energy projects

 

(3,312)

 

Net cash (used in) provided by investing activities

 

(44,562)

 

8,458

CASH FLOWS FROM FINANCING ACTIVITIES

Common stock repurchases

(187)

(6,738)

Payments of cash dividends

 

(8,068)

 

(6,699)

Proceeds from share-based award settlements, net of withholding taxes paid

 

(2,425)

 

947

Net cash used in financing activities

 

(10,680)

 

(12,490)

EFFECTS OF EXCHANGE RATE CHANGES ON CASH

(286)

331

NET INCREASE IN CASH AND CASH EQUIVALENTS

 

35,653

 

30,852

CASH AND CASH EQUIVALENTS, BEGINNING OF PERIOD

197,032

173,947

CASH AND CASH EQUIVALENTS, END OF PERIOD

$

232,685

$

204,799

NON-CASH INVESTING AND FINANCING ACTIVITIES

Right-of-use assets obtained in exchange for lease obligations

$

1,531

$

665

SUPPLEMENTAL CASH FLOW INFORMATION

Cash paid for income taxes, net of refunds

$

9,138

$

3,270

Cash paid for operating leases

$

1,410

$

888

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

 

5

ARGAN, INC. AND SUBSIDIARIES

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS

July 31, 2024

(Tabular dollar amounts in thousands, except per share data)

(Unaudited)

NOTE 1 – DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION

Description of the Business

Argan, Inc. (“Argan”) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (“GPS”); The Roberts Company, Inc. (“TRC”); Atlantic Projects Company Limited and affiliates (“APC”) and Southern Maryland Cable, Inc. (“SMC”). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the “Company.”

Through GPS and APC, the Company provides a full range of engineering, procurement, construction, commissioning, maintenance, project development, and technical consulting services to the power generation market. The customers include primarily independent power producers, public utilities, power plant equipment suppliers and other commercial firms with significant power requirements with projects located in the United States (the “U.S.”), the Republic of Ireland (“Ireland”) and the United Kingdom (the “U.K.”). GPS and APC represent the Company’s power industry services reportable segment. Through TRC, the industrial construction services reportable segment provides on-site services that support new plant construction and additions, maintenance turnarounds, shutdowns and emergency mobilizations for industrial operations primarily located in the Southeast region of the U.S. and that may include the fabrication, delivery and installation of steel components such as piping systems and pressure vessels. Through SMC, which conducts business as SMC Infrastructure Solutions, the telecommunications infrastructure services segment provides project management, construction, installation and maintenance services to commercial, local government and federal government customers primarily in the Mid-Atlantic region of the U.S.

Basis of Presentation and Significant Accounting Policies

The condensed consolidated financial statements include the accounts of Argan and its wholly-owned subsidiaries. All significant inter-company balances and transactions have been eliminated in consolidation. In Note 15, the Company has provided certain financial information relating to the operating results and assets of its reportable segments based on the manner in which management disaggregates the Company’s financial reporting for purposes of making internal operating decisions.

The Company’s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of July 31, 2024, the condensed consolidated statements of earnings and stockholders’ equity for the three and six months ended July 31, 2024 and 2023, and the condensed consolidated statements of cash flows for the six months ended July 31, 2024 and 2023 are unaudited. The condensed consolidated balance sheet as of January 31, 2024 has been derived from audited consolidated financial statements. These condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”). Certain information and note disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) have been condensed or omitted pursuant to those rules and regulations, although the Company believes that the disclosures made are adequate to make the information not misleading. The accompanying condensed consolidated financial statements and notes should be read in conjunction with the consolidated financial statements, the notes thereto, and the independent registered public accounting firm’s report thereon, that are included in the Company’s Annual Report on Form 10-K for the fiscal year ended January 31, 2024 (“Fiscal 2024”).

In the opinion of management, the accompanying condensed consolidated financial statements contain all adjustments, which are of a normal and recurring nature, considered necessary for a fair statement of the financial position of the Company as of July 31, 2024, and its earnings and cash flows for the interim periods presented. The results of operations for any interim period are not necessarily indicative of the results of operations for any other interim period or for a full fiscal year.

6

Recently Issued Accounting Pronouncements

In November 2023, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures by introducing key amendments to enhance disclosures in public entities’ reportable segments. Notable changes include the mandatory disclosure of significant segment expenses regularly provided to the chief operating decision maker (“CODM”), disclosure of other segment items, and requirements for consistency in reporting measures used by the CODM. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-07 may have on its financial position, results of operations, cash flows, or disclosures, but does not expect to experience significant changes to its financial statements from the implementation of this new standard.

In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which introduces more detailed requirements for annual disclosures for income taxes. The ASU requires public business entities to present specific categories in the income tax rate reconciliation and provide additional information for reconciling items that meet a quantitative threshold. ASU 2023-09 also requires all entities to disclose the amount of income taxes paid, net of refunds received, disaggregated by federal, state, and foreign jurisdiction. The ASU is effective for fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-09 may have on its financial position, results of operations, cash flows, or disclosures.

There are no other recently issued accounting pronouncements that have not yet been adopted that the Company considers material to its condensed consolidated financial statements.

NOTE 2 – REVENUES FROM CONTRACTS WITH CUSTOMERS

Disaggregation of Revenues

The following table presents consolidated revenues for the three and six months ended July 31, 2024 and 2023, disaggregated by the geographic area where the corresponding projects were located:

    

Three Months Ended July 31, 

    

Six Months Ended July 31, 

2024

    

2023

2024

    

2023

United States

$

195,249

$

80,281

$

319,580

$

147,800

Republic of Ireland

 

28,167

 

48,075

 

57,058

 

70,656

United Kingdom

 

3,599

 

12,993

 

8,059

 

26,568

Consolidated Revenues

$

227,015

$

141,349

$

384,697

$

245,024

Revenues for projects located in Ireland and the U.K. are attributed to the power industry services segment. The major portions of the Company’s consolidated revenues are recognized pursuant to fixed-price contracts with most of the remaining portions earned pursuant to time-and-material contracts. Consolidated revenues are disaggregated by reportable segment in Note 15 to the condensed consolidated financial statements.

Contract Termination

For a project being performed by APC to construct a gas-fired power facility in Northern Ireland (the “Kilroot Project”), an estimated loss of approximately $12.8 million has been recognized, of which $2.8 million was recorded during the six-month period ended July 31, 2024 and the remainder recorded in the prior fiscal year.

APC provided 14 days’ notice to terminate as a result of project owner breaches of the contract. Those breaches were not resolved during that 14-day period, as a result of which the contract terminated on May 3, 2024. Subsequently, the project owner made a draw for the full amount of a $9.2 million irrevocable letter of credit, or on-demand performance bond, issued by the Company’s bank. The amount is included in accounts receivable as of July 31, 2024. This amount is now

7

part of the open and disputed claims related to this project. APC and the Company believe the project owner initiated the draw without cause, and therefore, the amount should be refunded.

APC has significant billable receivables, unresolved contract variations and claims for extensions of time, among other issues, related to the Kilroot Project. The project owner has asserted counterclaims that APC disputes. APC will continue to pursue all of its rights under the contract, and will do so through legal means if necessary.

Contract Assets and Liabilities

The Company’s timing of revenue recognition may not be consistent with its rights to bill and collect cash from project owners and other customers. Most contracts require payments as the corresponding work progresses that are determined in the manner described therein. This can result in large contract liability or contract asset balances early in contract lives that decline over the terms of the corresponding contracts. During the six months ended July 31, 2024 and 2023, there were no unusual or one-time adjustments to these balances.

The Company recognized the following revenues that were included in the contract liabilities balances at the beginning of the respective period:

    

Three Months Ended July 31, 

    

Six Months Ended July 31, 

2024

    

2023

2024

    

2023

Revenues recognized from contract liabilities

$

90,874

$

64,735

$

131,229

$

86,958

Contract retentions are billed amounts which, pursuant to the terms of the applicable contract, are not paid by customers until a defined phase of a contract or project has been completed and accepted. These retained amounts are reflected in contract assets or contract liabilities depending on the net contract position of the particular contract. The amounts retained by project owners and other customers under construction contracts at July 31, 2024 and January 31, 2024 were $19.0 million and $21.2 million, respectively.

Variable Consideration

Variable consideration includes unapproved change orders where the Company has project-owner directive for additional work or other scope changes, but has not yet obtained approval for the associated price or the corresponding additional effort. These amounts are included in the transaction price when it is considered probable that the applicable costs, including those for additional effort, will be recovered through a modification to the contract price. The Company also includes in the corresponding transaction price an estimate of the amount that it expects to receive from claims based on management’s judgment regarding all reasonably available information. At July 31, 2024 and January 31, 2024, the aggregate amounts of such contract variations, that primarily related to an overseas project, and that were included in the corresponding transaction prices pending customer approvals, were $11.7 million and $8.4 million, respectively.

Remaining Unsatisfied Performance Obligations (“RUPO”)

At July 31, 2024, the Company had RUPO of $1.0 billion. The largest portion of RUPO at any date usually relates to engineering, procurement and construction (“EPC”) service and other construction contracts with typical performance durations of one to three years. However, the length of certain significant construction projects may exceed three years. The Company estimates that approximately 42% of the RUPO amount at July 31, 2024 will be included in the amount of consolidated revenues that will be recognized during the remainder of the fiscal year ending January 31, 2025 (“Fiscal 2025”). Most of the remaining amount of the RUPO amount at July 31, 2024 is expected to be recognized in revenues during the fiscal years ending January 31, 2026 (“Fiscal 2026”) and January 31, 2027 (“Fiscal 2027”).

It is important to note that estimates may be changed in the future and that cancellations, deferrals, or scope adjustments may occur related to work included in the amount of RUPO. Accordingly, RUPO may be adjusted to reflect project delays and cancellations, revisions to project scope and cost and foreign currency exchange fluctuations, or to revise estimates, as effects become known. Such adjustments to RUPO may materially reduce future revenues below Company estimates.

NOTE 3 – CASH, CASH EQUIVALENTS AND INVESTMENTS

At July 31, 2024 and January 31, 2024, certain amounts of cash equivalents were invested in a money market fund with net assets invested in high-quality money market instruments, including U.S. Treasury obligations; obligations of U.S. government agencies, authorities, instrumentalities or sponsored enterprises; and repurchase agreements secured by such

8

obligations. Dividend income related to money market investments is recorded when earned. The balances of accrued dividends at July 31, 2024 and January 31, 2024 were $0.6 million and $0.7 million, respectively.

Investments

The Company’s investments consisted of the following as of July 31, 2024 and January 31, 2024:

    

July 31, 

January 31, 

2024

    

2024

Short-term investments

$

69,292

$

109,489

Available-for-sale securities

182,705

105,884

Total investments

$

251,997

$

215,373

Short-Term Investments

Short-term investments as of July 31, 2024 and January 31, 2024 consisted solely of certificates of deposit (“CDs”) with initial maturities of one year or less purchased from Bank of America, N.A. (the “Bank”). The Company has the intent and ability to hold the CDs until they mature, and they are carried at cost plus accrued interest. The balances of accrued interest on the CDs at July 31, 2024 and January 31, 2024 were $1.8 million and $4.5 million, respectively. Interest income is recorded when earned and is included in other income. At July 31, 2024 and January 31, 2024, the weighted average annual interest rates of the outstanding CDs were 5.4%.

Available-For-Sale Securities

The Company’s available-for-sale (“AFS”) securities consisted of the following amounts of amortized cost, allowance for credit losses, gross unrealized gains and losses and estimated fair value by contractual maturity as of July 31, 2024 and January 31, 2024:

July 31, 2024

Allowance for

Gross

Gross

Estimated

Amortized

Credit

Unrealized

Unrealized

Fair

    

Cost

    

Losses

    

Gains

    

Losses

    

Value

U.S. Treasury notes:

Due within one year

$

25,200

$

$

3

$

94

$

25,109

Due in one to three years

91,045

449

202

91,292

Due in three to five years

55,502

755

56,257

U.S. corporate debt security:

Due in one to three years

10,046

1

10,047

Totals

$

181,793

$

$

1,208

$

296

$

182,705

January 31, 2024

Allowance for

Gross

Gross

Estimated

Amortized

Credit

Unrealized

Unrealized

Fair

    

Cost

    

Losses

    

Gains

    

Losses

    

Value

U.S. Treasury notes:

Due in one to three years

$

96,217

$

$

568

$

230

$

96,555

U.S. corporate debt security:

Due in one to three years

9,406

77

9,329

Totals

$

105,623

$

$

568

$

307

$

105,884

As of July 31, 2024 and January 31, 2024, interest receivable in the amounts of $1.6 million and $1.3 million, respectively, were included in the balances of AFS securities. For the three and six months ended July 31, 2024 and 2023, there were no sales of the Company’s AFS securities and, therefore, there were no amounts of gains or losses reclassified out of other comprehensive income into net income.

9

The Company does not believe the unrealized losses represent credit losses based on the evaluation of evidence as of July 31, 2024 and January 31, 2024, which includes an assessment of whether it is more likely than not the Company will be required to sell or intends to sell the investments before recovery of their corresponding amortized cost bases.

Earnings on Investments

Earnings on investments for the three and six months ended July 31, 2024 were $4.8 million and $9.3 million, respectively, and they were $3.3 million and $5.7 million for the three and six months ended July 31, 2023, respectively. Earnings on investments are included in other income, net, in the consolidated statements of earnings.

Concentration Risk

The Company has a substantial portion of its cash on deposit in the U.S. with the Bank or invested in CDs purchased from the Bank. In addition, the Company has cash invested in a money market fund at a separate institution. The Company also maintains certain Euro-based bank accounts in Ireland and certain pound sterling-based bank accounts in the U.K. in support of the operations of APC. As of July 31, 2024 and January 31, 2024, approximately 1% and 12%, respectively, of the Company’s cash and cash equivalents were held by financial institutions in Ireland and the U.K. Management does not believe that the combined amount of the CDs and the cash deposited with the Bank, cash invested in the money market fund, and cash balances maintained at financial institutions in Ireland and the U.K., in excess of government-insured levels, represent material risks.

NOTE 4 – FAIR VALUE MEASUREMENTS

The following table presents the Company’s financial instruments as of July 31, 2024 and January 31, 2024 that are measured and recorded at fair value on a recurring basis:

July 31, 2024

January 31, 2024

Level 1

Level 2

Level 3

Level 1

Level 2

Level 3

    

Inputs

    

Inputs

Inputs

    

Inputs

Inputs

    

Inputs

Cash equivalents:

Money market fund

$

144,956

$

$

$

126,646

$

$

Available-for-sale securities:

U.S. Treasury notes

172,658

96,555

U.S. corporate debt security

10,047

9,329

Totals

$

144,956

$

182,705

$

$

126,646

$

105,884

$

NOTE 5 – ACCOUNTS RECEIVABLE

Accounts receivable include amounts that have been billed and amounts that are billable to customers. As of July 31, 2024, there were billable amounts related to an overseas project in the total amount of $23.9 million.

The Company may extend credit to a customer without requiring tangible collateral based on an evaluation of the customer’s financial condition and other factors. Customer payments on other construction, fabrication and field service contracts are generally due within 30 days of billing, depending on the negotiated terms of the corresponding contract. Exposure to losses on accounts and notes receivable is expected to differ due to the varying financial condition of each customer. The Company monitors its exposure to credit losses and may establish an allowance for credit losses based on management’s estimate of the loss that is expected to occur over the remaining life of the particular financial asset. The amounts of the provision for credit losses for the three and six months ended July 31, 2024 was $0.5 million. The amount of the provision for credit losses for the three and six months ended July 31, 2023 were insignificant. The allowance for credit losses at July 31, 2024 and January 31, 2024 was $2.3 million and $1.8 million, respectively.

NOTE 6 – INTANGIBLE ASSETS

At both July 31, 2024 and January 31, 2024, the goodwill balances related primarily to the GPS and TRC reporting units, and were $18.5 million and $9.5 million, respectively. Management does not believe that any events or circumstances occurred or arose since January 31, 2024, that required an updated assessment of the goodwill balances of either the GPS or TRC reporting units.

10

The Company’s intangible assets, other than goodwill, relate primarily to the industrial construction services segment and consisted of the following as of July 31, 2024 and January 31, 2024:

July 31, 2024

January 31, 2024

Estimated

Gross

Accumulated

Net

Gross

Accumulated

Net

    

Useful Life

    

Amounts

    

Amortization

    

Amounts

    

Amounts

    

Amortization

    

Amounts

Trade name

15 years

$

4,499

$

2,599

$

1,900

$

4,499

$

2,450

$

2,049

Customer relationships

10 years

916

794

122

916

748

168

Totals

$

5,415

$

3,393

$

2,022

$

5,415

$

3,198

$

2,217

The following is a schedule of future amounts of amortization related to purchased intangibles:

    

Amortization

Years Ending January 31,

Expense

2025 (remainder)

    

$

196

2026

 

376

2027

 

300

2028

 

300

2029

300

Thereafter

 

550

Total

$

2,022

NOTE 7 – FINANCING ARRANGEMENTS

On May 24, 2024, the Company and the Bank executed the Second Amended and Restated Replacement Credit Agreement with an expiration date May 31, 2027 (the “New Credit Agreement”). The New Credit Agreement supersedes the now expired credit agreement, as amended, that was executed on May 15, 2017 with an expiration date of May 31, 2024 (the “Expired Credit Agreement”), reduces the base lending commitment amount from $50.0 million to $35.0 million, increases the letter of credit fees to be consistent with current market conditions, and establishes the interest rate for revolving loans at the Secured Overnight Financing Rate (“SOFR”) plus 1.85%. In addition to the base commitment, the new facility includes an accordion feature that allows for an additional commitment amount of $30.0 million, subject to certain conditions, that represents an increase from the $10.0 million accordion provided by the Expired Credit Agreement. The Company may use the borrowing ability to cover other credit instruments issued by the Bank for the Company’s use in the ordinary course of business as defined in the New Credit Agreement. Further, on May 31, 2024, the Company completed the negotiation of a companion facility, in the amount of $25.0 million, pursuant to which APC, the Company’s Irish subsidiary, may cause the Bank’s European entity to issue letters of credit on its behalf that will be secured by a blanket parent company guarantee issued by Argan to the Bank.

At July 31, 2024 and January 31, 2024, the Company did not have any borrowings outstanding under the New Credit Agreement and Expired Credit Agreement, respectively. At July 31, 2024, there were no outstanding letters of credit issued under the New Credit Agreement.

The Company has pledged the majority of its assets to secure its financing arrangements. The Bank’s consent is not required for acquisitions, divestitures, cash dividends or significant investments as long as certain conditions are met. The New Credit Agreement requires that the Company comply with certain financial covenants at its fiscal year-end and at each fiscal quarter-end. The New Credit Agreement includes other terms, covenants and events of default that are customary for a credit facility of its size and nature, including a requirement to achieve positive adjusted earnings before interest, taxes, depreciation and amortization, as defined, over each rolling twelve-month measurement period. As of July 31, 2024, the Company was in compliance with the covenants and other requirements of the New Credit Agreement.

NOTE 8 – COMMITMENTS

Performance Bonds and Guarantees

In the normal course of business and for certain major projects, the Company may be required to obtain surety or performance bonding, to cause the issuance of letters of credit, or to provide parent company guarantees (or some

11

combination thereof) in order to provide performance assurances to clients on behalf of its contractor subsidiaries. As these subsidiaries are wholly-owned, any actual liability is ordinarily reflected in the financial statement account balances determined pursuant to the Company’s accounting for contracts with customers. When sufficient information about claims on guaranteed or bonded projects would become available and monetary damages or other costs or losses are determined to be probable, the Company would record such losses.

As of July 31, 2024, the estimated amounts of the Company’s unsatisfied bonded performance obligations, covering all of its subsidiaries, was approximately $0.3 billion. As of July 31, 2024, the outstanding amount of bonds covering other risks, including warranty obligations and contract payment retentions related to completed activities, was $19.9 million. Not all of our projects require bonding.

The Company also provided a financial guarantee, subject to certain terms and conditions, up to the amount of $3.6 million in support of business development efforts. An estimated loss related to this guarantee was recorded during the year ended January 31, 2022 (“Fiscal 2022”).

Warranties

The Company generally provides assurance-type warranties for work performed under its construction contracts. The warranties cover defects in equipment, materials, design or workmanship, and most warranty periods typically run from nine to twenty-four months after the completion of construction on a particular project. Because of the nature of the Company’s projects, including project owner inspections of the work both during construction and prior to substantial completion, the Company has not experienced material unexpected warranty costs in the past. Warranty costs are estimated based on experience with the type of work and any known risks relative to each completed project. The accruals of liabilities, which are established to cover estimated future assurance-type warranty costs, are recorded as the contracted work is performed, and they are included in the amounts of accrued expenses in the condensed consolidated balances sheets. The liability amounts may be periodically adjusted to reflect changes in the estimated size and number of expected warranty claims.

NOTE 9 – LEGAL CONTINGENCIES

In the normal course of business, the Company may have pending claims and legal proceedings. The Company maintains accrued expense balances for the estimated amounts of legal costs expected to be billed related to any significant matter. In the opinion of management, based on information available at this time, there were no current claims and proceedings that were expected to have a material adverse effect on the condensed consolidated financial statements as of July 31, 2024.

NOTE 10 – STOCK-BASED COMPENSATION

In June 2020, the Company’s stockholders approved the adoption of the 2020 Stock Plan (the “2020 Plan”). The 2020 Plan replaced the 2011 Stock Plan (the “2011 Plan”); the Company’s authority to make awards pursuant to the 2011 Plan expired on July 19, 2021. Together, the 2020 Plan and the 2011 Plan are hereinafter referred to as the “Stock Plans.” As of July 31, 2024, there were 1,540,667 shares of common stock reserved for issuance under the Stock Plans, which includes 488,799 shares of common stock available for future awards under the 2020 Plan.

Expense amounts related to stock awards were $1.0 million and $1.2 million for the three months ended July 31, 2024 and 2023, respectively. Expense amounts related to stock awards were $2.2 million and $2.2 million for the six months ended July 31, 2024 and 2023, respectively. At July 31, 2024, there was $6.8 million in unrecognized compensation cost related to outstanding stock awards that the Company expects to expense over the next three years.

12

Stock Options

A summary of stock option activity under the Stock Plans for the six months ended July 31, 2024 is presented below (shares in thousands):

Weighted-

Weighted-

Weighted-

Average

Average

Average Exercise

Remaining

Grant-Date

Price

Contractual

Fair Value

    

Shares

    

Per Share

    

Term (years)

    

Per Share

Outstanding, February 1, 2024

 

1,365

$

44.95

 

4.67

$

10.43

Granted

6

$

61.22

Exercised

(627)

$

41.56

Forfeited

(4)

$

60.07

Outstanding, July 31, 2024

740

$

47.87

 

4.81

$

10.93

Exercisable, July 31, 2024

 

669

$

48.72

4.43

$

11.24

Vested or expected to vest, July 31, 2024

 

740

$

47.87

 

4.81

$

10.93

The changes in the number of non-vested options to purchase shares of common stock for the six months ended July 31, 2024 is presented below (shares in thousands):

    

Weighted-

Average

Grant-Date

Fair Value

Shares

    

Per Share

Non-vested, February 1, 2024

 

92

$

7.85

Granted

 

6

$

13.89

Vested

 

(27)

$

8.63

Non-vested, July 31, 2024

 

71

$

8.06

The total intrinsic value amounts related to the stock options exercised during the six months ended July 31, 2024 and 2023 were $17.1 million and $0.9 million, respectively. As of July 31, 2024, the aggregate market value of the underlying common stock outstanding and exercisable stock options that were “in-the-money” exceeded their aggregate exercise prices by $23.0 million and $20.2 million, respectively.

Restricted Stock Units

The Company awards total stock return performance-based restricted stock units (“PRSUs”), earnings per share performance-based restricted stock units (“EPRSUs”), renewable energy performance-based restricted stock units (“RRSUs”), and time-based restricted stock units (“TRSUs”) to senior executives, certain other key employees and members of the Company’s board of directors. Awardees earn the right to receive shares of common stock as certain performance goals are achieved and/or service periods are satisfied. Each restricted stock unit expires on the three-year anniversary of the award.

During the six months ended July 31, 2024, the Company awarded PRSUs covering a target of 5,000 shares of common stock. EPRSUs covering a target of 10,000 shares of common stock, RRSUs covering a target of 5,000 shares of common stock, TRSUs covering 39,050 shares of common stock, and 2,738 shares based on the amount of cash dividends deemed paid on shares were earned pursuant to the awards during the period. The number of shares of common stock to be issued under certain awards may exceed the number of target shares if certain performance goals are exceeded.

13

The changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units for the six months ended July 31, 2024, are presented below (shares in thousands):

    

    

Weighted-

Average

Grant-Date

Fair Value

Shares

Per Share

Outstanding, February 1, 2024

 

348

$

30.21

Granted

 

77

$

42.07

Issued

(51)

$

42.14

Forfeited

(62)

$

26.13

Outstanding, July 31, 2024

 

312

$

31.96

NOTE 11 – INCOME TAXES

The Company’s income tax amounts for the six months ended July 31, 2024 and 2023 differed from corresponding amounts computed by applying the federal corporate income tax rate of 21% to the income before income taxes for the periods as presented below:

    

Six Months Ended July 31, 

    

2024

    

2023

Computed expected income tax expense

$

7,475

$

4,276

Difference resulting from:

State income taxes, net of federal tax effect

 

1,186

 

455

Unrecognized tax loss benefit

961

529

Excess executive compensation

404

400

Stock-based compensation windfall

(531)

(126)

Foreign tax rate differential

(240)

(643)

GILTI

505

Tax credits

(453)

Other permanent differences and adjustments, net

259

544

Income tax expense

$

9,514

$

5,487

Net Operating Loss (“NOL”) Carryback

As a result of the tax changes enacted by the Coronavirus, Aid, Relief and Economic Security Act signed into law in March 2020 (the “CARES Act”), the Company made a filing during the year ended January 31, 2021 with the Internal Revenue Service (the “IRS”) requesting carryback refunds of income taxes paid for the years ended January 31, 2016 (“Fiscal 2016”) and 2015 (“Fiscal 2015”) in the total amount of approximately $12.7 million. At the instruction of the IRS, the Company filed amended income tax returns for Fiscal 2016 and Fiscal 2015 during Fiscal 2024; the IRS has not completed the examination and approval process for the Company’s amended tax returns and refund request.

Research and Development Tax Credits

During the year ended January 31, 2023 (“Fiscal 2023”), the Company filed amended federal income tax returns for Fiscal 2022 and for the year ended January 31, 2021 (“Fiscal 2021”) that included research and development tax credits in the total amount of $5.8 million, which was netted with a provision for uncertain tax return positions in the amount of $2.4 million. In May 2023, the Company received notification that these amended federal income tax returns were selected for examination. At July 31, 2024, the examination was in its early stages of documentation requests and review.

Income Tax Refunds

As of July 31, 2024 and January 31, 2024, the balances of other current assets in the condensed consolidated balance sheet included income tax refunds receivable and prepaid income taxes in the total amount of approximately $18.3 million. The income tax refunds included the amount expected to be received from the IRS upon its examination and approval of the

14

Company’s NOL carryback refund request and the completion of its examination of the amended tax returns for Fiscal 2022 and Fiscal 2021 as described above.

Income Tax Returns

The Company is subject to federal and state income taxes in the U.S., and income taxes in Ireland and the U.K. Tax treatments within each jurisdiction are subject to the interpretation of the related tax laws and regulations which require significant judgments to apply. The Company is no longer subject to income tax examinations by authorities for its fiscal years ended on or before January 31, 2020, except for several notable exceptions including Ireland, the U.K. and several states where the open periods are one year longer.

Solar Energy Projects

The Company holds equity investments in Solar Tax Credit (“STC”) investments. Primarily, the STC investments are structured as limited liability companies that invest in solar energy projects that are eligible to receive energy tax credits. During the six months ended July 31, 2024, the Company made investments of approximately $3.3 million in STC investments that were committed as of January 31, 2024. As of July 31, 2024, the Company had no remaining cash investment commitments related to its STC investments.

At July 31, 2024 and January 31, 2024, the investment accounts balances were $1.2 million and $2.1 million, respectively, which are included in right-of-use and other assets in the condensed consolidated balance sheets.

The Company has elected to use the proportional amortization method (“PAM”) for STC investments that qualify. Under PAM, an investment is amortized in proportion to the allocation of tax benefits received in each period, and the investment amortization and tax benefit amounts are presented net within income tax expense in the Company’s condensed consolidated statement of earnings. For the six months ended July 31, 2024, the Company recorded $0.7 million of investment amortization related to the STC investment that qualifies for PAM. For the three months ended July 31, 2024, the recorded amount of amortization related to this investment was not material. The amount of non-income tax-related activity and other returns related to this investment was not material for the three and six months ended July 31, 2024. During the six months ended July 31, 2023, the Company did not have any STC investments that qualified for PAM.

For the Company’s STC investments that do not qualify for PAM, the Company accounts for the investments using the equity method of accounting and includes income and losses related to the investment in other income in the Company’s condensed consolidated statements of earnings. For the three and six months ended July 31, 2024 and 2023, the Company’s share of activity from these STC investments was not material.

NOTE 12 – NET INCOME PER SHARE

Basic and diluted net income per share amounts are computed as follows (shares in thousands except in the notes):

Three Months Ended July 31, 

    

2024

    

2023

Net income

$

18,198

$

12,767

Weighted average number of shares outstanding – basic

13,403

13,403

Effect of stock awards (1)

477

139

Weighted average number of shares outstanding – diluted

13,880

13,542

Net income per share

Basic

$

1.36

$

0.95

Diluted

$

1.31

$

0.94

(1)For the three months ended July 31, 2024 and 2023, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of 74,500 and 785,167 shares of common stock, respectively.

15

Six Months Ended July 31, 

    

2024

    

2023

Net income

$

26,080

$

14,876

Weighted average number of shares outstanding – basic

13,331

13,408

Effect of stock awards (1)

396

136

Weighted average number of shares outstanding – diluted

13,727

13,544

Net income per share

Basic

$

1.96

$

1.11

Diluted

$

1.90

$

1.10

(1)For the six months ended July 31, 2024 and 2023, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of 209,250 and 818,501 shares of common stock, respectively.

NOTE 13 – STOCKHOLDERS’ EQUITY

During the six months ended July 31, 2024, the Company’s board of directors declared two regular quarterly cash dividends, each in the amount of $0.30 per share of common stock, which were paid to stockholders on April 22, 2024 and July 31, 2024. During the six months ended July 31, 2023, the Company’s board of directors declared two regular quarterly cash dividends, each in the amount of $0.25 per share of common stock, which were paid to stockholders on April 28, 2023 and July 31, 2023.

Pursuant to its established program and authorizations provided by Argan’s board of directors, the Company repurchased shares of its common stock during the six months ended July 31, 2024 and 2023 and added the shares to treasury stock. During these periods, the Company repurchased 5,600 shares and 169,788 shares of common stock, all on the open market, for aggregate prices of approximately $0.3 million, or $44.87 per share, and $6.7 million, or $39.45 per share, respectively.

For the six months ended July 31, 2024, the Company accepted 417,431 shares of common stock at the average price per share of $68.04 for the exercise price and/or tax withholding in connection with stock option exercises and other share-based award settlements. For the six months ended July 31, 2023, the Company did not accept any shares of common stock for such transactions. For the six months ended July 31, 2024 and 2023, the Company used 260,630 shares and 81,851 shares of treasury stock, respectively, to settle stock option exercises and other share-based awards.

NOTE 14 – CUSTOMER CONCENTRATIONS

The majority of the Company’s consolidated revenues relate to performance by the power industry services segment. The following schedule presents the percentage of consolidated revenues for each reportable business segment for the three and six months ended July 31, 2024:

    

Three Months Ended July 31, 

    

Six Months Ended July 31, 

2024

    

2023

2024

    

2023

Power industry services

76.5

%

74.5

%

73.8

%

71.6

%

Industrial construction services

 

21.9

 

23.2

 

24.3

 

25.7

Telecommunications infrastructure services

 

1.6

 

2.3

 

1.9

 

2.7

The Company’s most significant customer relationships for the three months ended July 31, 2024 included three power industry services customers, which accounted for 27%, 14% and 12% of consolidated revenues. The Company’s most significant customer relationships for the three months ended July 31, 2023 included three power industry services customers, which accounted for 21%, 20% and 12% of consolidated revenues. The Company’s most significant customer relationships for the six months ended July 31, 2024 included three power industry services customers, which accounted for 28%, 13% and 10% of consolidated revenues. The Company’s most significant customer relationships for the six months ended July 31, 2023 included three power industry services customers and one industrial construction services customer, which accounted for 19%, 17%, 11% and 11% of consolidated revenues. 

16

The accounts receivable balances from three major customers represented 25%, 21% and 13% of the corresponding consolidated balance as of July 31, 2024. Accounts receivable balances from three major customers represented 16%, 14% and 14% of the corresponding consolidated balance as of January 31, 2024.

The contract asset balances associated with five major customers represented 16%, 16%, 13%, 11% and 11% of the corresponding consolidated balance as of July 31, 2024. The contract asset balances associated with two major customers represented 39% and 32% of the corresponding consolidated balance as of January 31, 2024.

NOTE 15 – SEGMENT REPORTING

Segments represent components of an enterprise for which discrete financial information is available that is evaluated regularly by the Company’s chief executive officer, who is the CODM, in determining how to allocate resources and in assessing performance. The Company’s reportable segments recognize revenues and incur expenses, are organized in separate business units with different management teams, customers, talents and services, and may include more than one operating segment.

Intersegment revenues and the related cost of revenues are netted against the corresponding amounts of the segment receiving the intersegment services. For the three and six months ended July 31, 2024, intersegment revenues were $1.4 million. For the three and six months ended July 31, 2023, intersegment revenues were not material.

Summarized below are certain operating results and financial position data of the Company’s reportable business segments for the three and six months ended July 31, 2024 and 2023. The “Other” column in each summary includes the Company’s corporate expenses.

Three Months Ended

Power

Industrial

Telecom

July 31, 2024

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

173,760

$

49,642

$

3,613

$

$

227,015

Cost of revenues

 

150,233

 

43,200

 

2,477

 

 

195,910

Gross profit

 

23,527

 

6,442

 

1,136

 

 

31,105

Selling, general and administrative expenses

7,192

1,965

669

2,602

12,428

Income (loss) from operations

16,335

4,477

467

(2,602)

18,677

Other income, net

 

4,707

 

 

3

 

894

 

5,604

Income (loss) before income taxes

$

21,042

$

4,477

$

470

$

(1,708)

 

24,281

Income tax expense

 

6,083

Net income

$

18,198

Amortization of intangibles

$

$

98

$

$

$

98

Depreciation

148

210

104

1

463

Property, plant and equipment additions

1,947

241

161

2,349

Current assets

$

476,912

$

55,175

$

4,405

$

138,462

$

674,954

Current liabilities

384,477

27,817

1,331

1,502

415,127

Goodwill

18,476

9,467

90

28,033

Total assets

506,365

71,787

7,041

141,381

726,574

17

Three Months Ended

Power

Industrial

Telecom

July 31, 2023

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

105,345

$

32,756

$

3,248

$

$

141,349

Cost of revenues

 

87,094

 

28,076

 

2,437

 

 

117,607

Gross profit

 

18,251

 

4,680

 

811

 

 

23,742

Selling, general and administrative expenses

 

5,596

1,446

727

2,732

 

10,501

Income (loss) from operations

12,655

3,234

84

(2,732)

13,241

Other income (loss), net

 

3,607

 

 

(3)

 

514

 

4,118

Income (loss) before income taxes

$

16,262

$

3,234

$

81

$

(2,218)

 

17,359

Income tax expense

 

4,592

Net income

$

12,767

Amortization of intangibles

$

$

98

$

$

$

98

Depreciation

128

260

99

1

488

Property, plant and equipment additions

148

220

18

386

Current assets

$

319,196

$

45,590

$

4,273

$

86,073

$

455,132

Current liabilities

183,405

28,996

1,717

1,488

215,606

Goodwill

18,476

9,467

90

28,033

Total assets

346,192

63,074

7,264

89,178

505,708

Six Months Ended

Power

Industrial

Telecom

July 31, 2024

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

284,026

$

93,341

$

7,330

$

$

384,697

Cost of revenues

 

249,225

 

81,079

 

5,344

 

 

335,648

Gross profit

 

34,801

 

12,262

 

1,986

 

 

49,049

Selling, general and administrative expenses

 

13,320

3,838

1,279

5,416

23,853

Income (loss) from operations

21,481

8,424

707

(5,416)

25,196

Other income, net

 

8,768

 

1

 

3

 

1,626

 

10,398

Income (loss) before income taxes

$

30,249

$

8,425

$

710

$

(3,790)

 

35,594

Income tax expense

 

9,514

Net income

$

26,080

Amortization of intangibles

$

$

195

$

$

$

195

Depreciation

285

455

201

2

943

Property, plant and equipment additions

2,219

273

179

2,671

18

Six Months Ended

Power

Industrial

Telecom

July 31, 2023

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

175,521

$

63,063

$

6,440

$

$

245,024

Cost of revenues

 

147,429

 

54,638

 

4,991

 

 

207,058

Gross profit

 

28,092

 

8,425

 

1,449

 

 

37,966

Selling, general and administrative expenses

 

11,310

2,906

1,430

5,446

21,092

Income (loss) from operations

16,782

5,519

19

(5,446)

16,874

Other income (loss), net

 

5,697

 

 

(3)

 

(2,205)

 

3,489

Income (loss) before income taxes

$

22,479

$

5,519

$

16

$

(7,651)

 

20,363

Income tax expense

 

5,487

Net income

$

14,876

Amortization of intangibles

$

$

196

$

$

$

196

Depreciation

256

564

213

2

1,035

Property, plant and equipment additions

537

476

18

1,031

NOTE 16 — SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION

Other current assets consisted of the following at July 31, 2024 and January 31, 2024:

    

July 31, 

January 31, 

2024

    

2024

Income tax refunds receivable and prepaid income taxes

$

18,288

$

18,267

Raw materials inventory

8,214

9,985

Prepaid expenses

 

8,268

 

6,035

Other

14,101

4,972

Total other current assets

$

48,871

$

39,259

Accrued expenses consisted of the following at July 31, 2024 and January 31, 2024:

    

July 31, 

January 31, 

2024

    

2024

Accrued project costs

$

30,747

$

49,135

Accrued compensation

18,015

21,206

Lease liabilities

3,696

2,726

Other

9,240

8,654

Total accrued expenses

$

61,698

$

81,721

ITEM 2. MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

The following discussion summarizes the financial position of Argan, Inc. and its subsidiaries as of July 31, 2024, and the results of their operations for the three and six month periods ended July 31, 2024 and 2023, and should be read in conjunction with (i) the unaudited condensed consolidated financial statements and notes thereto included elsewhere in this Quarterly Report on Form 10-Q and (ii) the consolidated financial statements and accompanying notes included in our Annual Report on Form 10-K for Fiscal 2024 that was filed with the SEC on April 11, 2024 (the “Annual Report”).

Cautionary Statement Regarding Forward Looking Statements

The Private Securities Litigation Reform Act of 1995 provides a “safe harbor” for certain forward-looking statements. We have made statements in this Item 2 and elsewhere in this Quarterly Report on Form 10-Q that may constitute “forward-looking statements.” The words “believe,” “expect,” “anticipate,” “plan,” “intend,” “estimate,” “foresee,” “should,” “would,” “could,” or other similar expressions are intended to identify forward-looking statements.

Our forward-looking statements, financial position and results of operations, are based on our current expectations and beliefs concerning future developments and their potential effects on us. There can be no assurance that future

19

developments affecting us will be those that we anticipate. All comments concerning our expectations for future revenues and operating results are based on our forecasts for existing operations and do not include the potential impact of any future acquisitions.

Our forward-looking statements, by their nature, involve significant risks and uncertainties (some of which are beyond our control) and assumptions. They are subject to change based upon various factors including, but not limited to, the risks and uncertainties described in this Quarterly Report on Form 10-Q and our Annual Report. Should one or more of these risks or uncertainties materialize, or should any of our assumptions prove to be incorrect, actual results may vary in material respects from those projected in the forward-looking statements. We undertake no obligation to publicly update or revise any forward-looking statements, whether as a result of new information, future events or otherwise.

Business Description

The Company is primarily a construction firm that conducts operations through its wholly-owned subsidiaries, GPS, APC, TRC and SMC. Through GPS and APC, we provide a full range of engineering, procurement, construction, commissioning, maintenance, project development and technical consulting services to the power generation market for a wide range of customers, including independent power project owners, public utilities, power plant heavy equipment suppliers and other commercial firms with significant power requirements in the U.S., Ireland and the U.K. GPS and APC represent our power industry services reportable segment. Through TRC, the industrial construction services reportable segment provides primarily on-site services that support new plant construction and additions, maintenance turnarounds, shutdowns and emergency mobilizations for industrial plants primarily located in the Southeast region of the U.S. and that may include the fabrication, delivery and installation of steel components such as piping systems and pressure vessels. Through SMC, which conducts business as SMC Infrastructure Solutions, the telecommunications infrastructure services segment provides project management, construction, installation and maintenance services to commercial, local government and federal government customers primarily in the Mid-Atlantic region of the U.S.

We may make additional opportunistic acquisitions and/or investments by identifying companies with significant potential for profitable growth and realizable synergies with one or more of our existing businesses. However, we may have more than one industrial focus depending on the opportunity and/or needs of our customers. Significant acquired companies will be operated in a manner that we believe will best provide long-term and enduring value for our stockholders.

Project Backlog

At July 31, 2024, our consolidated project backlog amount of $1.0 billion consisted substantially of the projects of the power industry services reporting segment. The comparable consolidated backlog amount as of January 31, 2024 was $0.8 billion. Our reported amount of project backlog at a point in time represents the total value of projects awarded to us that we consider to be firm as of that date less the amounts of revenues recognized to date on the corresponding projects.

Typically, we include the total value of EPC services and other major construction contracts in project backlog upon receiving a notice to proceed from the project owner. When provided with a limited notice to proceed (“LNTP”), we usually record only the value of the contract related to the LNTP initially. Nevertheless, the inclusion of contract values in project backlog may require management judgement based on the facts and circumstances.

We are committed to the construction of state-of-the-art, natural gas-fired power plants, as important elements of our country’s electricity-generation mix now and in the future. This represents our core business. In addition, we have been directing meaningful business development efforts to winning projects primarily for the erection of utility-scale solar fields, but also wind farms, hydrogen-based energy projects, battery energy storage projects, and other industrial projects in order to diversify the sources of revenues. At July 31, 2024, approximately 55.0% of our project backlog related to renewable energy projects. For the three and six months ended July 31, 2024, the amounts of revenues earned by us and associated with renewable energy projects were 40.6% and 35.7%, respectively, of corresponding revenues for the power industry services segment. We have successfully completed alternative energy projects in the past and we have renewed efforts to obtain new work in sectors of the power market that will complement our natural gas-fired EPC services projects going forward.

It is important to note that the start of new projects is primarily controlled by project owners and that delays may occur that are beyond our control. However, we continue to pursue natural gas-fired power plant, renewable energy plant and industrial construction opportunities in the U.S., Ireland and the U.K. Our vision is to safely contribute to the construction

20

of the energy infrastructure and state-of-the-art industrial facilities that are essential to future economic prosperity in the areas where we operate. We intend to realize this vision with motivated, creative, high-energy and customer-driven teams that are committed to delivering the best possible project results each and every time.

Trumbull Energy Center

In October 2022, GPS added to project backlog the EPC services contract value of the Trumbull Energy Center, a 950 MW natural gas-fired power plant now under construction in Lordstown, Ohio (the “Trumbull Energy Center”). We received the full notice to proceed (“FNTP”) from the project owner, Clean Energy Future-Trumbull, LLC, in November 2022. This combined cycle power station will consist of two Siemens Energy SGT6-8000H gas-fired, high efficiency, combustion turbines with two heat recovery steam generators and a single steam turbine. Project completion is scheduled for early in the year ending January 31, 2027.

Louisiana LNG Facility

In June 2024, GPS entered into a subcontract and received FNTP with the installation of five 90 MW gas turbines for the dedicated supply of power to a liquified natural gas (“LNG”) facility in Louisiana. This project, led by GPS, will be a collaboration with TRC and APC. Project completion is scheduled for early in the year ending January 31, 2026.

405 MW Midwest Solar Project

In April 2024, GPS executed a LNTP with a customer to construct a utility-scale solar field in Illinois that will provide 405 MW of electrical power (the “405 MW Midwest Solar Project”). In August 2024, GPS received a full release for the activities on the EPC contract. The unique, multi-phased project includes solar-tracking panels that can be stowed by remote command for expected adverse weather events and will use pre-existing transmission and utility infrastructure from a nearby retired coal power plant. Project completion is scheduled for the first half of the fiscal year ending January 31, 2027.

Midwest Solar and Battery Projects

In August 2023, GPS executed LNTPs with a customer for three solar and battery projects in Illinois (the “Midwest Solar and Battery Projects”). Under the LNTPs, GPS commenced early engineering and design activities as well as procurement of major equipment for construction of state-of-the-art solar energy and battery energy storage facilities. Between January and early May 2024, GPS received FNTPs on all three of the solar and battery projects. The three projects will cumulatively represent 160 MW of electrical power and 22 MW of energy storage. For these projects, completion is expected in the last quarter of Fiscal 2025 through the first half of the fiscal year ending January 31, 2026.

Shannonbridge Power Project

APC entered into an EPC services contract with GE Vernova for the construction and commissioning of an open-cycle thermal power facility in County Offaly, Ireland, that has the capacity to generate approximately 264 MW of temporary emergency electrical power (the “Shannonbridge Power Project”). In August 2023, APC received the FNTP on this project. Substantial completion of this project, that is defined in the corresponding contract as system turnover for commissioning, occurred in March 2024.

ESB FlexGen Peaker Plants

In May 2022, APC entered into engineering and construction services contracts with the ESB to construct three 65 MW aero-derivative gas turbine flexible generation power plants in and around the city of Dublin, Ireland (“ESB FlexGen Peaker Plants”). Two of the power plants, the Poolbeg and Ringsend FlexGen Power Plants, are located on the Poolbeg Peninsula, and the Corduff FlexGen Power Plant is located in nearby Goddamendy. All three projects cleared the applicable capacity auction in Fiscal 2023 and are expected to operate intermittently during peak periods of electricity demand and as back-up supply options when renewable electricity generation is limited. The completion of each power facility is expected to occur in the second half of Fiscal 2025.

21

Kilroot Power Station

In October 2021 and pursuant to the Kilroot Project, APC was contracted to construct a 2 x 330 MW natural gas-fired power plant in Carrickfergus that is near Belfast, Northern Ireland, in an existing structure that was initially designed to enclose coal-fired units.

As previously disclosed, there have been a number of challenges related to the Kilroot Project that adversely impacted our ability to execute as expected, including supply chain delays, material changes to the project, the COVID-19 omicron outbreak, the war in Ukraine and extreme weather. In addition, unresolved variations and claims disrupted the execution of the project and harmed the cash flow of this project.

APC provided 14 days’ notice to terminate as a result of project owner breaches of the contract. Those breaches were not resolved during that 14-day period, as a result of which the contract terminated on May 3, 2024. Subsequently, the project owner made a draw for the full amount of a $9.2 million irrevocable letter of credit, or on-demand performance bond, issued by the Company’s bank. This amount is now part of the open and disputed claims related to this project because APC and the Company believe the project owner initiated the draw without cause and, therefore, the amount should be refunded. The amount is included in accounts receivable as of July 31, 2024. We have recognized the estimated contract loss related to the Kilroot Project in the amount of approximately $12.8 million, of which $2.8 million was recorded during the six-month period ended July 31, 2024 and the remainder recorded in the prior fiscal year. APC has significant unresolved contract variations and claims for extensions of time, among other issues, related to the Kilroot Project. The project owner has asserted counterclaims that APC disputes. APC will continue to pursue all of its rights under the contract, and will do so through legal means if necessary.

TRC Project Backlog

As of July 31, 2024, TRC’s project backlog was approximately $92 million as compared to $128 million on January 31, 2024. For the six months ended July 31, 2024 and 2023, TRC generated $93.3 million and $63.1 million in revenues, respectively. The increase in revenues for the current year from the comparative period highlights the results of our successful business development efforts with both new and recurring clients during Fiscal 2023 and Fiscal 2022, particularly in securing larger industrial field service construction projects. Despite the decrease in the amount of TRC’s project backlog during the current year, we are encouraged by the number and size of opportunities in our project pipeline, and we expect the TRC project backlog will increase next year.

Market Outlook

Natural Gas Power

The overall growth of our power business has been substantially based on the number of combined cycle gas-fired power plants built by us, as many coal-fired plants have been shut down in the U.S. In 2010, coal-fired power plants accounted for about 45% of net electricity generation in the U.S. For 2023, coal fueled approximately 17% of net electricity generation. It has been reported that the average age of the active plants in the coal-fired fleet approximates 45 years old with an average life span of 50 years; the last coal-fired power plant built in the U.S. was constructed in 2015. On the other hand, natural-gas fired power plants provided approximately 42% of the electricity generated by utility-scale power plants in the U.S. in 2023, representing an increase of 70% in the amount of electrical power generated by natural gas-fired power plants, which provided approximately 24% of net electricity generation in 2010.

In the reference case of its most recently published Annual Energy Outlook released in March 2023 (as would be customary, the U.S. Energy Information Administration (the “EIA”) did not publish a report in early 2024), the EIA projects that economic growth paired with increasing electrification in end-user sectors will result in notable growth of electricity demand in the U.S. through 2050. Declining capital costs for solar panels, wind turbines and battery storage, as well as government subsidies like those included in the Inflation Reduction Act of 2022 (the “IRA”), will result in renewables becoming increasingly cost effective compared with the alternatives when the costs of building new power capacity are considered. Renewables are increasingly meeting power demand through 2050 as they become more competitive with natural gas, coal and nuclear power.

There exist headwinds confronting a significant resurgence in the pace of planning new developments of gas-fired power plants. Various cities, counties and states have adopted clean energy and carbon-free goals or objectives with achievement

22

expected by a certain future date, typically 10 to 30 years out. These aspirational goals may increase the risk of a new power plant becoming a stranded asset before the end of its useful economic life, a risk that potential equity capital providers may be unwilling to take. Lenders, who have become more wary of funding fossil-fuel ventures as environmental, social and governance ideals influence financing decisions, may be generally unwilling to provide capital for energy projects to increase the domestic production and transmission of oil and natural gas. In addition, insurance underwriters may require oil and gas industry clients to implement plans to reduce methane emissions, and will not provide insurance coverage for oil and gas projects in government-protected conservation areas that do not allow for sustainable use.

Solar and Wind Power

The net amount of electricity generation in the U.S. provided by utility-scale solar photovoltaic and wind facilities continues to rise. Together, such power facilities provided approximately 12%, 13% and 15% of the net amount of electricity generated by utility-scale power facilities in 2021, 2022 and 2023, respectively. The EIA projects that new photovoltaic solar and wind capacity will continue to be added to the utility-scale power fleet in the U.S. at a brisk pace, attributable to declines in costs of renewable power plants and power storage, an increase in the scale of energy storage capacity (i.e., battery farms and other energy storage technologies), the availability of valuable tax credits, and the overall political commitment to renewable energy.

The surge in renewable energy is propelled by significant factors, including reductions in solar and onshore wind costs between 2009 and 2023, driven primarily by technological advancements. The EIA indicated that for 2024, of the approximately 62.8 gigawatts of new utility-scale electric-generating capacity that is planned to be added to U.S. power grids, approximately 71% will come from solar and wind facilities. However, challenges persist, notably in offshore wind sectors facing cost overruns and supply chain issues, resulting in major offshore wind projects being delayed or cancelled.

The Power Grid Transition

Throughout the U.S., the risk of electricity shortages grows as the retirement of traditional power plants outpaces their replacement by renewable energy and battery storage. Electric-grid operators are warning that power-generating capacity is struggling to keep up with demand. The challenge is that solar and wind farms do not produce electricity at all times, and they need large batteries to store their output for later use.

PJM Interconnection LLC (“PJM”) published a study in February 2023 that supported the growing concern that the reliability of power grids is being eroded by the rush to renewable power. The study indicates that the growth rate of electricity demand in the PJM footprint is likely to increase from electrification (i.e., shifts to electric-powered automobiles, electric appliances, etc.) coupled with the proliferation of high-demand data centers in the region. Coal-fired and old gas-fired power generation facilities are being retired at a rapid pace, possibly creating the risk that such retirements may outpace the construction of new power-generating facilities as PJM’s interconnection queue includes primarily intermittent and limited-duration renewable energy resources (see the discussion in the Capacity Auctions section below). Given the operating characteristics of these types of facilities and the weather, PJM will need multiple megawatts of renewable power and accompanying battery storage, and improvements in the transmission network, to replace a single megawatt of thermal generation.

Additionally, solar and wind energy plant developers continue to confront the problems caused by grid congestion, often unsuccessfully. Many of these projects have been canceled because renewable plants need to be sited where the resources are optimal, often in remote locations where the transmission systems are not robust as power is consumed substantially in urban areas. The costs associated with the necessary grid upgrades may be prohibitive.

Nuclear Power

Over the last several decades, the number of operating nuclear reactors has declined. At the end of April 2024, the U.S. had 94 operating commercial nuclear reactors at 54 nuclear power plants in 28 states. The average age of these nuclear reactors is approximately 42 years old with most plants authorized to operate for another 20 years. Only four nuclear reactors have entered into commercial operation in the last thirty years, the most recent being the Vogtle Units 3 and 4, which entered into commercial operations in July 2023 and April 2024, respectively. Suffering significant cost overruns—more than twice the initial estimates—and substantial delays, the Vogtle units have caused the industry to shift focus to smaller, more economical designs.

23

In July 2024, President Biden signed legislation that attempts to streamline the permitting process for new reactor designs and reduce fees for companies seeking to license advanced reactor technologies. The deployment of small modular reactors could mean lower construction and electricity costs through the use of simpler power plant designs, standardized components and passive safety measures. Such plants could be built in less time than larger plants, utilize less space and represent a viable choice for reliable power to offset the intermittencies of renewable power sources. The increase by the U.S. in its use of nuclear power for electricity generation could have unfavorable effects on the demand for new natural gas-fired and additional renewable energy facilities in the future, but the increase could provide balance-of-plant construction opportunities for GPS.

The Regulatory Landscape

In August 2022, President Biden signed the IRA, a climate and healthcare bill that funds hundreds of billions of dollars in tax subsidies intended to combat climate change among other measures. However, it appears that receipt of the majority of the tax subsidies will be conditioned on the extent that taxpayers “buy American” and/or pay prevailing wages, among other requirements. Existing supply chains and skilled labor pools may lack the capacity to meet the demand that the incentives are intended to create. Therefore, the subsidies may not provide the intended economic incentives to renewable and other energy project owners.

In May 2023, the Biden administration proposed new rules for the Environmental Protection Agency (the “EPA”) that are intended to drastically reduce greenhouse gases from coal- and gas-fired power plants that officials admit will cost such plants billions of dollars to comply fully by 2042. The proposed rules provide plant owners flexibility to select methods for achieving emission reduction targets, which may include adopting carbon-capture technology or incorporating cleaner fuels like hydrogen. However, the technological readiness of carbon capture and hydrogen blending is still debated among industry leaders, citing concerns over commercial viability and compliance feasibility. Additionally, environmental groups and landowners have challenged plans to erect pipelines intended to transfer carbon emissions to storage locations. In April 2024, the EPA issued final rules that require coal-fired power plants that are expected to operate beyond 2039 to reduce their carbon emissions by 90% prior to 2032. For new gas-fired power plants, the rules require a sliding scale of carbon capture up to 90% based on the operational load of the individual power plant. Rules for existing natural gas power plants have been delayed until 2025 in response to concern that such rules could affect grid reliability.

In June 2023, President Biden signed a bill that raised the debt ceiling, which also included reforms for certain elements of the permitting process for energy projects. The bill imposes certain timelines for federal agencies to review and to approve elements of major energy projects and includes provisions designating a single agency to take the lead on the environmental review process. Such streamlining of the current permitting process for energy generating facilities could ease certain constraints on the power industry. The legislation also provided an approval of the Appalachian natural gas pipeline.  

In May 2024, the Biden administration launched the Federal-State Modern Grid Deployment Initiative, a collaborative measure between the federal government and twenty-one states intended to prioritize efforts that support the adoption of modern grid solutions to expand grid capacity and build modern grid capabilities for both new and existing transmission and distribution lines.

Capacity Auctions

Many of our recently completed and awarded EPC service contracts relate to the construction of natural gas-fired power plants located within the Mid-Atlantic geographic footprint of PJM, which operates a capacity market to ensure long-term grid reliability by securing the appropriate amount of power supply resources needed to meet predicted future energy demands in its region. Capacity payments by PJM represent meaningful portions of the revenue streams of qualifying power plants.

Beginning in 2021, annual capacity auctions suffered delays that, once held, resulted in lower prices than previous auctions. The results for the most recent auction that was delayed until July 2024 for the 2025/2026 delivery year, represent a reversal of the unfavorable trend. The auction resulted in a price of approximately $269.92/MW-day for most of the PJM region, whereas the previous auction produced a price of $28.92/MW-day. The significant increase in price was mainly driven by planned power generator retirements coupled with forecasted increases in peak power loads, indicating the market’s anticipation of a mismatch between the ability of the current grid to supply the growing demand for power. The next capacity auction, to be held for the 2026/2027 delivery year, is scheduled for December 2024.

24

Outlook for Natural Gas-Fired Power Plants

Despite the headwinds, we believe that the lower operating costs of natural gas-fired power plants, the higher energy generating efficiencies of modern gas turbines, and the requirements for grid resiliency should sustain the demand for modern combined cycle and simple cycle gas-fired power plants in the future. We believe that the benefits of natural gas as a source of power are compelling, especially as a complement to the deployment of solar and wind powered energy sources, and that the future long-term prospects for natural gas-fired power plant construction remain generally favorable as natural gas continues to be the primary source for power generation in our country. The future availability of less carbon-intense, higher efficiency and inexpensive natural gas in the U.S. should be a significant factor in the economic assessment of future power generation capacity additions, although the pace of new opportunities emerging may be restrained and the starts of awarded EPC projects may be delayed or cancelled due to the challenges described above.

The scramble for electricity, regardless of source, caused by the Russian invasion of Ukraine may have clarified that the 100% transition to renewable energy is in the distant future and has prompted, in part, renewed interest in not only carbon capture techniques, but carbon removal technologies as well. Governments, including the U.S., are taking initial steps to boost this industry. The success of this industry could reduce the climate-change fear associated with natural gas-fired power plants. We intend to execute an “all-of-the-above” approach in pursuing the construction of future facilities that support the energy transition, which we see as a continuation of our historical commitment to building cleaner energy plants.

International Power Markets

The foregoing discussion in this “Market Outlook” has focused on the state of the domestic power market as the EPC services business of GPS historically provides the predominant portion of our revenues. However, overseas power markets may provide important new power construction opportunities for APC, especially across Ireland and the U.K.

The Irish government has issued a policy statement on the security of the electricity supply in Ireland which confirms the requirement for the development of new support technologies to deliver on its commitment to have 80% of the country’s electricity generated from renewables by 2030. The report emphasizes that this will require a combination of conventional generation (typically powered by natural gas), interconnection to other jurisdictions, demand flexibility and other technologies such as battery storage and generation from renewable gases.

Whereas in the U.K., prior to the elections in July 2024, the government had expressed support for new gas-fired power plants to offset the retirement of coal-fired plants, the retirement of aging gas plants, and the intermittency of renewable energy plants. However, with the general election in July 2024, the Labour Party, led by Prime Minister Keri Starmer, has since shifted focus toward accelerating the transition to renewable energy while still acknowledging the role of gas as a transitional fuel.

APC is actively pursuing business opportunities in both the renewable and support sectors of power generation with its existing and new clients. In addition, GPS has been providing top management guidance and project management expertise to APC. APC has also provided experienced resources to GPS on several of its EPC services contracts in the U.S. More recently, APC has begun a comprehensive operational review, in collaboration with GPS, to enhance project management processes.

Industrial Construction Services Outlook

Industrial field services typically represent the majority of TRC’s annual revenues with the remaining revenues contributed by projects consisting solely of metal fabrication. The business footprint for TRC encompasses the Southeast region of the U.S. where there are many local and state governments that welcome industrial production facilities with ideal locations and with serious economic development programs and incentives. The national focus on infrastructure improvements, biotechnology advancements, energy storage and clean water have resulted in firms that are focused on these trends recently choosing TRC to participate in major construction projects in the region. Other important factors and trends include low corporate state tax rates, favorable labor migration patterns, the surface transportation infrastructure and the ready access to modern seaports.

Economic data supports our belief that TRC is ideally located in a leading manufacturing growth area of the U.S., which should continue to provide it with project opportunities going forward that will expand its business and industrial

25

construction capabilities. The Dodge Construction Starts report for 2024 forecasts that total construction in the U.S. will increase by 7% in 2024, with a 16% increase in the manufacturing category. Released in July 2024, the FMI Construction Put-in-Place Forecast for 2024 predicts that construction activity in the manufacturing sector will increase by over 21% in 2024. Despite headwinds such as material price volatility and rising labor costs, skilled labor shortages, high interest rates and tighter lending standards, it is likely that 2024 will see a boost to construction associated with manufacturing, as well as the transportation and clean energy infrastructures, as funds from three key pieces of national legislation passed in 2021 and 2022 are expected to flow into the industry. These bills include the Infrastructure and Jobs Act, the IRA and the Creating Helpful Incentives to Produce Semiconductors Act, and they appear to be sustaining high construction industry confidence for 2024 and the future beyond.

Comparison of the Results of Operations for the Three Months Ended July 31, 2024 and 2023

The following schedule compares our operating results for the three months ended July 31, 2024 and 2023 (dollars in thousands):

Three Months Ended July 31, 

    

2024

    

2023

    

$ Change

    

% Change

REVENUES

 

  

 

  

 

  

 

  

Power industry services

$

173,760

$

105,345

$

68,415

 

64.9

%

Industrial construction services

 

49,642

 

32,756

 

16,886

 

51.6

Telecommunications infrastructure services

 

3,613

 

3,248

 

365

 

11.2

Revenues

 

227,015

 

141,349

 

85,666

 

60.6

COST OF REVENUES

 

  

 

  

 

  

 

  

Power industry services

 

150,233

 

87,094

 

63,139

 

72.5

Industrial construction services

 

43,200

 

28,076

 

15,124

 

53.9

Telecommunications infrastructure services

 

2,477

 

2,437

 

40

 

1.6

Cost of revenues

 

195,910

 

117,607

 

78,303

 

66.6

GROSS PROFIT

 

31,105

 

23,742

 

7,363

 

31.0

Selling, general and administrative expenses

 

12,428

 

10,501

 

1,927

 

18.4

INCOME FROM OPERATIONS

 

18,677

 

13,241

 

5,436

 

41.1

Other income, net

 

5,604

 

4,118

 

1,486

 

36.1

INCOME BEFORE INCOME TAXES

 

24,281

 

17,359

 

6,922

 

39.9

Income tax expense

 

6,083

 

4,592

 

1,491

 

32.5

NET INCOME

$

18,198

$

12,767

$

5,431

42.5

%

Revenues

Consolidated revenues for the three months ended July 31, 2024 were $227.0 million, which represented an increase of $85.7 million, or 60.6%, from consolidated revenues of $141.3 million reported for the three months ended July 31, 2023. The overall improvement in revenues was due to increases in revenues between quarters for all three of our reportable segments, as presented in the table above.

Power Industry Services

The revenues of the power industry services segment, representing the businesses of GPS and APC, increased by 64.9%, or $68.4 million, to $173.8 million for the three months ended July 31, 2024 compared with revenues of $105.3 million for the three months ended July 31, 2023 as the quarterly construction activities increased for the Midwest Solar and Battery Projects, the Trumbull Energy Center, the 405 MW Midwest Solar Project and the Louisiana LNG Facility. The increase in revenues between quarters was partially offset by decreased construction activities associated with the Guernsey Power Station project, the Shannonbridge Power Project, the ESB FlexGen Peaker Plants and the Kilroot Project, as those projects have concluded or are nearly complete. These projects were the primary drivers of the revenues for this segment for the three-month period ended July 31, 2023. The revenues of this business segment represented approximately 76.5% of consolidated revenues for the quarter ended July 31, 2024 and 74.5% of consolidated revenues for the corresponding prior year quarter.

26

The primary driver for this segment’s revenues for the three months ended July 31, 2023, were the construction of the Trumbull Energy Center, Shannonbridge Power Project, the ESB FlexGen Peaker plants and the Kilroot Project.

Industrial Construction Services

The revenues of our industrial construction services segment, representing the business of TRC, increased by $16.9 million, or 51.6%, to $49.6 million for the three months ended July 31, 2024 compared to revenues of $32.8 million for the three months ended July 31, 2023 as the amounts of field services increased meaningfully between periods, partially offset by decreased supporting vessel fabrication work between periods. For the three months ended July 31, 2024 and 2023, the revenues of this segment represented 21.9% and 23.2% of consolidated revenues for the corresponding periods.

Telecommunications Infrastructure Services

The revenue results of this business segment, which represent the business of SMC, were $3.6 million for the three-month period ended July 31, 2024, an increase of $0.4 million, or 11.2%, from the amount of revenues earned during the three months ended July 31, 2023.

Cost of Revenues

With the increase in consolidated revenues for the three months ended July 31, 2024 compared with last year’s second quarter ended July 31, 2023, the consolidated cost of revenues also increased between the quarters. These costs were $195.9 million and $117.6 million for the three-month periods ended July 31, 2024 and 2023, respectively, representing an increase of approximately 66.6%.

For the three-month period ended July 31, 2024, we reported a consolidated gross profit of approximately $31.1 million, which represented an increase from the gross profit reported for the three-month period ended July 31, 2023 in the amount of $23.7 million.

The gross profit percentage of corresponding consolidated revenues declined to 13.7% for the three-month ended July 31, 2024, from 16.8% of corresponding consolidated revenues in the comparable prior year period. The decline in the gross profit percentage during the current period was primarily due to the changing mix of projects and contract types. The gross profit percentages of corresponding revenues for the power industry services, industrial construction services and the telecommunications infrastructure services segments were 13.5%, 13.0% and 31.4%, respectively, for the quarter ended July 31, 2024.

The gross profit percentages of corresponding revenues for the power industry services, industrial construction services and the telecommunications infrastructure services segments were 17.3%, 14.3% and 25.0%, respectively, for the quarter ended July 31, 2023.

Selling, General and Administrative Expenses

These costs were $12.4 million and $10.5 million for the three months ended July 31, 2024 and 2023, respectively, and represented 5.5% and 7.4% of corresponding consolidated revenues, respectively.

Other Income, Net

Other income, net, for the three months ended July 31, 2024 was $5.6 million, which reflected income earned during the period on investments in the total amount of approximately $4.8 million, as the weighted average balances of investments are meaningfully higher this year.

Other income, net, for the three months ended July 31, 2023 was $4.1 million, which reflected primarily income earned during the period on investments in the total amount of approximately $3.3 million.

Income Taxes

We incurred income tax expense for the three months ended July 31, 2024 in the amount of approximately $6.1 million, which represents an effective income tax rate of 25.1%. This effective tax rate differs from the statutory federal tax rate of 21% due primarily to the typically unfavorable estimated effects of state income taxes and permanent differences. For the

27

three months ended July 31, 2023, we reported income tax expense in the amount of approximately $4.6 million, which represented an effective tax rate of 26.5% for the period.

Net Income

For the three months ended July 31, 2024, our overall operating profit performance resulted in net income in the amount of $18.2 million, or $1.31 per diluted share. For the comparable period last year, we reported net income in the amount of $12.8 million, or $0.94 per diluted share.

Comparison of the Results of Operations for the Six Months Ended July 31, 2024 and 2023

The following schedule compares our operating results for the six months ended July 31, 2024 and 2023 (dollars in thousands):

Six Months Ended July 31, 

    

2024

    

2023

    

$ Change

    

% Change

REVENUES

 

  

 

  

 

  

 

  

Power industry services

$

284,026

$

175,521

$

108,505

 

61.8

%

Industrial construction services

 

93,341

 

63,063

 

30,278

 

48.0

Telecommunications infrastructure services

 

7,330

 

6,440

 

890

 

13.8

Revenues

 

384,697

 

245,024

 

139,673

 

57.0

COST OF REVENUES

 

  

 

  

 

  

 

  

Power industry services

 

249,225

 

147,429

 

101,796

 

69.0

Industrial construction services

 

81,079

 

54,638

 

26,441

 

48.4

Telecommunications infrastructure services

 

5,344

 

4,991

 

353

 

7.1

Cost of revenues

 

335,648

 

207,058

 

128,590

 

62.1

GROSS PROFIT

 

49,049

 

37,966

 

11,083

 

29.2

Selling, general and administrative expenses

 

23,853

 

21,092

 

2,761

 

13.1

INCOME FROM OPERATIONS

 

25,196

 

16,874

 

8,322

 

49.3

Other income, net

 

10,398

 

3,489

 

6,909

 

198.0

INCOME BEFORE INCOME TAXES

 

35,594

 

20,363

 

15,231

 

74.8

Income tax expense

 

9,514

 

5,487

 

4,027

 

73.4

NET INCOME

$

26,080

$

14,876

$

11,204

 

75.3

%

Revenues

Consolidated revenues for the six months ended July 31, 2024 were $384.7 million, which represented an increase of $139.7 million, or 57.0%, from consolidated revenues of $245.0 million reported for the six months ended July 31, 2023. The overall improvement in revenues was due to increases in revenues for all three of our reportable segments, as presented in the table above.

Power Industry Services

The revenues of the power industry services segment, representing the businesses of GPS and APC, increased by 61.8%, or $108.5 million, to $284.0 million for the six months ended July 31, 2024 compared with revenues of $175.5 million for the six months ended July 31, 2023 as the construction activities increased for the Midwest Solar and Battery Projects, the Trumbull Energy Center, 405 MW Midwest Solar Project and the Louisiana LNG Facility. The increase in revenues between quarters was partially offset by decreased construction activities associated with the Guernsey Power Station project, the ESB FlexGen Peaker Plants and the Kilroot Project, as those projects have concluded or are nearly complete.  The revenues of this business segment represented approximately 73.8% of consolidated revenues for the six months ended July 31, 2024 and 71.6% of consolidated revenues for the six months ended July 31, 2023.

The primary driver for this segment’s revenues for the six months ended July 31, 2023, were the construction activities of the Trumbull Energy Center, the ESB FlexGen Peaker Plants and the Kilroot Project.

28

Industrial Construction Services

The revenues of our industrial construction services segment, representing the business of TRC, increased by $30.3 million, or 48.0%, to $93.3 million for the six months ended July 31, 2024 compared to revenues of $63.1 million for the six months ended July 31, 2023 as the amounts of field services increased meaningfully between periods, partially offset by decreased supporting vessel fabrication work between periods. For the six months ended July 31, 2024 and 2023, the revenues of this segment represented 24.3% and 25.7% of consolidated revenues for the corresponding periods.

Telecommunications Infrastructure Services

The revenue results of this business segment, which represent the business of SMC, were $7.3 million for the six-month period ended July 31, 2024, an increase of $0.9 million, or 13.8%, from the amount of revenues earned during the six months ended July 31, 2023.

Cost of Revenues

With the increase in consolidated revenues for the six months ended July 31, 2024 compared with the six months ended July 31, 2023, the consolidated cost of revenues also increased between the quarters. These costs were $335.6 million and $207.1 million for the six-month periods ended July 31, 2024 and 2023, respectively, representing an increase of approximately 62.1%.

For the six-month period ended July 31, 2024, we reported a consolidated gross profit of approximately $49.0 million, which represented a gross profit percentage of approximately 12.8% of corresponding consolidated revenues. For the six-month period ended July 31, 2023, we reported a consolidated gross profit of approximately $38.0 million, which represented a gross profit percentage of approximately 15.5% of corresponding consolidated revenues. The gross profit percentage decreased between periods primarily due to the changing mix of projects and contract types and the unfavorable profit adjustments on the Kilroot Project recorded during the current year in the amount of $2.8 million. The gross profit percentages of corresponding revenues for the power industry services, industrial construction services and the telecommunications infrastructure services segments were 12.3%, 13.1% and 27.1%, respectively, for the six months ended July 31, 2024.

The gross profit percentages of corresponding revenues for the power industry services, industrial construction services and the telecommunications infrastructure services segments were 16.0%, 13.4% and 22.5%, respectively, for the six months ended July 31, 2023.

Selling, General and Administrative Expenses

These costs were $23.9 million and $21.1 million for the six months ended July 31, 2024 and 2023, respectively, and represented 6.2% and 8.6% of corresponding consolidated revenues, respectively.

Other Income, Net

Other income, net, for the six months ended July 31, 2024 was $10.4 million, which reflected income earned during the period on investments in the total amount of approximately $9.3 million, as the weighted average balances of investments are meaningfully higher this year.

Other income, net, for the six months ended July 31, 2023 was $3.5 million, which reflected income earned during the period on investments in the total amount of approximately $5.7 million, partially offset by the wire-transfer fraud loss of $3.0 million that occurred in the first quarter of Fiscal 2024.

Income Taxes

We incurred income tax expense for the six months ended July 31, 2024 in the amount of approximately $9.5 million, which represents an effective income tax rate of 26.7%. This effective tax rate differs from the statutory federal tax rate of 21% due primarily to the unrecognized benefit of the net operating loss incurred by the subsidiary of APC located in the U.K. for the six months ended July 31, 2024 and the typically unfavorable estimated effects of state income taxes and permanent differences. For the six months ended July 31, 2023, we reported income tax expense in the amount of approximately $5.5 million, which represented an effective tax rate of 26.9% for the period.

29

Net Income

For the six months ended July 31, 2024, our overall operating profit performance resulted in net income in the amount of $26.1 million, or $1.90 per diluted share. For the comparable period last year, we reported net income in the amount of $14.9 million, or $1.10 per diluted share.

Liquidity and Capital Resources as of July 31, 2024

At July 31 and January 31, 2024, our balances of cash and cash equivalents were $232.7 million and $197.0 million, respectively, which represented an increase of $35.7 million during the current fiscal year.

The net amount of cash provided by operating activities for the six months ended July 31, 2024 was $91.2 million. Our net income for the six months ended July 31, 2024, adjusted favorably by the net amount of non-cash income and expense items, represented a source of cash in the total amount of $35.0 million. The temporary increase in contract liabilities of $72.7 million represented a source of cash, primarily due to the net effect of the early phase of construction activities on certain GPS projects. The increase in the combined level of accounts payable and accrued expenses in the amount of $40.5 million represented a meaningful source of cash during the period. The decrease in contract assets of $2.1 million also represented a source of cash during the period. The increase of accounts receivable in the amount of $48.5 million represented a use of cash during the period, primarily due to the increase in revenues during the period, but also related to the Kilroot Project. The increase of other assets of $10.7 million also represented a use of cash during the period.

During the six months ended July 31, 2024, our primary source of cash from investing activities was the net maturities of CDs issued by the Bank, in the amount of $37.5 million. We used $76.1 million, net of maturities, to invest in available-for-sale securities consisting of U.S. Treasury notes and a U.S. corporate debt security. We also used $3.3 million to fund our remaining capital contribution obligation to a solar energy project and $2.7 million for the purchases of property, plant and equipment.

For the six months ended July 31, 2024, we used $10.7 million cash in financing activities, including $8.1 million used for the payment of regular cash dividends and $0.2 million to repurchase shares of common stock pursuant to our share repurchase program. We also used $2.4 million for share-based award settlements, which represented the net of payments of $6.9 million for withholding taxes reimbursed by shares of common stock and $4.6 million of proceeds from the exercise of stock options during the period. As of July 31, 2024, there were no restrictions with respect to intercompany payments between the holding company, GPS, TRC, APC and SMC.

At July 31, 2024, a portion of our balance of cash and cash equivalents was invested in a money market fund with most of its net assets invested in cash, U.S. Treasury notes and repurchase agreements secured by U.S. government obligations. The major portion of our domestic operating bank account balances are maintained with the Bank. We do maintain certain Euro-based bank accounts in Ireland and certain pound sterling-based bank accounts in the U.K. in support of the operations of APC. Other investments of our available cash, which totaled approximately $252 million as of July 31, 2024, are classified as current assets and include CDs, U.S. Treasury notes and a corporate debt security.

In order to monitor the actual and necessary levels of liquidity for our business, we focus on net liquidity, or working capital, in addition to our cash balances. During the six months ended July 31, 2024, our net liquidity increased by $14.9 million to $259.8 million from $244.9 million as of January 31, 2024, due primarily to our net income for the period, partially offset by the payment of cash dividends. As we have no debt service, as our fixed asset acquisitions in a reporting period are typically low, and as our net liquidity includes our short-term investments and available-for-sale investments, our levels of working capital are not subjected to the volatility that affects our levels of cash and cash equivalents.

On May 24, 2024, we executed a New Credit Agreement with the Bank, which supersedes the Expired Credit Agreement, as amended, that was executed on May 15, 2017 and expired on May 31, 2024. The New Credit Agreement reduces the base lending commitment amount from $50.0 million to $35.0 million, increases the letter of credit fees to be consistent with current market conditions, and establishes the interest rate for revolving loans at SOFR plus 1.85%. In addition to the base commitment, the facility includes an accordion feature that allows for an additional commitment amount of $30.0 million, subject to certain conditions, that represents an increase from the $10.0 million accordion provided by the Expired Credit Agreement. We may use the borrowing ability to cover other credit instruments issued by the Bank for our use in the ordinary course of business as defined in the New Credit Agreement. Further, on May 31, 2024, we completed the negotiation of a companion facility, in the amount of $25.0 million, pursuant to which APCL may cause the Bank’s

30

European entity to issue letters of credit on its behalf (the “Master Issuance and Indemnity Agreement”) that will be secured by a blanket parent company guarantee issued by the Company to the Bank.

Together, the New Credit Agreement, the companion facility, and the parent company guarantee are hereinafter referred to as the “Credit Facilities.” The Credit Facilities include customary terms, covenants and events of default for credit facilities of this size and nature. Despite the reduction in the base amount of the credit commitment provided by the New Credit Agreement, the increased accordion amount and the addition of the Master Issuance and Indemnity Agreement companion facility provide the Company with greater flexibility in managing its credit requirements, at a potentially lower overall cost.

At July 31, 2024 and January 31, 2024, we did not have any borrowings outstanding under the New Credit Agreement and Expired Credit Agreement, respectively. At July 31, 2024, there were no outstanding letters of credit issued under the New Credit Agreement.

We have pledged the majority of the Company’s assets to secure our financing arrangements. The Bank’s consent is not required for acquisitions, divestitures, cash dividends or significant investments as long as certain conditions are met. The New Credit Agreement requires that the Company comply with certain financial covenants at its fiscal year-end and at each fiscal quarter-end. The New Credit Agreement includes other terms, covenants and events of default that are customary for a credit facility of its size and nature, including a requirement to achieve positive adjusted earnings before interest, taxes, depreciation and amortization, as defined, over each rolling twelve-month measurement period. As of July 31, 2024, we were in compliance with the covenants and other requirements of the New Credit Agreement.

In the normal course of business and for certain major projects, we may be required to obtain surety or performance bonding, to provide parent company guarantees, or to cause the issuance of letters of credit (or some combination thereof) in order to provide performance assurances to clients on behalf of one of our subsidiaries. If our services under a guaranteed project would not be completed or would be determined to have resulted in a material defect or other material deficiency, then we could be responsible for monetary damages or other legal remedies. As is typically required by any surety bond, we would be obligated to reimburse the issuer of any surety bond provided on behalf of a subsidiary for any cash payments made thereunder. The commitments under performance bonds generally end concurrently with the expiration of the related contractual obligation. Not all of our projects require bonding.

As of July 31, 2024, the estimated amounts of the Company’s unsatisfied bonded performance obligations, covering all of its subsidiaries, was approximately $0.3 billion. As of July 31, 2024, the outstanding amount of bonds covering other risks, including warranty obligations and contract payment retentions related to completed activities was $19.9 million.

We have also provided a financial guarantee, subject to certain terms and conditions, up to the amount of $3.6 million in support business development efforts. An estimated loss related to this guarantee was recorded during the year ended January 31, 2022.

In prior years, we made investments in limited liability companies that make equity investments in solar energy projects that are eligible to receive energy tax credits, for which we have received substantially all of the income tax benefits associated with those investments. In Fiscal 2024, we made an investment of approximately $5.1 million cash in a solar tax credit entity. During the six months ended July 31, 2024, we made the final $3.3 million cash payment committed to this solar fund. It is likely that we will evaluate opportunities to make other solar energy investments of this type in the future.

We believe that cash on hand, our cash equivalents, cash that will be provided from the maturities of short-term investments and other debt securities and cash generated from our future operations, with or without funds available under our Credit Agreement, as amended, will be adequate to meet our general business needs in the foreseeable future. In general, we maintain significant liquid capital in our consolidated balance sheet to ensure the maintenance of our bonding capacity and to provide parent company performance guarantees for EPC and other construction projects, in addition to supporting our operations with necessary working capital.

However, any significant future acquisition, investment or other unplanned cost or cash requirement, may require us to raise additional funds through the issuance of debt and/or equity securities. There can be no assurance that such financing will be available on terms acceptable to us, or at all.

31

Earnings before Interest, Taxes, Depreciation and Amortization (“EBITDA”)

The tables following immediately below present the determinations of EBITDA for the three and six months ended July 31, 2024 and 2023, respectively (amounts in thousands).

Three Months Ended

July 31, 

    

2024

    

2023

Net income, as reported

$

18,198

$

12,767

Income tax expense

 

6,083

 

4,592

Depreciation

 

463

 

488

Amortization of intangible assets

 

98

 

98

EBITDA

$

24,842

$

17,945

    

Six Months Ended

July 31, 

    

2024

    

2023

Net income, as reported

$

26,080

$

14,876

Income tax expense

 

9,514

 

5,487

Depreciation

 

943

 

1,035

Amortization of intangible assets

 

195

 

196

EBITDA

$

36,732

$

21,594

We believe that EBITDA is a meaningful presentation that enables us to assess and compare our operating performance on a consistent basis by removing from our operating results the impacts of our capital structure, the effects of the accounting methods used to compute depreciation and amortization and the effects of operating in different income tax jurisdictions. Further, we believe that EBITDA is widely used by investors and analysts as a measure of performance.

However, as EBITDA is not a measure of performance calculated in accordance with U.S. GAAP, we do not believe that this measure should be considered in isolation from, or as a substitute for, the results of our operations presented in accordance with U.S. GAAP that are included in our condensed consolidated financial statements. In addition, our EBITDA does not necessarily represent funds available for discretionary use and is not necessarily a measure of our ability to fund our cash needs.

Critical Accounting Policies

Critical accounting policies are those related to the areas where we have made what we consider to be particularly subjective or complex judgments in arriving at estimates and where these estimates can significantly impact our financial results under different assumptions and conditions.

These estimates, judgments, and assumptions affect the reported amounts of assets, liabilities and equity, the disclosure of contingent assets and liabilities at the date of financial statements and the reported amounts of revenues and expenses during the reporting periods. We base our estimates on historical experience and various other assumptions that we believe are reasonable under the circumstances, the results of which form the basis for making judgments about the carrying value of assets, liabilities and equity that are not readily apparent from other sources. Actual results and outcomes could differ from these estimates and assumptions. We do periodically review these critical accounting policies and estimates with the audit committee of our board of directors.

We consider the accounting policies related to revenue recognition on long-term construction contracts; income tax reporting; and the financial reporting associated with any significant claims or legal matters to be most critical to the understanding of our financial position and results of operations. An expanded discussion of our critical accounting policies is included in Item 7 of Part II of our Annual Report. During the six months ended July 31, 2024, there have been no material changes in the way we apply the critical accounting policies described therein.

32

Recently Issued Accounting Pronouncements

See Note 1 to the accompanying condensed consolidated financial statements for discussion on recently issued accounting pronouncements.

ITEM 3. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK

In the normal course of business, our results of operations may be subject to risks related to fluctuations in interest rates; changes in foreign currency exchange rates; fluctuations in prices for commodities including steel products, copper, concrete and fuel; and global supply disruptions, among other market risks.

In the “Risk Factors” section of our Annual Report, we included discussion of the risks to our fixed price contracts if actual contract costs rise above the estimated amounts of such costs that support corresponding contract prices. Identified as factors that could cause contract cost overruns, project delays or other unfavorable effects on our contracts, among other circumstances and events, are delays in the scheduled deliveries of machinery and equipment ordered by us or project owners, unforeseen increases in the costs of labor, warranties, raw materials, components or equipment or the failure or inability to obtain resources when needed.

There have been no material changes to the Company’s market risks during the six months ended July 31, 2024. For a broader discussion of the Company’s exposure to market risks, refer to the Company’s market risk disclosures set forth in Part II, Item 7A, “Quantitative and Qualitative Disclosures About Market Risk” of the Annual Report.

ITEM 4. CONTROLS AND PROCEDURES

Evaluation of disclosure controls and procedures. Our management, with the participation of our chief executive officer and chief financial officer, evaluated the effectiveness of our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934 (the “Exchange Act”)) as of July 31, 2024. Management recognizes that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving their objectives, and management necessarily applies its judgment in evaluating the cost-benefit relationship of possible controls and procedures. Based on the evaluation of our disclosure controls and procedures as of July 31, 2024, our chief executive officer and chief financial officer concluded that, as of such date, our disclosure controls and procedures were effective to provide reasonable assurance that information required to be disclosed in our Exchange Act reports is recorded, processed, summarized, and reported within the time periods specified by the SEC, and the material information related to the Company and its consolidated subsidiaries is made known to management, including the chief executive officer and chief financial officer, to allow timely decisions regarding required disclosure in the reports.

Changes in internal controls over financial reporting. There have been no significant changes in our internal control over financial reporting (as defined in Rules 13a-15 and 15d-15 under the Exchange Act) during the fiscal quarter ended July 31, 2024, that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

PART II

ITEM 1. LEGAL PROCEEDINGS

In the normal course of business, we may have pending claims and legal proceedings. It is our opinion, based on information available at this time, that any current claim or proceeding will not have a material effect on our condensed consolidated financial statements.

ITEM 1A. RISK FACTORS

There have been no material changes to the risk factors disclosed in our Annual Report.

ITEM 2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS

Our board of directors has authorized management to spend up to $125 million for the repurchase of shares of our common stock in the open market or through investment banking institutions, privately-negotiated transactions, or direct purchases (the “Share Repurchase Plan”). The timing and amount of stock repurchase transactions will depend on market and

33

business conditions, applicable legal and credit requirements and other corporate considerations. In accordance with the SEC’s Rule 10b5-1, and pursuant to the Share Repurchase Plan, we have allowed, and may in the future allow, the repurchase of our common stock during trading blackout periods by an investment banking firm or other institution agent acting on our behalf pursuant to predetermined parameters.

Information related to our share repurchases for the three months ended July 31, 2024 follows:

Approximate Dollar

Total Number of

Value of Shares That May Yet

Shares Purchased as Part

Be Purchased under the

Total Number of

Average Price per

of Publicly Announced

Plans or Programs

Period

    

Shares Repurchased

    

Share Paid

    

Plans or Programs

    

(Dollars in Thousands)

May 1 - 31, 2024

484

$

66.72

$

23,767

June 1 - 30, 2024

85,003

$

77.13

$

23,767

July 1 - 31, 2024

146,590

$

72.12

$

23,767

Total

 

232,077

 

No stock repurchases were made under our Share Repurchase Plan during the three-month period ended July 31, 2024. We did accept 232,077 shares of our common stock during this period for the exercise price and/or tax withholding in connection with stock option exercises and restricted stock unit settlements.

ITEM 3.  DEFAULTS UPON SENIOR SECURITIES

None

ITEM 4. MINE SAFETY DISCLOSURES

Not Applicable

ITEM 5. OTHER INFORMATION

During the quarter ended July 31, 2024, no director or officer of the Company (as defined in Rule 16a-1(f) under the Exchange Act) adopted or terminated any Rule 10b5-1 trading arrangements or non-Rule 10b5-1 trading arrangements (in each case, as defined in Item 408(a) of Regulation S-K).

ITEM 6. EXHIBITS

Exhibit No.

    

Title

3.1

Certificate of Incorporation, as amended. Incorporated by reference to Exhibit 3.1 to the Registrant’s Annual Report on Form 10-K filed on April 10, 2019.

3.2

Bylaws. Incorporated by reference to Exhibit 3.2 to the Registrant’s Annual Report on Form 10-K filed on April 15, 2009.

10.1

Second Amended and Restated Replacement Credit Agreement, dated May 24, 2024, among Argan, Inc. and certain subsidiaries of Argan, Inc., as borrowers, and Bank of America, N.A., as the lender. Incorporated by reference to the Registrant’s Current Report on Form 8-K filed on May 31, 2024.

10.2

Master Issuance and Indemnity Agreement, dated May 31, 2024, between Atlantic Projects Company Limited and Bank of America, N.A. Incorporated by reference to the Registrant’s Current Report on Form 8-K filed on May 31, 2024.

10.3

Guarantee of Payment Agreement, dated May 24, 2024, between Argan, Inc. and Bank of America, N.A. Incorporated by reference to the Registrant’s Current Report on Form 8-K filed on May 31, 2024.

31.1

 

Certification of Chief Executive Officer, pursuant to Rule 13a-14(c) under the Securities Exchange Act of 1934.

31.2

 

Certification of Chief Financial Officer, pursuant to Rule 13a-14(c) under the Securities Exchange Act of 1934.

32.1

 

Certification of Chief Executive Officer, pursuant to 18 U.S.C. Section 1350. *

32.2

 

Certification of Chief Financial Officer, pursuant to 18 U.S.C. Section 1350. *

101.INS

 

XBRL Instance Document – the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.

34

101.SCH

 

Inline XBRL Taxonomy Extension Schema.

101.CAL

 

Inline XBRL Taxonomy Extension Calculation Linkbase.

101.LAB

 

Inline XBRL Taxonomy Label Linkbase.

101.PRE

 

Inline XBRL Taxonomy Presentation Linkbase.

101.DEF

 

Inline XBRLTaxonomy Extension Definition Document.

104

Cover Page Interactive Data File – the cover page interactive data file does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.

*The certification is being furnished and shall not be considered filed as part of this report.

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.

 

ARGAN, INC.

 

 

September 5, 2024

By:  

/s/ David H. Watson

 

 

David H. Watson

 

 

President and Chief Executive Officer

September 5, 2024

By:  

/s/ Richard H. Deily

 

 

Richard H. Deily

 

 

Senior Vice President, Chief Financial Officer,

 

 

Treasurer and Corporate Secretary

35

EX-31.1 2 agx-20240731xex31d1.htm EX-31.1

Exhibit 31.1

SARBANES-OXLEY ACT SECTION 302(a) CERTIFICATION

I, David H. Watson, certify that:

1.    I have reviewed this Quarterly Report on Form 10-Q of Argan, Inc. (the “Registrant”) for the period ended July 31, 2024;

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 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 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 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: September 5, 2024

By:

/s/ David H. Watson

 

 

David H. Watson

President and Chief Executive Officer

 

 

(Principal Executive Officer)


EX-31.2 3 agx-20240731xex31d2.htm EX-31.2

Exhibit 31.2

SARBANES-OXLEY ACT SECTION 302(a) CERTIFICATION

I, Richard H. Deily, certify that:

1.    I have reviewed this Quarterly Report on Form 10-Q of Argan, Inc. (the “Registrant”) for the period ended July 31, 2024;

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 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 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 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: September 5, 2024

By:

/s/ Richard H. Deily

 

 

Richard H. Deily

Senior Vice President, Chief Financial Officer, Treasurer and Corporate Secretary

 

 

(Principal Financial Officer)


EX-32.1 4 agx-20240731xex32d1.htm EX-32.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 Argan, Inc., a Delaware corporation (the “Company”), on Form 10-Q for the period ended July 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, David H. Watson, President and Chief Executive Officer of the Company, hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to the best of my knowledge:

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

2.     Information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

Date: September 5, 2024

By:

/s/ David H. Watson

 

 

David H. Watson

President and Chief Executive Officer

 

 

(Principal Executive Officer)


EX-32.2 5 agx-20240731xex32d2.htm EX-32.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 Argan, Inc., a Delaware corporation (the “Company”), on Form 10-Q for the period ended July 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Richard H. Deily, Senior Vice President and Chief Financial Officer of the Company, hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to the best of my knowledge:

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

2.     Information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

Date: September 5, 2024

By:

/s/ Richard H. Deily

 

 

Richard H. Deily

Senior Vice President, Chief Financial Officer, Treasurer and Corporate Secretary

 

 

(Principal Financial Officer)


GRAPHIC 6 agx-20240731x10q001.jpg GRAPHIC begin 644 agx-20240731x10q001.jpg M_]C_X 02D9)1@ ! @ 0 ! #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!3_P 1" Y .P# 2( A$! Q$!_\0 M'P 04! 0$! 0$ $" P0%!@<("0H+_\0 M1 @$# P($ P4% M! 0 %] 0(# 01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D* M%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#]4ZY3XD?% M3PG\(O#LVN>+]=L]!TR(GQ M$I GWYY3PD:^Y.*_*+]IFZ\5?M-^"8/$MQ8V&:^/?!'[1/B+X>VW]@>(M-.JV4*F+R+L%)D3IMY'S# MV-1ZUJ7P;\7LUP+?5O"UY)RRV\8EB!_W?_KUZ>6T,PR[%55G6%E6I2?N3HVE M&WG%/G^>OIU/#HX[,*-6?UJ+E%_"X)-6]/B_,_57X'_\%3_A'\6+ZWTO67N_ M VKS$(B:OM-N['L)E.!_P+;7V/:W4-];QW%O*D\$BADDC8,K ]"".M?S8:KX M3\(H&.G>,1,,9"W%BZG]*^OO^"??[=>H?![QCIWP^\8:T^K>!=1E6WM;NX+9 MTV5CA<%O^69)P1VZ]*^DKY?0Q$'5P"GIO&4)Q^YRBCZ*AC(U=+/YIK\T?LM1 M34=9$5U(96&01T(IU?,GHC!*AD,8=3(!DKGD#UQ3Z_.GX;?M6MKG_!3KQ-H! MOBWA^^M3H-LF_P#=F: ;@P'3)._\J_1:NW%86>%<5/[23^\B,N8****XBPHH MHH **** "BBB@ HHHH ***H:[J%SI6D75W:6$NJ7,*%DLX6"O*?[H)X!^M-: M@7Z*^%/$G_!6SP!X1\17^@ZOX+\2V6KV$[6MS:2)'OCE4X*GGKFOL?X?>*K_ M ,9^&;?5=1\/7OAB>?D:?J#*TRK@$%MIP#ST[8KKK8.OAXJ=6-D]O,A24MCI M****XRPHHHH **** /SZ_P""C6MM\2?&2?"J*X$4=MX=DU5USP9YI3#"2/\ M9"2?]]U^V9I1NXZ ,K<]B5->41_$+X2_&O381JTU@MSMQ] MGU0_9[B$]PLF1G_@+5^?YC7A2QU3Z_A7B<)*R:C?FA)+RU5T[[I-/?<_.LUJ M-8BK[>DZM&35[;PDE;Y76O3?,(-NO>&+FX? M:YXF^#-P&:T\+:P'[!+KRA_,UZ7J7[/WPE!,_P#PDK6,/7:NK0%1^+ G]:Y3 M4?"_P%\*AFN-48GANFU'*HXY_P!R#E;\';\3 MS\+/ QTPRK>BYO\ /]3R/5]=\+R9&E>&7MO1KJ]>4_D,"L75M*O;:%+VXL'L MHI/]4K+Y>X>J@\D>]>CZO\8]&TG=#X%\'6&@#&!J-X@NKSZ@MD(?IGZUSUQX M6U;5=*F\5^*;N>WL9B1#+=,3<7TG]V)3R1ZN> /4\5^N87$52,I?''X@0_"WX1^*_%,S M;?[-T^66,9Y:3:0@'ON(KY@_X)$Z7/I_[(Z32AA#>:[>SP;O[@V1\?\ D:N MZ_;-FD\<:S\+_A-:N2_BK7H[F_13R+&U_>RM],A ?K7S7L;XMTY[)N_RU9]/ M?W+GXK:;XF\1_"7XZ6/B35X9K/Q#IFKQZG*?#FEZQ9R++:W]M'(M/2 M3Y!A1+'\C#ZD &OO?_@F-\4_^%E_LG^'K>>;S=0\.R2:+/DY($>#%_Y":.OI MLZ2Q>"HXV"\G\_\ )HQI>[)Q9[OK7QW^''AO5+C3=6\>>'-,U&V;9-:7FJ0Q M2QMZ,K,"*35/CM\/-&UC0]*O?&>C0:AK:JVFP&\0M=*WW2F#C!['OVK\M?\ M@LU:PP?&_P &RQQ)')+HC>8ZJ 7Q,<9/?K77_#[_ ()K^)OB]IGPC^)G_"P4 MW26UI=:C:ZA"V^WBB8&..UV#&-J@88CDDY/2O-CEF&CAJ>(K57%2OTZE\\N9 MI(_37QM\0O#/PWT@ZIXIU[3_ _IX.T7&H7"PJQ]%R?F/L,FN/\ "O[47PC\ M;+,='^(OAVY\G[XDOTA8?A(5)'N*_)7XF>/]3_:._P""AOA[0O$T\EUX M1&$$BPR1F,'&,X\UA]*TIY-#VE*A4D^::;TV77YB]H[-KH?JYH/BO1/%5O+/ MHNL:?K$$3;9);"Z2=4/H2A(!KSSQ5^U?\'O!.K/IFM?$;0+._1MKP?:Q(R'T M;9G:?8U\/_$>PU3P)_P3HT+6O@SX4N?#UQXN6WE\1-HK32RJ@5D=QDLRJQ!S MCH&KK_A'I>FZO_P3$\1CQ=X)L?#5U:Z'?I&U_;B)[R6-&,5S\X#;V8*0>YZ5 MR++Z<5SRDVN;EMHGZOQ]X>%/&>@^.]#BUGP[K%EK>E2Y"7EA.LT9(ZC< MI/([CJ*YI?C_ /#-M3_LT?$#PU_:'F^1]D_M6#S?,SC9MW9W9XQ7YH?\$6O% M.II\3?'_ (<^UR'1IM'2_-HS$H)TG1 X'8[9&!QUX]!7B'[7.D>=_P %#/$5 MA83MI+W&OV2)<6J@-"SQPY=1TW9.?K79#)8O&5,+*>D5=,EU'RJ2/V5\7_M& M_##P#XEC\/>(?'6B:1K3D+]BN;M5=2>F_P#N?\"Q7HD,T=Q$DL3K)$X#*Z'( M8'H0>]?C[_P5+_9M\&? _2/A_J?ARUN/[7U*2YBU/4;NX>:>^=0K>;(6)^8E MCTQ7WS_P3R\17WBC]COX/QA\4/! M_P /I;:/Q/XHTCP])<@M"NIWL=N9 ,9*[R,XR.E?@Y^UI_R>UX]_[&I__1PK M]%?^"QUI#)^SAH$[1*TT7B"$)(1\R@Q2YP:^]S&@L4\%1D[PYJW\._BOX/^+6ERZCX M.\1Z?XBLXG\N22QF#^6WHPZJ?J*_,S]B/]F+PE\8OV./%6O^,6O-<-E_:(TK M3Y+ATMM.D2+<9D12 9&(7+-G@8K@O^"0?B:\T+]I;7M&6Y*:7>:%<27,;-A2 MT,L>QS[@._YFO)J9325.NX3;E2\M"U4=U=;GZ]^-_B%X9^&NC-JWBK7M/\/Z M<#M^T:A<+$K'T7)^8^PR:Q?AU\=OA[\7'FC\'>,-)\030C,D%G< RJ/4H<-C MWQBOS7_9^^(Q_;?_ ."B-SK/B<#4O"7AZ"[N=#T:X^:WBAB81PML/!;7;T'[1O5+0_5.BD7.T;L;L\FQD()DV_P 0C< D?W6>OS8\5_LI^&?& _MCPCJB M:='<#S%C7][;-G^Z1RH]N:_=:]LK?4K.:TNH4N+:=#'+%(NY74C!!'<$5^7/ M[4G_ 3_ /B#\(]QK:)W^&5MKZ/5;7L]#Y?,!J\DWNNDK;7\_D?&,_[(GC** M0B.YTV9>SB?&?P(K4T;]CG79Y =4UJQLXN_DAI6_D!^M8VK?M'_$WP[=RZ?J ML<>GW\1VO#=V/ER*?=6P:XWQ)\;O&GBJ)HKW79U@88,5N?*4_E7U]'"^(>*2 MIU,51IQ_F23?R7+;\CQU2SR?NSJ0CYI7?Y'L6K:;\+/@/#N,8\6>)5&8X9V# MJC>K*/E4?7)KQ^:]\6_M _$33=.A234]9U*=+2QLH1A(]QP%4?PJ.I/H"33? MA?\ !3QS\:]=CTWPAX=OM;N97PTT49\I,]WD/RC\37[$?L,?\$_=+_9H@7Q1 MXEDAUGQ]<1;?-09BL%/5(\]6/0M7O87+<+PYS8O%5Y8G&-6YYN[7E%;0CZ:L M]K Y8J,O:5).<_YG^271>A]$_ #X46OP/^#?A/P1:$.ND6*0RR@8\V8_-*__ M )V8_C7RYKGA;Q[^T+^UYXT\0> O&EOX/@\ VD/AZ&]GT];P233*9)P@8X! M'RJ3[8K[&\(IO"FHQ^%);&#Q \>VTEU)6:!&)&68+R<#) ]<5X1^R#\!O MB/\ &WU[3?%6N:'XDL]9U*?6+G4+:&2.[:YEQNSDX*Y'X9KQJ%7EC4K.2YW MT>N[U>UO^'/H9+51Z'R7_P %"_V;OC!+\%/^$M\;?$6Q\;VGAVX61;:#2$M9 M(DD(1GWKU&=O'O7*?\$9_BI_8_Q.\8> ;F;$&M6*ZE:(QX\Z X<#W9),_2.O MT5_:@^&_B[XP?"W5O!?AF?1[.#6;=K:\N=521S&N0045>">.]?"_P>_X)9?% MGX)?$K0?&WAWX@Z FJZ1/YT:R6LNR12"KQMS]UE9E/UKZ+#8VC7RZIAL1-1; MVTMYK9=S-Q:G='#?\%G_ /DM7@C_ + ;_P#HXU^E'[)__)MGPX_[ MO_ .@U M\N?MB?L%?$?]K3QUI.OW/B/P[H4>FV"V<<$4,TA" M/$OPU^%>B>%/$TVFW5QH]NEG#$O&OPKO+75_'-_JD.NR^"]VV4M#()))]WW4B;;R M6Q@MQFNS_:,_9;^*7[V37S]^VI>?%3X)?MPZMXU\%ZK)>:MJ<.+$:81=S1V^Q0T,D*Y90,#J,' - M43^WM^UQX31;_5='O!91_-(U]XZOT[: M;:F5XW:9^C/[17QM\.?L/_L^6,]CI_V@64,>E:+IN[ ED5<+N/H -S'O^-?) M7PV\/ZK^U+^S#\3?CA\5]7;Q+?)I>J+H.A%RNGZ48H7 E6$'!DST9LD<'K73 M)]J_X*L?LHXO< MMWD]%H>-_P#!%[_DN_CC_L6S_P"E4->:_M5?\I)M5_[&/3O_ $""OK#]D7_@ MG/\ $W]GSXQ7FN7'C>SL?#KQ_9YQI8)GOX1*D@C.X?NP2BY/)QD#K47Q5_X) MK?$CXD_M#ZE\5!XN\/6ES<:G%?Q67V>4JHBVA%)SZ(,_4UZ?U_"+'U*WM%RR MA;KOH1RRY4K&?_P6M_Y%;X8_]?EY_P"@1U[O^P)XUT+X>?L$>"O$'B35+;1M M&LHKMY[R[D"1H/MDH&2?4D#%4?VX_P!CSQS^UQ:^$+2UUW1-#M]&1Y9C+%([ M23N%#;<'A1MX[USFO?L(>-];_8;M?@E<>(M+.L:-J8O].O+=72&Y3?(_ES \ MCF9\$UX]_P"QJ?\ ]'"OT:_X+%_\FT:+_P!C M!!_Z*EKR/XC_ /!*7XH?$GXEZWXWO_'OA^'5=5OWU&18K27:CLV[ YZ U]'? MM5_LQ_%/]JCX0^'?".J:UX:TB^L[W[9?7=O%,R3,J%4V*3\N=S$_08KZFMC, M-*KA)JHK4]]^R\O(YU&24M-SSS_@FM_R83XN_P"NFJ_^B*^1/^"6EC)J?[4& MOV<) EN/#.I0H3V9GB _G7Z$?LU?LL^/O@!^SMXM^'!UK0]3N]0\]K"\$4JI M&TR;'\P9R<#D8KRO]C__ ()V^//V8OC=;^-KCQ1H>L67%S%!:*NYIY' 0#USTQ7P%^V3_P $ MO(_C/XWO?'/P\U2UT'7-0?SM0TZ[4B">;O*C#[C-U/8GGO71?L]_L5?%6SM] M*LOC+\3+KQ#X7TET>U\+VDS/!*5QM$TA +H,#Y:Y\RJ83,%#%*IRRM9JVOR* M@I0]VQ].?$G]HOX;?"'4--L?%_B_3-"N]1 :VANI@&=20:A: M0W5K,EQ;3()(Y8VW*ZD9!![@BO@#]N?_ ()T>*?VCOBY9>,/"NO6%G#+:PV= MU:7^X"W$8VAH\=1CMZU]L?"3P$OPM^%_A7P@MY)J T/3;?3_ +5)]Z7RXPNX M_7%>'7HX:%"G.E4O-[KL:IR;::.MHHHKSBSCO&GP=\#?$5-OB?PEH^N#UOK- M)#^9%<)IW[%7P,TN\%U;_"_PVLP.06L48 ^P(KVRBMHUZL%:,FEZD\J?0S-! M\,Z1X6LEM-'TRTTNU48$5I"L:@?0"M.BBLFV]64%%%%( HHHH **** /@KPU M^SW\6?V8OVE/&_Q$\/\ ABT^+GAOQ2S/)#]OCMM3L\N7 4S?*<9((!^8 =,5 M[+KGQ?\ BWXUTNXTC0_@'?:?=741B-[XJU>SCL[ EX-101.SCH 7 agx-20240731.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 995200100 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS link:presentationLink link:calculationLink link:definitionLink 995200200 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 99940302 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details) link:presentationLink link:calculationLink link:definitionLink 99940602 - Disclosure - INTANGIBLE ASSETS - Components of Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 99940603 - Disclosure - INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details) link:presentationLink link:calculationLink link:definitionLink 99941101 - Disclosure - INCOME TAXES - Income Tax Expense Reconciliation (Details) link:presentationLink link:calculationLink link:definitionLink 99941201 - Disclosure - NET INCOME PER SHARE (Details) link:presentationLink link:calculationLink link:definitionLink 99941601 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details) link:presentationLink link:calculationLink link:definitionLink 99941602 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details) link:presentationLink link:calculationLink link:definitionLink 995200090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 995200205 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS(Parenthetical) link:presentationLink link:calculationLink link:definitionLink 995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 995210101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION link:presentationLink link:calculationLink link:definitionLink 995210301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS link:presentationLink link:calculationLink link:definitionLink 995210501 - Disclosure - ACCOUNTS RECEIVABLE link:presentationLink link:calculationLink link:definitionLink 995210601 - Disclosure - INTANGIBLE ASSETS link:presentationLink link:calculationLink link:definitionLink 995210701 - Disclosure - FINANCING ARRANGEMENTS link:presentationLink link:calculationLink link:definitionLink 995210801 - Disclosure - COMMITMENTS link:presentationLink link:calculationLink link:definitionLink 995210901 - Disclosure - LEGAL CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 995211001 - Disclosure - STOCK-BASED COMPENSATION link:presentationLink link:calculationLink link:definitionLink 995211101 - Disclosure - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 995211201 - Disclosure - NET INCOME PER SHARE link:presentationLink link:calculationLink link:definitionLink 995211401 - Disclosure - CUSTOMER CONCENTRATIONS link:presentationLink link:calculationLink link:definitionLink 995211501 - Disclosure - SEGMENT REPORTING link:presentationLink link:calculationLink link:definitionLink 99920102 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies) link:presentationLink link:calculationLink link:definitionLink 99930303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 99930603 - Disclosure - INTANGIBLE ASSETS (Tables) link:presentationLink link:calculationLink link:definitionLink 99931003 - Disclosure - STOCK-BASED COMPENSATION (Tables) link:presentationLink link:calculationLink link:definitionLink 99931103 - Disclosure - INCOME TAXES (Tables) link:presentationLink link:calculationLink link:definitionLink 99931203 - Disclosure - NET INCOME PER SHARE (Tables) link:presentationLink link:calculationLink link:definitionLink 99931503 - Disclosure - SEGMENT REPORTING (Tables) link:presentationLink link:calculationLink link:definitionLink 99940201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details) link:presentationLink link:calculationLink link:definitionLink 99940202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Contract Termination (Details) link:presentationLink link:calculationLink link:definitionLink 99940205 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 40205 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations Default (Details) link:presentationLink link:calculationLink link:definitionLink 99940301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Details) link:presentationLink link:calculationLink link:definitionLink 99940303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details) link:presentationLink link:calculationLink link:definitionLink 99940401 - Disclosure - FAIR VALUE MEASUREMENTS - Financial Instruments on a Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 99940501 - Disclosure - ACCOUNTS RECEIVABLE (Details) link:presentationLink link:calculationLink link:definitionLink 99940601 - Disclosure - INTANGIBLE ASSETS - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 99940701 - Disclosure - FINANCING ARRANGEMENTS (Details) link:presentationLink link:calculationLink link:definitionLink 99940801 - Disclosure - COMMITMENTS - Performance Bonds and Guarantees (Details) link:presentationLink link:calculationLink link:definitionLink 99940802 - Disclosure - COMMITMENTS - Warranties (Details) link:presentationLink link:calculationLink link:definitionLink 99941001 - Disclosure - STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details) link:presentationLink link:calculationLink link:definitionLink 99941002 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details) link:presentationLink link:calculationLink link:definitionLink 99941003 - Disclosure - STOCK-BASED COMPENSATION - Summary of changes in the maximum number of shares of common stock (Details) link:presentationLink link:calculationLink link:definitionLink 99941004 - Disclosure - STOCK-BASED COMPENSATION - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 99941102 - Disclosure - INCOME TAXES - Net Operating Loss Carryback (Details) link:presentationLink link:calculationLink link:definitionLink 99941103 - Disclosure - INCOME TAXES - Research and Development Tax Credits (Details) link:presentationLink link:calculationLink link:definitionLink 99941104 - Disclosure - INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details) link:presentationLink link:calculationLink link:definitionLink 99941202 - Disclosure - NET INCOME PER SHARE - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 99941301 - Disclosure - STOCKHOLDERS' EQUITY (Details) link:presentationLink link:calculationLink link:definitionLink 99941401 - Disclosure - CUSTOMER CONCENTRATIONS (Details) link:presentationLink link:calculationLink link:definitionLink 99941501 - Disclosure - SEGMENT REPORTING (Details) link:presentationLink link:calculationLink link:definitionLink 995210201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS link:presentationLink link:calculationLink link:definitionLink 995210401 - Disclosure - FAIR VALUE MEASUREMENTS link:presentationLink link:calculationLink link:definitionLink 995211301 - Disclosure - STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 995211601 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION link:presentationLink link:calculationLink link:definitionLink 99930203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables) link:presentationLink link:calculationLink link:definitionLink 99930403 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 99931403 - Disclosure - CUSTOMER CONCENTRATIONS (Tables) link:presentationLink link:calculationLink link:definitionLink 99931603 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables) link:presentationLink link:calculationLink link:definitionLink 99940203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Contract Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 99940204 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Variable Consideration (Details) link:presentationLink link:calculationLink link:definitionLink 99940304 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Earnings on Investments (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 8 agx-20240731_cal.xml EX-101.CAL EX-101.DEF 9 agx-20240731_def.xml EX-101.DEF EX-101.LAB 10 agx-20240731_lab.xml EX-101.LAB Document and entity information. Document And Entity Information Statement [Table] Statement [Table] Statement [Line Items] Statement Document Type Document Type Document Quarterly Report Document Period End Date Document Period End Date Document Transition Report Entity File Number Entity Registrant Name Entity Registrant Name Entity Incorporation, State or Country Code Entity Tax Identification Number Entity Address, Address Line One Entity Address, City or Town Entity Address, State or Province Entity Address, Postal Zip Code City Area Code Local Phone Number Title of 12(b) Security Trading Symbol Security Exchange Name Entity Current Reporting Status Entity Interactive Data Current Entity Filer Category Entity Filer Category Entity Small Business Entity Emerging Growth Company Entity Shell Company Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Entity Central Index Key Entity Central Index Key Document Fiscal Year Focus Document Fiscal Year Focus Current Fiscal Year End Date Current Fiscal Year End Date Document Fiscal Period Focus Document Fiscal Period Focus Amendment Flag Amendment Flag CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS Revenue from Contract with Customer, Excluding Assessed Tax Revenues Consolidated Revenues REVENUES Cost of Revenue Cost of revenues Gross Profit Gross profit GROSS PROFIT Selling, General and Administrative Expense Selling, general and administrative expenses Operating Income (Loss) INCOME FROM OPERATIONS Income (loss) from operations Other Nonoperating Income (Expense) Other income (loss), net Other income, net Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest INCOME BEFORE INCOME TAXES Income (loss) before income taxes Income Tax Expense (Benefit) Income tax expense Income tax expense NET INCOME Net income Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract] OTHER COMPREHENSIVE INCOME, NET OF TAXES Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Foreign currency translation adjustments OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax Net unrealized gains (losses) on available-for-sale securities Comprehensive Income (Loss), Net of Tax, Attributable to Parent COMPREHENSIVE INCOME NET INCOME PER SHARE NET INCOME PER SHARE Earnings Per Share, Basic Basic (in dollars per share) Basic (in dollars per share) Earnings Per Share, Diluted Diluted (in dollars per share) Weighted Average Number of Shares Outstanding, Diluted [Abstract] WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING Weighted Average Number of Shares Outstanding, Basic Basic (in shares) Weighted average number of shares outstanding - basic Weighted Average Number of Shares Outstanding, Diluted Weighted average number of shares outstanding - diluted Diluted (in shares) Common Stock, Dividends, Per Share, Declared Regular cash dividend declared per common stock CASH DIVIDENDS PER SHARE CONDENSED CONSOLIDATED BALANCE SHEETS Assets [Abstract] ASSETS Assets, Current [Abstract] CURRENT ASSETS Cash and Cash Equivalents, at Carrying Value Cash and cash equivalents Investments Investments Total investments Accounts Receivable, Net, Current Accounts receivable, net Contract with Customer, Asset, Net, Current Contract assets Other Assets, Current Other current assets Total other current assets Assets, Current Current assets TOTAL CURRENT ASSETS Property, Plant and Equipment, Net Property, plant and equipment, net Goodwill Goodwill Intangible Assets, Net (Excluding Goodwill) Intangible assets, net Deferred Income Tax Assets, Net Deferred taxes, net The amount of lessee's right to use underlying asset under operating lease, and asset classified as other. Operating Lease Right Of Use Asset, and Other Assets Right-of-use and other assets Assets Total assets TOTAL ASSETS Liabilities and Equity [Abstract] LIABILITIES AND STOCKHOLDERS' EQUITY Liabilities, Current [Abstract] CURRENT LIABILITIES Accounts Payable, Current Accounts payable Accrued Liabilities, Current Accrued expenses Total accrued expenses Contract with Customer, Liability, Current Contract liabilities Liabilities, Current Current liabilities TOTAL CURRENT LIABILITIES Liabilities, Noncurrent Noncurrent liabilities Liabilities TOTAL LIABILITIES Commitments and Contingencies COMMITMENTS AND CONTINGENCIES (see Notes 8 and 9) Stockholders' Equity Attributable to Parent [Abstract] STOCKHOLDERS' EQUITY Preferred Stock, Value, Issued Preferred stock, par value $0.10 per share - 500,000 shares authorized; no shares issued and outstanding Common Stock, Value, Issued Common stock, par value $0.15 per share - 30,000,000 shares authorized; 15,828,289 shares issued; 13,497,550 and 13,242,520 shares outstanding at July 31, 2024 and January 31, 2024, respectively Additional Paid in Capital, Common Stock Additional paid-in capital Retained Earnings (Accumulated Deficit) Retained earnings Treasury Stock, Value Less treasury stock, at cost - 2,330,739 and 2,585,769 shares at July 31, 2024 and January 31, 2024, respectively Accumulated Other Comprehensive Income (Loss), Net of Tax Accumulated other comprehensive loss Stockholders' Equity Attributable to Parent TOTAL STOCKHOLDERS' EQUITY Liabilities and Equity TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY Preferred Stock, Par or Stated Value Per Share Preferred stock, par value (in dollars per share) Preferred Stock, Shares Authorized Preferred stock, shares authorized Preferred Stock, Shares Issued Preferred stock, shares issued Preferred Stock, Shares Outstanding Preferred stock, shares outstanding Common Stock, Par or Stated Value Per Share Common stock, par value (in dollars per share) Common Stock, Shares Authorized Common stock, shares authorized Common Stock, Shares, Issued Common stock, shares issued Common Stock, Shares, Outstanding Common stock, shares outstanding Treasury Stock, Shares Treasury stock, shares CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Equity Components [Axis] Equity Component [Domain] Common Stock [Member] Common Stock Additional Paid-in Capital Retained Earnings Treasury Stock Accumulated Other Comprehensive Loss Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest Balances Balances Shares, Outstanding Balances (in shares) Balances (in shares) Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Net income Net income Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss), before Reclassification and Tax Foreign currency translation gain (loss) Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition Stock compensation expense Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Shares, Exercised Stock option exercises and restricted stock unit settlements (in shares) Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture Stock option exercises and restricted stock unit settlements, net Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture Stock option exercises and restricted stock unit settlements, net (in shares) Stock Repurchased During Period, Value Common stock repurchases Common stock repurchased Stock Repurchased During Period, Shares Common stock repurchases (in shares) Common stock repurchases (in shares) Dividends, Common Stock, Cash Cash dividends CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Net Cash Provided by (Used in) Operating Activities [Abstract] CASH FLOWS FROM OPERATING ACTIVITIES Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Adjustments to reconcile net income to net cash provided by operating activities Increase (Decrease) in Accrued Interest Receivable, Net Changes in accrued interest on investments Share-based Compensation Stock compensation expense Operating Lease, Expense Lease expense Depreciation Depreciation Deferred Income Tax Expense (Benefit) Deferred income tax expense (benefit) Amortization of Intangible Assets Amortization of intangibles Amortization of intangible assets Other Noncash Income (Expense) Other Increase (Decrease) in Operating Capital [Abstract] Changes in operating assets and liabilities Increase (Decrease) in Accounts Receivable Accounts receivable Increase (Decrease) in Contract with Customer, Asset Contract assets Increase (Decrease) in Other Operating Assets Other assets Increase (Decrease) in Accounts Payable and Accrued Liabilities Accounts payable and accrued expenses Increase (Decrease) in Contract with Customer, Liability Contract liabilities Net Cash Provided by (Used in) Operating Activities Net cash provided by operating activities Net Cash Provided by (Used in) Investing Activities [Abstract] CASH FLOWS FROM INVESTING ACTIVITIES Payments to Acquire Held-to-maturity Securities Purchases of short-term investments Proceeds from Sale of Held-to-maturity Securities Maturities of short-term investments Payments to Acquire Debt Securities, Available-for-Sale Purchases of available-for-sale securities Proceeds from Sale and Maturity of Marketable Securities Maturities of available-for-sale securities Payments to Acquire Property, Plant, and Equipment Purchases of property, plant and equipment Payments to Acquire Equity Method Investments Investments in solar energy projects Payment for equity method investment Net Cash Provided by (Used in) Investing Activities Net cash (used in) provided by investing activities Net Cash Provided by (Used in) Financing Activities [Abstract] CASH FLOWS FROM FINANCING ACTIVITIES Payments for Repurchase of Common Stock Common stock repurchases Payments of Ordinary Dividends, Common Stock Payments of cash dividends Amount of cash inflow from share-based award settlements, net of withholding taxes paid. Proceeds From Share-Based Award Settlements, Net Of Withholding Taxes Paid Proceeds from share-based award settlements, net of withholding taxes paid Net Cash Provided by (Used in) Financing Activities Net cash used in financing activities Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents EFFECTS OF EXCHANGE RATE CHANGES ON CASH Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect NET INCREASE IN CASH AND CASH EQUIVALENTS Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents CASH AND CASH EQUIVALENTS, END OF PERIOD CASH AND CASH EQUIVALENTS, BEGINNING OF PERIOD Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract] NON-CASH INVESTING AND FINANCING ACTIVITIES Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Right-of-use assets obtained in exchange for lease obligations Supplemental Cash Flow Information [Abstract] SUPPLEMENTAL CASH FLOW INFORMATION Income Taxes Paid, Net Cash paid for income taxes, net of refunds Cash paid for operating leases. Operating Leases Paid Cash paid for operating leases DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION REVENUES FROM CONTRACTS WITH CUSTOMERS Revenue from Contract with Customer [Text Block] REVENUES FROM CONTRACTS WITH CUSTOMERS CASH, CASH EQUIVALENTS AND INVESTMENTS Cash, Cash Equivalents, and Short-term Investments [Text Block] CASH, CASH EQUIVALENTS AND INVESTMENTS FAIR VALUE MEASUREMENTS Fair Value Disclosures [Text Block] FAIR VALUE MEASUREMENTS ACCOUNTS RECEIVABLE The disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include trade accounts receivables. Includes disclosure for allowance for credit losses. Trade And Other Receivables Disclosure Text Block ACCOUNTS RECEIVABLE INTANGIBLE ASSETS Intangible Assets Disclosure [Text Block] INTANGIBLE ASSETS FINANCING ARRANGEMENTS Debt Disclosure [Text Block] FINANCING ARRANGEMENTS No definition available. COMMITMENTS Commitments Disclosure [Text Block] COMMITMENTS LEGAL CONTINGENCIES Legal Matters and Contingencies [Text Block] LEGAL CONTINGENCIES STOCK-BASED COMPENSATION Disclosure of Compensation Related Costs, Share-based Payments [Text Block] STOCK-BASED COMPENSATION INCOME TAXES Income Tax Disclosure [Text Block] INCOME TAXES Earnings Per Share [Text Block] NET INCOME PER SHARE STOCKHOLDERS' EQUITY Equity [Text Block] STOCKHOLDERS' EQUITY CUSTOMER CONCENTRATIONS Concentration Risk Disclosure [Text Block] CUSTOMER CONCENTRATIONS SEGMENT REPORTING Segment Reporting Disclosure [Text Block] SEGMENT REPORTING Na SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION Additional Financial Information Disclosure [Text Block] SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION Consolidation, Policy [Policy Text Block] Description of the Business Basis of Accounting, Policy [Policy Text Block] Basis of Presentation and Significant Accounting Policies New Accounting Pronouncements, Policy [Policy Text Block] Recently Issued Accounting Pronouncements Disaggregation of Revenue [Table Text Block] Schedule of consolidated revenues disaggregated by geographical area Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Schedule of revenues recognized contract liabilities Investment [Table Text Block] Investments Schedule of Available-for-Sale Securities Reconciliation [Table Text Block] Schedule of available-for-sale securities Fair Value, Assets Measured on Recurring Basis [Table Text Block] Schedule of financial instruments recorded at fair value on a recurring basis Tabular disclosure of amortizable finite-lived intangible assets, in total and by major class, including the gross carrying amount and accumulated amortization, and indefinite-lived intangible assets not subject to amortization, excluding goodwill, in total and by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company. Schedule Of Finite-Lived and Indefinite-Lived Intangible Assets by Major Class [Table Text Block] Schedule of company's purchased intangible assets, other than goodwill Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Schedule of expected amortization expense Schedule of Share-based Compensation, Stock Options, Activity [Table Text Block] Schedule of stock option activity under the Company's stock plans Schedule of Nonvested Share Activity [Table Text Block] Schedule of changes in the number of non-vested options to purchase shares of common stock Share-based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block] Schedule of changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] Schedule of actual income tax expense amounts Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Schedule of computations of basic and diluted net income per share Schedules of Concentration of Risk, by Risk Factor [Table Text Block] schedule of the percentage of consolidated revenues Schedule of Segment Reporting Information, by Segment [Table Text Block] Schedule of operating results and financial position data of the Company's reportable business segments Schedule of Other Current Assets [Table Text Block] Schedule of other current assets Schedule of Accrued Liabilities [Table Text Block] Schedule of accrued expenses Disaggregation of Revenues [Table] Geographical [Axis] Geographical [Domain] United States United States Republic of Ireland Republic of Ireland United Kingdom United Kingdom Disaggregation of Revenue [Line Items] Disaggregation of Revenues Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Products and Services [Axis] Products and Services [Domain] Represents information pertaining to kilroot project. Kilroot Project [Member] Kilroot Project Legal Entity [Axis] Entity [Domain] Information pertains to Atlantic Projects Company Limited. APC Atlantic Projects Company Limited Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction REVENUES FROM CONTRACTS WITH CUSTOMERS The amount of estimated loss. Estimated Loss Estimated loss The amount of estimated loss including reversal of net gross profit recorded in previous years. Estimated Loss, Including Reversal Of Net Gross Profit Recorded In Previous Years Estimated loss, including reversal of net gross profit The notice period given to owners breaches of contract to decide as contract termination. Notice Period Of Breach of Contract, Owners, To Be Considered as Contract Termination Termination period Proceeds from Lines of Credit Amounts drawn against this letter of credit. Contract with Customer, Liability, Revenue Recognized Revenues recognized from contract liabilities The amounts retained by project owners under construction contracts. Retained Amount Under Construction Contracts Retained amounts by project owners Amounts of unpriced change orders included in transaction prices. N Priced Change Orders Included In Transaction Prices Amounts of unpriced change orders included in transaction prices Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Range [Axis] Range [Domain] Minimum Minimum Maximum Maximum Revenue, Remaining Performance Obligation Contract backlog amount Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Performance period Revenue, Remaining Performance Obligation, Percentage Contract backlog (as percent) Schedule of Cash and Cash Equivalents [Table] Schedule of Cash and Cash Equivalents [Table] Debt Security Category [Axis] Other than Temporary Impairment, Credit Losses Recognized in Earnings, Categories of Investments [Domain] Held-to-maturity Securities Held-to-maturity Securities Cash and Cash Equivalents [Line Items] Cash and Cash Equivalents Represents the maturity period of investments. Investment Maturity Period Maturity period Weighted average interest rate for certificates of deposit liabilities in banking offices. Weighted Average Rate Deposit Certificates Of Deposit Weighted average annual interest rates of CDs (as a percent) Dividends earned but not yet received by the entity on its investments. Accrued Investment Income, Dividend Receivable Accrued dividends Interest Receivable Accrued interest Short-Term Investments Short-term investments Debt Securities, Available-for-Sale Available-for-sale securities Fair Value Financial Instrument [Axis] Financial Instruments [Domain] US Treasury Notes Securities [Member] US Treasury notes Debt Security, Corporate, US [Member] U.S. corporate debt security Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current Interest receivable Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current, Statement of Financial Position [Extensible Enumeration] Proceeds from Sale of Debt Securities, Available-for-Sale Proceeds from sale of debt securities, available-for-sale Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax Amounts of gains or losses reclassified out of other comprehensive income en-US Debt Securities, Available-for-Sale, Fair Value to Amortized Cost, after Allowance for Credit Loss [Abstract] Available-for-sale securities Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year to second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year within one year Amortized cost, Due within one year Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year to third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One to Three Amortized cost, Due in one to three years Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in third fiscal year though five fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year Three to Five Amortized Cost, Due in three to five years Debt Securities, Available-for-Sale, Amortized Cost Amortized Cost Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax Within One Year Gross Unrealized Gains, Due within one year Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax after Year One Through Three Gross Unrealized Gains, Due in one to three years Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, Before Tax After Year Three Through Five Gross Unrealized Gains, Due in three to five years Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax Gross Unrealized Gains Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) maturing in first and second fiscal year following current fiscal year. Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax after within one year Gross Unrealized Losses, Due within one year Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) maturing in first and third fiscal year following current fiscal year. Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax after Year One Through Three Gross Unrealized Losses, Due in one to three years Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax Gross Unrealized Losses Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year to second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year within one year Fair Value, Due in within one year Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year to third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One to Three Fair Value, Due in one to three years Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in third fiscal year through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year Three to Five Fair Value, Due in three to five years Investment Income, Nonoperating Earnings on investments Fair Value, Recurring and Nonrecurring [Table] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Domain] Level 1 Inputs Level 1 Inputs Level 2 Inputs Level 2 Inputs Measurement Frequency [Axis] Measurement Frequency [Domain] Fair value, recurring Fair value, recurring Money market funds Money market funds US Treasury Securities [Member] U.S. Treasury notes Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair value of assets and liabilities measured on recurring and nonrecurring basis Cash and Cash Equivalents, Fair Value Disclosure Cash equivalents Assets, Fair Value Disclosure Totals Schedule of Accounts, Notes, Loans and Financing Receivable [Table] Schedule of Accounts, Notes, Loans and Financing Receivable [Table] Accounts, Notes, Loans and Financing Receivable [Line Items] ACCOUNTS AND NOTES RECEIVABLE Monetary Instant Debit Amounts due from disputed billed and billable 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. Disputed Billed And Billable Contracts Receivables Disputed billable amount Accounts Receivable, Allowance for Credit Loss, Current Provision for credit losses Financing Receivable, Allowance for Credit Loss, Current Allowance for uncollectible accounts Schedule of Finite-Lived Intangible Assets [Table] Business Acquisition [Axis] Business Acquisition, Acquiree [Domain] The Gemma Power System, LLC. GPS. The Roberts Company Inc. TRC. Finite-Lived Intangible Assets [Line Items] Indefinite-Lived Intangible Assets Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Trade name Customer relationships Finite-Lived Intangible Asset, Useful Life Estimated Useful Life (in years) Finite-Lived Intangible Assets, Gross Gross Amounts Finite-Lived Intangible Assets, Accumulated Amortization Accumulated Amortization Finite-Lived Intangible Assets, Net Net Amounts Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year 2025 (remainder) Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months 2026 Finite-Lived Intangible Assets, Amortization Expense, Year Two 2027 Finite-Lived Intangible Assets, Amortization Expense, Year Three 2028 Finite-Lived Intangible Assets, Amortization Expense, Year Four 2029 Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Finite-Lived Intangible Assets, Amortization Expense, after Year Four Thereafter Line of Credit Facility [Table] Credit Facility [Axis] Credit Facility [Domain] Line of Credit [Member] Revolving Credit Facility Scenario [Axis] Scenario, Unspecified [Domain] Represents information pertaining to letters of credit expire on May 31, 2024. Expires on May 31, 2024 Represents information pertaining to letters of credit expire on May 31, 2027. Expires on May 31, 2027 [Member] Expires on May 31, 2027 Line of Credit Facility [Line Items] Financing Arrangements Line of Credit Facility, Maximum Borrowing Capacity Borrowing available under financing arrangements Debt Instrument, Basis Spread on Variable Rate Interest rate margin on referred rate Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration] The contingent increase above the maximum borrowing capacity under the credit facility, if any one or more of the existing banks or new banks agree to provide such increased commitment amount. Line of Credit Facility Contingent Increase, Additional Borrowing Capacity Additional commitment amount Letters of Credit Outstanding, Amount Letters of credit outstanding amount Gemma power systems. GPS Guarantor Obligations, Nature [Axis] Guarantor Obligations, Nature [Domain] Financial guarantee Represents information pertaining to remaining bonded performance obligations. Remaining Bonded Performance Obligations Unsatisfied bonded performance obligations The aggregate amount of bonds covering other risks including warranty obligations. Bonds Outstanding Covering Other Risks Outstanding amount of bonds covering other risks including warranty obligations Guarantor Obligations, Maximum Exposure, Undiscounted Guarantor obligation maximum exposure Represents the information pertaining to warranty provisions covering defects in equipment, materials etc.. after the completion of construction. Warranty Period for Construction Contracts Warranty period Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number Shares, Outstanding, Ending balance Shares, Outstanding, Beginning balance Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross Shares, Granted Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period Shares, Forfeited Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number Shares, Exercisable Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number Shares, Vested or expected to vest Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price Weighted Average Exercise Price Per Share, Outstanding, Ending balance Weighted Average Exercise Price Per Share, Outstanding, Beginning balance Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Weighted Average Exercise Price Per Share, Granted Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Weighted Average Exercise Price Per Share, Exercised Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price Weighted Average Exercise Price Per Share, Forfeited Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price Weighted Average Exercise Price Per Share, Exercisable Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price Weighted Average Exercise Price Per Share, Vested or expected to vest Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Weighted Average Remaining Contractual Term (Years), Outstanding Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term Weighted Average Remaining Contractual Term (Years), Exercisable Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term Weighted Average Remaining Contractual Term (Years), Vested or expected to vest Share based compensation arrangement by share based payment award equity instruments stock option outstanding weighted average grant date fair value. Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Stock Option Outstanding Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value Per Share, Outstanding Share based compensation arrangement by share based payment award equity instruments stock option exercisable weighted average grant date fair value. Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Stock Option Exercisable Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value Per Share, Exercisable Weighted average grant-date fair value of options vested and expected to vest. Share Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstandings, Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value Per Share, Vested or expected to vest Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Number of Shares Shares, Non-vested, Ending balance Shares, Non-vested, Beginning balance Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Number of Shares Shares, Vested Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value Per Share, Non-vested, Ending balance Weighted Average Grant Date Fair Value Per Share, Non-vested, Beginning balance Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value Per Share, Granted Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value Per Share, Vested Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Restricted Stock Units Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-based Compensation Arrangement by Share-based Payment Award Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Shares Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number Outstanding, Ending balance (in shares) Outstanding, Beginning balance (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period Granted (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period Issued (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period Forfeited (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Weighted Average Grant Date Fair Value Per Share Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Outstanding, Ending balance Fair value (Per share) Outstanding, Beginning balance Fair value (Per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Granted, Fair value (Per share) The weighted average fair value at grant date of equity instruments other than options issued during the period. Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Issued in Period, Weighted Average Grant Date Fair Value Issued, Fair value (Per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Forfeited, Fair value (Per share) Stock Plans Represents information pertaining to performance-based restricted stock units. Performance-based restricted stock units Represents information pertaining to earnings per share performance-based restricted stock units. Earnings Per Share Performance Based Restricted Stock Units [Member] Earnings per share performance-based restricted stock units Represents the information pertaining to Renewable Performance Based Restricted Stock Units. Renewable Performance-Based Restricted Stock Units Renewable energy performance-based restricted stock units Represents the information pertaining to Time based Restricted Stock Units. Time Based Restricted Stock Units Time-based restricted stock units Common stock allocated for issuance Number of shares of common stock reserved for issuance Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Number of shares of common stock available for award Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized Unrecognized compensation cost Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition Compensation expense recognize, period Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value Intrinsic value of the stock options exercised Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value Intrinsic value of outstanding stock options Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value Intrinsic value of exercisable stock options Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period Incentive stock option award maximum expiration period Represents the number of shares issuable under restricted stock units awarded during the period. The Number Of Shares Issuable Under Restricted Stock Units Awarded During The Period The number of shares issuable under restricted stock units awarded during the period Common Stock Dividends, Shares Cash dividends deemed paid on shares Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Federal corporate income tax rate (as percent) Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount Computed expected income tax expense Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount State income taxes, net of federal tax effect The amount of unrecognized tax loss benefit. Unrecognized tax loss benefit Unrecognized tax loss benefit Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for excess executive compensation. Effective Income Tax Rate Reconciliation, Nondeductible Expense, Excess Executive Compensation, Amount Excess executive compensation Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to favorable changes in tax laws or regulations regarding stock-based compensation that creates a windfall. Effective Income Tax Rate Reconciliation, Deduction, Share Based Compensation Windfall Stock-based compensation windfall Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount Foreign tax rate differential Effective Income Tax Rate Reconciliation, GILTI, Amount GILTI Amount of tax credits. Tax credits Tax credits Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Amount Other permanent differences and adjustments, net Operating Loss Carryforwards [Table] Operating Loss Carryforwards [Line Items] Operating loss carryforwards Deferred Income Taxes and Other Tax Receivable, Current Income tax receivable Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount Federal research and development tax credits Amount of increase in unrecognized tax benefits resulting from research and development tax credit. UnrecognizedTaxBenefitsIncreaseResultingFromResearchAndDevelopmentTaxCredit Development tax credit Amount of income tax refunds and prepaid income taxes . Income Tax Refunds And Prepaid Income Taxes Income tax refunds and prepaid income taxes Income tax refunds receivable and prepaid income taxes Investment Income [Table] Net Investment Income [Line Items] Solar Energy Projects Amount of cash investment commitments. Cash Investment Commitments Remaining cash investment commitments Equity Method Investments Investment account balances Amount of amortization of equity investments in solar energy projects. Amortization of Equity Investments in Solar Energy Projects Amortization related to STC investment Schedule of Earnings Per Share, Basic, by Common Class, Including Two Class Method [Table] Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items] NET INCOME PER SHARE Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements Effects of stock awards Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Anti-dilutive common stock equivalents Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Antidilutive common stock Share Repurchase Program [Table] Dividends [Axis] Dividends [Domain] Represents information relating to O 2024 Q1 dividend. O 2024 Q1 Dividends [Member] Q1 dividend Represents information relating to O 2024 Q2 dividend. O 2024 Q2 Dividends [Member] Q2 dividend Represents information relating to O 2023 Q1 dividend. O 2023 Q1 Dividends [Member] Q3 dividend Represents information relating to O 2023 Q2 dividend. O 2023 Q2 Dividends [Member] Q4 dividend Share Repurchase Program [Line Items] Share repurchases Dividends Payable, Date to be Paid Dividend declared payment date Equity impact of the value of stock that has been repurchased including excise tax during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock. Stock Repurchased Including Excise Tax During Period, Value Common stock repurchased Share Price Share price Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation Shares paid for tax withholding for share based compensation Average price of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement. Share-Based Payment Arrangement, Average Price Per Share Of Shares Withheld for Tax Withholding Obligation Share-based payment Number of treasury stock used to settle stock option exercises and other stock share based awards. Treasury Stock, Settlement of Stock Option Exercises and Other Share Based Awards Treasury stock to settle stock option exercises and other share-based awards Concentration Risk [Table] Power industry services. Power Industry Services Represents information pertaining to industrial construction services. Industrial Construction Services [Member] Industrial Construction Services Telecommunication Infrastructure Services. Telecommunication Infrastructure Services Concentration Risk Type [Axis] Concentration Risk Type [Domain] Product Concentration Risk Customer Concentration Risk Customer [Axis] Customer [Domain] Major customer one. Major Customer One Major customer two. Major Customer Two Major customer three. Major Customer Three Major customer four. Major Customer Four Major customer five. Major Customer Five Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Domain] Revenue Accounts Receivable [Member] Accounts Receivable Contract Asset Concentration Risk [Line Items] Customer Concentrations Concentration Risk, Percentage Percentage of major customers or segments Number of major customers. Number Of Major Customers Number of customers Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Segments [Axis] Segments [Domain] Telecommunications infrastructure services. Telecommunications Infrastructure Services Consolidation Items [Axis] Consolidation Items [Domain] Operating Segments [Member] Operating Segments Intersegment Eliminations [Member] Intercompany Eliminations Corporate, Non-Segment [Member] Segment Reporting Information [Line Items] Segment Reporting Information Number of Operating Segments Operating segment Segment, Expenditure, Addition to Long-Lived Assets Property, plant and equipment additions Inventory, Raw Materials, Gross Raw materials inventory Prepaid Expense, Current Prepaid expenses Other Assets, Miscellaneous, Current Other Carrying value as of the balance sheet date of obligations incurred through that date and payable for projects costs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). Accrued Project Costs, Current Accrued project costs Accrued Employee Benefits, Current Accrued compensation Carrying value as of the balance sheet date of obligations incurred through that date and payable for lease liabilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). Accrued Lease Liabilities, Current Lease liabilities Other Accrued Liabilities, Current Other EX-101.PRE 11 agx-20240731_pre.xml EX-101.PRE XML 13 R1.htm IDEA: XBRL DOCUMENT v3.24.2.u1
Document and Entity Information - shares
6 Months Ended
Jul. 31, 2024
Aug. 30, 2024
Document And Entity Information    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jul. 31, 2024  
Document Transition Report false  
Entity File Number 001-31756  
Entity Registrant Name ARGAN INC  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 13-1947195  
Entity Address, Address Line One One Church Street, Suite 201  
Entity Address, City or Town Rockville  
Entity Address, State or Province MD  
Entity Address, Postal Zip Code 20850  
City Area Code 301  
Local Phone Number 315-0027  
Title of 12(b) Security Common Stock, $0.15 par value  
Trading Symbol AGX  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   13,499,650
Entity Central Index Key 0000100591  
Document Fiscal Year Focus 2025  
Current Fiscal Year End Date --01-31  
Document Fiscal Period Focus Q2  
Amendment Flag false  
XML 14 R2.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2024
Jul. 31, 2023
Jul. 31, 2024
Jul. 31, 2023
CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS        
REVENUES $ 227,015 $ 141,349 $ 384,697 $ 245,024
Cost of revenues 195,910 117,607 335,648 207,058
GROSS PROFIT 31,105 23,742 49,049 37,966
Selling, general and administrative expenses 12,428 10,501 23,853 21,092
INCOME FROM OPERATIONS 18,677 13,241 25,196 16,874
Other income, net 5,604 4,118 10,398 3,489
INCOME BEFORE INCOME TAXES 24,281 17,359 35,594 20,363
Income tax expense 6,083 4,592 9,514 5,487
NET INCOME 18,198 12,767 26,080 14,876
OTHER COMPREHENSIVE INCOME, NET OF TAXES        
Foreign currency translation adjustments (186) (185) (976) 255
Net unrealized gains (losses) on available-for-sale securities 1,459 (683) 490 (720)
COMPREHENSIVE INCOME $ 19,471 $ 11,899 $ 25,594 $ 14,411
NET INCOME PER SHARE        
Basic (in dollars per share) $ 1.36 $ 0.95 $ 1.96 $ 1.11
Diluted (in dollars per share) $ 1.31 $ 0.94 $ 1.90 $ 1.10
WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING        
Basic (in shares) 13,403 13,403 13,331 13,408
Diluted (in shares) 13,880 13,542 13,727 13,544
CASH DIVIDENDS PER SHARE $ 0.30 $ 0.25 $ 0.60 $ 0.50
XML 15 R3.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Jul. 31, 2024
Jan. 31, 2024
CURRENT ASSETS    
Cash and cash equivalents $ 232,685 $ 197,032
Investments 251,997 215,373
Accounts receivable, net 95,315 47,326
Contract assets 46,086 48,189
Other current assets 48,871 39,259
TOTAL CURRENT ASSETS 674,954 547,179
Property, plant and equipment, net 12,098 11,021
Goodwill 28,033 28,033
Intangible assets, net 2,022 2,217
Deferred taxes, net 1,637 2,259
Right-of-use and other assets 7,830 7,520
TOTAL ASSETS 726,574 598,229
CURRENT LIABILITIES    
Accounts payable 99,693 39,485
Accrued expenses 61,698 81,721
Contract liabilities 253,736 181,054
TOTAL CURRENT LIABILITIES 415,127 302,260
Noncurrent liabilities 3,379 5,030
TOTAL LIABILITIES 418,506 307,290
COMMITMENTS AND CONTINGENCIES (see Notes 8 and 9)
STOCKHOLDERS' EQUITY    
Preferred stock, par value $0.10 per share - 500,000 shares authorized; no shares issued and outstanding
Common stock, par value $0.15 per share - 30,000,000 shares authorized; 15,828,289 shares issued; 13,497,550 and 13,242,520 shares outstanding at July 31, 2024 and January 31, 2024, respectively 2,374 2,374
Additional paid-in capital 165,902 164,183
Retained earnings 243,519 225,507
Less treasury stock, at cost - 2,330,739 and 2,585,769 shares at July 31, 2024 and January 31, 2024, respectively (99,644) (97,528)
Accumulated other comprehensive loss (4,083) (3,597)
TOTAL STOCKHOLDERS' EQUITY 308,068 290,939
TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY $ 726,574 $ 598,229
XML 16 R4.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CONDENSED CONSOLIDATED BALANCE SHEETS(Parenthetical) - $ / shares
Jul. 31, 2024
Jan. 31, 2024
CONDENSED CONSOLIDATED BALANCE SHEETS    
Preferred stock, par value (in dollars per share) $ 0.10 $ 0.10
Preferred stock, shares authorized 500,000 500,000
Preferred stock, shares issued 0 0
Preferred stock, shares outstanding 0 0
Common stock, par value (in dollars per share) $ 0.15 $ 0.15
Common stock, shares authorized 30,000,000 30,000,000
Common stock, shares issued 15,828,289 15,828,289
Common stock, shares outstanding 13,497,550 13,242,520
Treasury stock, shares 2,330,739 2,585,769
XML 17 R5.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Common Stock
Additional Paid-in Capital
Retained Earnings
Treasury Stock
Accumulated Other Comprehensive Loss
Total
Balances at Jan. 31, 2023 $ 2,374 $ 162,208 $ 207,832 $ (88,641) $ (2,876) $ 280,897
Balances (in shares) at Jan. 31, 2023 13,441,590          
Net income     14,876     14,876
Foreign currency translation gain (loss)         255 255
Net unrealized gains (losses) on available-for-sale securities         (720) (720)
Stock compensation expense   2,218       2,218
Stock option exercises and restricted stock unit settlements, net   (2,103)   3,050   947
Stock option exercises and restricted stock unit settlements, net (in shares) 81,851          
Common stock repurchases       (6,738)   $ (6,738)
Common stock repurchases (in shares) (169,788)         (169,788)
Cash dividends     (6,699)     $ (6,699)
Balances at Jul. 31, 2023 $ 2,374 162,323 216,009 (92,329) (3,341) 285,036
Balances (in shares) at Jul. 31, 2023 13,353,653          
Balances at Apr. 30, 2023 $ 2,374 161,347 206,584 (89,883) (2,473) 277,949
Balances (in shares) at Apr. 30, 2023 13,414,404          
Net income     12,767     12,767
Foreign currency translation gain (loss)         (185) (185)
Net unrealized gains (losses) on available-for-sale securities         (683) (683)
Stock compensation expense   1,184       1,184
Stock option exercises and restricted stock unit settlements, net   (208)   611   403
Stock option exercises and restricted stock unit settlements, net (in shares) 16,381          
Common stock repurchases       (3,057)   (3,057)
Common stock repurchases (in shares) (77,132)          
Cash dividends     (3,342)     (3,342)
Balances at Jul. 31, 2023 $ 2,374 162,323 216,009 (92,329) (3,341) 285,036
Balances (in shares) at Jul. 31, 2023 13,353,653          
Balances at Jan. 31, 2024 $ 2,374 164,183 225,507 (97,528) (3,597) 290,939
Balances (in shares) at Jan. 31, 2024 13,242,520          
Net income     26,080     26,080
Foreign currency translation gain (loss)         (976) (976)
Net unrealized gains (losses) on available-for-sale securities         490 490
Stock compensation expense   2,215       $ 2,215
Stock option exercises and restricted stock unit settlements (in shares)           627,000
Stock option exercises and restricted stock unit settlements, net   (496)   (1,929)   $ (2,425)
Stock option exercises and restricted stock unit settlements, net (in shares) 260,630          
Common stock repurchases       (187)   $ (187)
Common stock repurchases (in shares) (5,600)         (5,600)
Cash dividends     (8,068)     $ (8,068)
Balances at Jul. 31, 2024 $ 2,374 165,902 243,519 (99,644) (4,083) 308,068
Balances (in shares) at Jul. 31, 2024 13,497,550          
Balances at Apr. 30, 2024 $ 2,374 164,501 229,364 (97,728) (5,356) 293,155
Balances (in shares) at Apr. 30, 2024 13,350,180          
Net income     18,198     18,198
Foreign currency translation gain (loss)         (186) (186)
Net unrealized gains (losses) on available-for-sale securities         1,459 1,459
Stock compensation expense   1,004       1,004
Stock option exercises and restricted stock unit settlements, net   397   (1,916)   (1,519)
Stock option exercises and restricted stock unit settlements, net (in shares) 147,370          
Cash dividends     (4,043)     (4,043)
Balances at Jul. 31, 2024 $ 2,374 $ 165,902 $ 243,519 $ (99,644) $ (4,083) $ 308,068
Balances (in shares) at Jul. 31, 2024 13,497,550          
XML 18 R6.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
6 Months Ended
Jul. 31, 2024
Jul. 31, 2023
CASH FLOWS FROM OPERATING ACTIVITIES    
Net income $ 26,080 $ 14,876
Adjustments to reconcile net income to net cash provided by operating activities    
Changes in accrued interest on investments 2,716 (341)
Stock compensation expense 2,215 2,218
Lease expense 1,415 884
Depreciation 943 1,035
Deferred income tax expense (benefit) 469 (196)
Amortization of intangible assets 195 196
Other 995 162
Changes in operating assets and liabilities    
Accounts receivable (48,492) 5,600
Contract assets 2,103 4,031
Other assets (10,661) (5,176)
Accounts payable and accrued expenses 40,521 (8,931)
Contract liabilities 72,682 20,195
Net cash provided by operating activities 91,181 34,553
CASH FLOWS FROM INVESTING ACTIVITIES    
Purchases of short-term investments (57,500) (90,000)
Maturities of short-term investments 95,000 159,750
Purchases of available-for-sale securities (85,309) (60,261)
Maturities of available-for-sale securities 9,230  
Purchases of property, plant and equipment (2,671) (1,031)
Investments in solar energy projects (3,312)  
Net cash (used in) provided by investing activities (44,562) 8,458
CASH FLOWS FROM FINANCING ACTIVITIES    
Common stock repurchases (187) (6,738)
Payments of cash dividends (8,068) (6,699)
Proceeds from share-based award settlements, net of withholding taxes paid (2,425) 947
Net cash used in financing activities (10,680) (12,490)
EFFECTS OF EXCHANGE RATE CHANGES ON CASH (286) 331
NET INCREASE IN CASH AND CASH EQUIVALENTS 35,653 30,852
CASH AND CASH EQUIVALENTS, BEGINNING OF PERIOD 197,032 173,947
CASH AND CASH EQUIVALENTS, END OF PERIOD 232,685 204,799
NON-CASH INVESTING AND FINANCING ACTIVITIES    
Right-of-use assets obtained in exchange for lease obligations 1,531 665
SUPPLEMENTAL CASH FLOW INFORMATION    
Cash paid for income taxes, net of refunds 9,138 3,270
Cash paid for operating leases $ 1,410 $ 888
XML 19 R7.htm IDEA: XBRL DOCUMENT v3.24.2.u1
DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION
6 Months Ended
Jul. 31, 2024
DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION  
DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION

NOTE 1 – DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION

Description of the Business

Argan, Inc. (“Argan”) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (“GPS”); The Roberts Company, Inc. (“TRC”); Atlantic Projects Company Limited and affiliates (“APC”) and Southern Maryland Cable, Inc. (“SMC”). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the “Company.”

Through GPS and APC, the Company provides a full range of engineering, procurement, construction, commissioning, maintenance, project development, and technical consulting services to the power generation market. The customers include primarily independent power producers, public utilities, power plant equipment suppliers and other commercial firms with significant power requirements with projects located in the United States (the “U.S.”), the Republic of Ireland (“Ireland”) and the United Kingdom (the “U.K.”). GPS and APC represent the Company’s power industry services reportable segment. Through TRC, the industrial construction services reportable segment provides on-site services that support new plant construction and additions, maintenance turnarounds, shutdowns and emergency mobilizations for industrial operations primarily located in the Southeast region of the U.S. and that may include the fabrication, delivery and installation of steel components such as piping systems and pressure vessels. Through SMC, which conducts business as SMC Infrastructure Solutions, the telecommunications infrastructure services segment provides project management, construction, installation and maintenance services to commercial, local government and federal government customers primarily in the Mid-Atlantic region of the U.S.

Basis of Presentation and Significant Accounting Policies

The condensed consolidated financial statements include the accounts of Argan and its wholly-owned subsidiaries. All significant inter-company balances and transactions have been eliminated in consolidation. In Note 15, the Company has provided certain financial information relating to the operating results and assets of its reportable segments based on the manner in which management disaggregates the Company’s financial reporting for purposes of making internal operating decisions.

The Company’s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of July 31, 2024, the condensed consolidated statements of earnings and stockholders’ equity for the three and six months ended July 31, 2024 and 2023, and the condensed consolidated statements of cash flows for the six months ended July 31, 2024 and 2023 are unaudited. The condensed consolidated balance sheet as of January 31, 2024 has been derived from audited consolidated financial statements. These condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”). Certain information and note disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) have been condensed or omitted pursuant to those rules and regulations, although the Company believes that the disclosures made are adequate to make the information not misleading. The accompanying condensed consolidated financial statements and notes should be read in conjunction with the consolidated financial statements, the notes thereto, and the independent registered public accounting firm’s report thereon, that are included in the Company’s Annual Report on Form 10-K for the fiscal year ended January 31, 2024 (“Fiscal 2024”).

In the opinion of management, the accompanying condensed consolidated financial statements contain all adjustments, which are of a normal and recurring nature, considered necessary for a fair statement of the financial position of the Company as of July 31, 2024, and its earnings and cash flows for the interim periods presented. The results of operations for any interim period are not necessarily indicative of the results of operations for any other interim period or for a full fiscal year.

Recently Issued Accounting Pronouncements

In November 2023, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures by introducing key amendments to enhance disclosures in public entities’ reportable segments. Notable changes include the mandatory disclosure of significant segment expenses regularly provided to the chief operating decision maker (“CODM”), disclosure of other segment items, and requirements for consistency in reporting measures used by the CODM. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-07 may have on its financial position, results of operations, cash flows, or disclosures, but does not expect to experience significant changes to its financial statements from the implementation of this new standard.

In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which introduces more detailed requirements for annual disclosures for income taxes. The ASU requires public business entities to present specific categories in the income tax rate reconciliation and provide additional information for reconciling items that meet a quantitative threshold. ASU 2023-09 also requires all entities to disclose the amount of income taxes paid, net of refunds received, disaggregated by federal, state, and foreign jurisdiction. The ASU is effective for fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-09 may have on its financial position, results of operations, cash flows, or disclosures.

There are no other recently issued accounting pronouncements that have not yet been adopted that the Company considers material to its condensed consolidated financial statements.

XML 20 R8.htm IDEA: XBRL DOCUMENT v3.24.2.u1
REVENUES FROM CONTRACTS WITH CUSTOMERS
6 Months Ended
Jul. 31, 2024
REVENUES FROM CONTRACTS WITH CUSTOMERS  
REVENUES FROM CONTRACTS WITH CUSTOMERS

NOTE 2 – REVENUES FROM CONTRACTS WITH CUSTOMERS

Disaggregation of Revenues

The following table presents consolidated revenues for the three and six months ended July 31, 2024 and 2023, disaggregated by the geographic area where the corresponding projects were located:

    

Three Months Ended July 31, 

    

Six Months Ended July 31, 

2024

    

2023

2024

    

2023

United States

$

195,249

$

80,281

$

319,580

$

147,800

Republic of Ireland

 

28,167

 

48,075

 

57,058

 

70,656

United Kingdom

 

3,599

 

12,993

 

8,059

 

26,568

Consolidated Revenues

$

227,015

$

141,349

$

384,697

$

245,024

Revenues for projects located in Ireland and the U.K. are attributed to the power industry services segment. The major portions of the Company’s consolidated revenues are recognized pursuant to fixed-price contracts with most of the remaining portions earned pursuant to time-and-material contracts. Consolidated revenues are disaggregated by reportable segment in Note 15 to the condensed consolidated financial statements.

Contract Termination

For a project being performed by APC to construct a gas-fired power facility in Northern Ireland (the “Kilroot Project”), an estimated loss of approximately $12.8 million has been recognized, of which $2.8 million was recorded during the six-month period ended July 31, 2024 and the remainder recorded in the prior fiscal year.

APC provided 14 days’ notice to terminate as a result of project owner breaches of the contract. Those breaches were not resolved during that 14-day period, as a result of which the contract terminated on May 3, 2024. Subsequently, the project owner made a draw for the full amount of a $9.2 million irrevocable letter of credit, or on-demand performance bond, issued by the Company’s bank. The amount is included in accounts receivable as of July 31, 2024. This amount is now

part of the open and disputed claims related to this project. APC and the Company believe the project owner initiated the draw without cause, and therefore, the amount should be refunded.

APC has significant billable receivables, unresolved contract variations and claims for extensions of time, among other issues, related to the Kilroot Project. The project owner has asserted counterclaims that APC disputes. APC will continue to pursue all of its rights under the contract, and will do so through legal means if necessary.

Contract Assets and Liabilities

The Company’s timing of revenue recognition may not be consistent with its rights to bill and collect cash from project owners and other customers. Most contracts require payments as the corresponding work progresses that are determined in the manner described therein. This can result in large contract liability or contract asset balances early in contract lives that decline over the terms of the corresponding contracts. During the six months ended July 31, 2024 and 2023, there were no unusual or one-time adjustments to these balances.

The Company recognized the following revenues that were included in the contract liabilities balances at the beginning of the respective period:

    

Three Months Ended July 31, 

    

Six Months Ended July 31, 

2024

    

2023

2024

    

2023

Revenues recognized from contract liabilities

$

90,874

$

64,735

$

131,229

$

86,958

Contract retentions are billed amounts which, pursuant to the terms of the applicable contract, are not paid by customers until a defined phase of a contract or project has been completed and accepted. These retained amounts are reflected in contract assets or contract liabilities depending on the net contract position of the particular contract. The amounts retained by project owners and other customers under construction contracts at July 31, 2024 and January 31, 2024 were $19.0 million and $21.2 million, respectively.

Variable Consideration

Variable consideration includes unapproved change orders where the Company has project-owner directive for additional work or other scope changes, but has not yet obtained approval for the associated price or the corresponding additional effort. These amounts are included in the transaction price when it is considered probable that the applicable costs, including those for additional effort, will be recovered through a modification to the contract price. The Company also includes in the corresponding transaction price an estimate of the amount that it expects to receive from claims based on management’s judgment regarding all reasonably available information. At July 31, 2024 and January 31, 2024, the aggregate amounts of such contract variations, that primarily related to an overseas project, and that were included in the corresponding transaction prices pending customer approvals, were $11.7 million and $8.4 million, respectively.

Remaining Unsatisfied Performance Obligations (“RUPO”)

At July 31, 2024, the Company had RUPO of $1.0 billion. The largest portion of RUPO at any date usually relates to engineering, procurement and construction (“EPC”) service and other construction contracts with typical performance durations of one to three years. However, the length of certain significant construction projects may exceed three years. The Company estimates that approximately 42% of the RUPO amount at July 31, 2024 will be included in the amount of consolidated revenues that will be recognized during the remainder of the fiscal year ending January 31, 2025 (“Fiscal 2025”). Most of the remaining amount of the RUPO amount at July 31, 2024 is expected to be recognized in revenues during the fiscal years ending January 31, 2026 (“Fiscal 2026”) and January 31, 2027 (“Fiscal 2027”).

It is important to note that estimates may be changed in the future and that cancellations, deferrals, or scope adjustments may occur related to work included in the amount of RUPO. Accordingly, RUPO may be adjusted to reflect project delays and cancellations, revisions to project scope and cost and foreign currency exchange fluctuations, or to revise estimates, as effects become known. Such adjustments to RUPO may materially reduce future revenues below Company estimates.

XML 21 R9.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CASH, CASH EQUIVALENTS AND INVESTMENTS
6 Months Ended
Jul. 31, 2024
CASH, CASH EQUIVALENTS AND INVESTMENTS  
CASH, CASH EQUIVALENTS AND INVESTMENTS

NOTE 3 – CASH, CASH EQUIVALENTS AND INVESTMENTS

At July 31, 2024 and January 31, 2024, certain amounts of cash equivalents were invested in a money market fund with net assets invested in high-quality money market instruments, including U.S. Treasury obligations; obligations of U.S. government agencies, authorities, instrumentalities or sponsored enterprises; and repurchase agreements secured by such

obligations. Dividend income related to money market investments is recorded when earned. The balances of accrued dividends at July 31, 2024 and January 31, 2024 were $0.6 million and $0.7 million, respectively.

Investments

The Company’s investments consisted of the following as of July 31, 2024 and January 31, 2024:

    

July 31, 

January 31, 

2024

    

2024

Short-term investments

$

69,292

$

109,489

Available-for-sale securities

182,705

105,884

Total investments

$

251,997

$

215,373

Short-Term Investments

Short-term investments as of July 31, 2024 and January 31, 2024 consisted solely of certificates of deposit (“CDs”) with initial maturities of one year or less purchased from Bank of America, N.A. (the “Bank”). The Company has the intent and ability to hold the CDs until they mature, and they are carried at cost plus accrued interest. The balances of accrued interest on the CDs at July 31, 2024 and January 31, 2024 were $1.8 million and $4.5 million, respectively. Interest income is recorded when earned and is included in other income. At July 31, 2024 and January 31, 2024, the weighted average annual interest rates of the outstanding CDs were 5.4%.

Available-For-Sale Securities

The Company’s available-for-sale (“AFS”) securities consisted of the following amounts of amortized cost, allowance for credit losses, gross unrealized gains and losses and estimated fair value by contractual maturity as of July 31, 2024 and January 31, 2024:

July 31, 2024

Allowance for

Gross

Gross

Estimated

Amortized

Credit

Unrealized

Unrealized

Fair

    

Cost

    

Losses

    

Gains

    

Losses

    

Value

U.S. Treasury notes:

Due within one year

$

25,200

$

$

3

$

94

$

25,109

Due in one to three years

91,045

449

202

91,292

Due in three to five years

55,502

755

56,257

U.S. corporate debt security:

Due in one to three years

10,046

1

10,047

Totals

$

181,793

$

$

1,208

$

296

$

182,705

January 31, 2024

Allowance for

Gross

Gross

Estimated

Amortized

Credit

Unrealized

Unrealized

Fair

    

Cost

    

Losses

    

Gains

    

Losses

    

Value

U.S. Treasury notes:

Due in one to three years

$

96,217

$

$

568

$

230

$

96,555

U.S. corporate debt security:

Due in one to three years

9,406

77

9,329

Totals

$

105,623

$

$

568

$

307

$

105,884

As of July 31, 2024 and January 31, 2024, interest receivable in the amounts of $1.6 million and $1.3 million, respectively, were included in the balances of AFS securities. For the three and six months ended July 31, 2024 and 2023, there were no sales of the Company’s AFS securities and, therefore, there were no amounts of gains or losses reclassified out of other comprehensive income into net income.

The Company does not believe the unrealized losses represent credit losses based on the evaluation of evidence as of July 31, 2024 and January 31, 2024, which includes an assessment of whether it is more likely than not the Company will be required to sell or intends to sell the investments before recovery of their corresponding amortized cost bases.

Earnings on Investments

Earnings on investments for the three and six months ended July 31, 2024 were $4.8 million and $9.3 million, respectively, and they were $3.3 million and $5.7 million for the three and six months ended July 31, 2023, respectively. Earnings on investments are included in other income, net, in the consolidated statements of earnings.

Concentration Risk

The Company has a substantial portion of its cash on deposit in the U.S. with the Bank or invested in CDs purchased from the Bank. In addition, the Company has cash invested in a money market fund at a separate institution. The Company also maintains certain Euro-based bank accounts in Ireland and certain pound sterling-based bank accounts in the U.K. in support of the operations of APC. As of July 31, 2024 and January 31, 2024, approximately 1% and 12%, respectively, of the Company’s cash and cash equivalents were held by financial institutions in Ireland and the U.K. Management does not believe that the combined amount of the CDs and the cash deposited with the Bank, cash invested in the money market fund, and cash balances maintained at financial institutions in Ireland and the U.K., in excess of government-insured levels, represent material risks.

XML 22 R10.htm IDEA: XBRL DOCUMENT v3.24.2.u1
FAIR VALUE MEASUREMENTS
6 Months Ended
Jul. 31, 2024
FAIR VALUE MEASUREMENTS  
FAIR VALUE MEASUREMENTS

NOTE 4 – FAIR VALUE MEASUREMENTS

The following table presents the Company’s financial instruments as of July 31, 2024 and January 31, 2024 that are measured and recorded at fair value on a recurring basis:

July 31, 2024

January 31, 2024

Level 1

Level 2

Level 3

Level 1

Level 2

Level 3

    

Inputs

    

Inputs

Inputs

    

Inputs

Inputs

    

Inputs

Cash equivalents:

Money market fund

$

144,956

$

$

$

126,646

$

$

Available-for-sale securities:

U.S. Treasury notes

172,658

96,555

U.S. corporate debt security

10,047

9,329

Totals

$

144,956

$

182,705

$

$

126,646

$

105,884

$

XML 23 R11.htm IDEA: XBRL DOCUMENT v3.24.2.u1
ACCOUNTS RECEIVABLE
6 Months Ended
Jul. 31, 2024
ACCOUNTS RECEIVABLE  
ACCOUNTS RECEIVABLE

NOTE 5 – ACCOUNTS RECEIVABLE

Accounts receivable include amounts that have been billed and amounts that are billable to customers. As of July 31, 2024, there were billable amounts related to an overseas project in the total amount of $23.9 million.

The Company may extend credit to a customer without requiring tangible collateral based on an evaluation of the customer’s financial condition and other factors. Customer payments on other construction, fabrication and field service contracts are generally due within 30 days of billing, depending on the negotiated terms of the corresponding contract. Exposure to losses on accounts and notes receivable is expected to differ due to the varying financial condition of each customer. The Company monitors its exposure to credit losses and may establish an allowance for credit losses based on management’s estimate of the loss that is expected to occur over the remaining life of the particular financial asset. The amounts of the provision for credit losses for the three and six months ended July 31, 2024 was $0.5 million. The amount of the provision for credit losses for the three and six months ended July 31, 2023 were insignificant. The allowance for credit losses at July 31, 2024 and January 31, 2024 was $2.3 million and $1.8 million, respectively.

XML 24 R12.htm IDEA: XBRL DOCUMENT v3.24.2.u1
INTANGIBLE ASSETS
6 Months Ended
Jul. 31, 2024
INTANGIBLE ASSETS  
INTANGIBLE ASSETS

NOTE 6 – INTANGIBLE ASSETS

At both July 31, 2024 and January 31, 2024, the goodwill balances related primarily to the GPS and TRC reporting units, and were $18.5 million and $9.5 million, respectively. Management does not believe that any events or circumstances occurred or arose since January 31, 2024, that required an updated assessment of the goodwill balances of either the GPS or TRC reporting units.

The Company’s intangible assets, other than goodwill, relate primarily to the industrial construction services segment and consisted of the following as of July 31, 2024 and January 31, 2024:

July 31, 2024

January 31, 2024

Estimated

Gross

Accumulated

Net

Gross

Accumulated

Net

    

Useful Life

    

Amounts

    

Amortization

    

Amounts

    

Amounts

    

Amortization

    

Amounts

Trade name

15 years

$

4,499

$

2,599

$

1,900

$

4,499

$

2,450

$

2,049

Customer relationships

10 years

916

794

122

916

748

168

Totals

$

5,415

$

3,393

$

2,022

$

5,415

$

3,198

$

2,217

The following is a schedule of future amounts of amortization related to purchased intangibles:

    

Amortization

Years Ending January 31,

Expense

2025 (remainder)

    

$

196

2026

 

376

2027

 

300

2028

 

300

2029

300

Thereafter

 

550

Total

$

2,022

XML 25 R13.htm IDEA: XBRL DOCUMENT v3.24.2.u1
FINANCING ARRANGEMENTS
6 Months Ended
Jul. 31, 2024
FINANCING ARRANGEMENTS  
FINANCING ARRANGEMENTS

NOTE 7 – FINANCING ARRANGEMENTS

On May 24, 2024, the Company and the Bank executed the Second Amended and Restated Replacement Credit Agreement with an expiration date May 31, 2027 (the “New Credit Agreement”). The New Credit Agreement supersedes the now expired credit agreement, as amended, that was executed on May 15, 2017 with an expiration date of May 31, 2024 (the “Expired Credit Agreement”), reduces the base lending commitment amount from $50.0 million to $35.0 million, increases the letter of credit fees to be consistent with current market conditions, and establishes the interest rate for revolving loans at the Secured Overnight Financing Rate (“SOFR”) plus 1.85%. In addition to the base commitment, the new facility includes an accordion feature that allows for an additional commitment amount of $30.0 million, subject to certain conditions, that represents an increase from the $10.0 million accordion provided by the Expired Credit Agreement. The Company may use the borrowing ability to cover other credit instruments issued by the Bank for the Company’s use in the ordinary course of business as defined in the New Credit Agreement. Further, on May 31, 2024, the Company completed the negotiation of a companion facility, in the amount of $25.0 million, pursuant to which APC, the Company’s Irish subsidiary, may cause the Bank’s European entity to issue letters of credit on its behalf that will be secured by a blanket parent company guarantee issued by Argan to the Bank.

At July 31, 2024 and January 31, 2024, the Company did not have any borrowings outstanding under the New Credit Agreement and Expired Credit Agreement, respectively. At July 31, 2024, there were no outstanding letters of credit issued under the New Credit Agreement.

The Company has pledged the majority of its assets to secure its financing arrangements. The Bank’s consent is not required for acquisitions, divestitures, cash dividends or significant investments as long as certain conditions are met. The New Credit Agreement requires that the Company comply with certain financial covenants at its fiscal year-end and at each fiscal quarter-end. The New Credit Agreement includes other terms, covenants and events of default that are customary for a credit facility of its size and nature, including a requirement to achieve positive adjusted earnings before interest, taxes, depreciation and amortization, as defined, over each rolling twelve-month measurement period. As of July 31, 2024, the Company was in compliance with the covenants and other requirements of the New Credit Agreement.

XML 26 R14.htm IDEA: XBRL DOCUMENT v3.24.2.u1
COMMITMENTS
6 Months Ended
Jul. 31, 2024
COMMITMENTS  
COMMITMENTS

NOTE 8 – COMMITMENTS

Performance Bonds and Guarantees

In the normal course of business and for certain major projects, the Company may be required to obtain surety or performance bonding, to cause the issuance of letters of credit, or to provide parent company guarantees (or some

combination thereof) in order to provide performance assurances to clients on behalf of its contractor subsidiaries. As these subsidiaries are wholly-owned, any actual liability is ordinarily reflected in the financial statement account balances determined pursuant to the Company’s accounting for contracts with customers. When sufficient information about claims on guaranteed or bonded projects would become available and monetary damages or other costs or losses are determined to be probable, the Company would record such losses.

As of July 31, 2024, the estimated amounts of the Company’s unsatisfied bonded performance obligations, covering all of its subsidiaries, was approximately $0.3 billion. As of July 31, 2024, the outstanding amount of bonds covering other risks, including warranty obligations and contract payment retentions related to completed activities, was $19.9 million. Not all of our projects require bonding.

The Company also provided a financial guarantee, subject to certain terms and conditions, up to the amount of $3.6 million in support of business development efforts. An estimated loss related to this guarantee was recorded during the year ended January 31, 2022 (“Fiscal 2022”).

Warranties

The Company generally provides assurance-type warranties for work performed under its construction contracts. The warranties cover defects in equipment, materials, design or workmanship, and most warranty periods typically run from nine to twenty-four months after the completion of construction on a particular project. Because of the nature of the Company’s projects, including project owner inspections of the work both during construction and prior to substantial completion, the Company has not experienced material unexpected warranty costs in the past. Warranty costs are estimated based on experience with the type of work and any known risks relative to each completed project. The accruals of liabilities, which are established to cover estimated future assurance-type warranty costs, are recorded as the contracted work is performed, and they are included in the amounts of accrued expenses in the condensed consolidated balances sheets. The liability amounts may be periodically adjusted to reflect changes in the estimated size and number of expected warranty claims.

XML 27 R15.htm IDEA: XBRL DOCUMENT v3.24.2.u1
LEGAL CONTINGENCIES
6 Months Ended
Jul. 31, 2024
LEGAL CONTINGENCIES  
LEGAL CONTINGENCIES

NOTE 9 – LEGAL CONTINGENCIES

In the normal course of business, the Company may have pending claims and legal proceedings. The Company maintains accrued expense balances for the estimated amounts of legal costs expected to be billed related to any significant matter. In the opinion of management, based on information available at this time, there were no current claims and proceedings that were expected to have a material adverse effect on the condensed consolidated financial statements as of July 31, 2024.

XML 28 R16.htm IDEA: XBRL DOCUMENT v3.24.2.u1
STOCK-BASED COMPENSATION
6 Months Ended
Jul. 31, 2024
STOCK-BASED COMPENSATION  
STOCK-BASED COMPENSATION

NOTE 10 – STOCK-BASED COMPENSATION

In June 2020, the Company’s stockholders approved the adoption of the 2020 Stock Plan (the “2020 Plan”). The 2020 Plan replaced the 2011 Stock Plan (the “2011 Plan”); the Company’s authority to make awards pursuant to the 2011 Plan expired on July 19, 2021. Together, the 2020 Plan and the 2011 Plan are hereinafter referred to as the “Stock Plans.” As of July 31, 2024, there were 1,540,667 shares of common stock reserved for issuance under the Stock Plans, which includes 488,799 shares of common stock available for future awards under the 2020 Plan.

Expense amounts related to stock awards were $1.0 million and $1.2 million for the three months ended July 31, 2024 and 2023, respectively. Expense amounts related to stock awards were $2.2 million and $2.2 million for the six months ended July 31, 2024 and 2023, respectively. At July 31, 2024, there was $6.8 million in unrecognized compensation cost related to outstanding stock awards that the Company expects to expense over the next three years.

Stock Options

A summary of stock option activity under the Stock Plans for the six months ended July 31, 2024 is presented below (shares in thousands):

Weighted-

Weighted-

Weighted-

Average

Average

Average Exercise

Remaining

Grant-Date

Price

Contractual

Fair Value

    

Shares

    

Per Share

    

Term (years)

    

Per Share

Outstanding, February 1, 2024

 

1,365

$

44.95

 

4.67

$

10.43

Granted

6

$

61.22

Exercised

(627)

$

41.56

Forfeited

(4)

$

60.07

Outstanding, July 31, 2024

740

$

47.87

 

4.81

$

10.93

Exercisable, July 31, 2024

 

669

$

48.72

4.43

$

11.24

Vested or expected to vest, July 31, 2024

 

740

$

47.87

 

4.81

$

10.93

The changes in the number of non-vested options to purchase shares of common stock for the six months ended July 31, 2024 is presented below (shares in thousands):

    

Weighted-

Average

Grant-Date

Fair Value

Shares

    

Per Share

Non-vested, February 1, 2024

 

92

$

7.85

Granted

 

6

$

13.89

Vested

 

(27)

$

8.63

Non-vested, July 31, 2024

 

71

$

8.06

The total intrinsic value amounts related to the stock options exercised during the six months ended July 31, 2024 and 2023 were $17.1 million and $0.9 million, respectively. As of July 31, 2024, the aggregate market value of the underlying common stock outstanding and exercisable stock options that were “in-the-money” exceeded their aggregate exercise prices by $23.0 million and $20.2 million, respectively.

Restricted Stock Units

The Company awards total stock return performance-based restricted stock units (“PRSUs”), earnings per share performance-based restricted stock units (“EPRSUs”), renewable energy performance-based restricted stock units (“RRSUs”), and time-based restricted stock units (“TRSUs”) to senior executives, certain other key employees and members of the Company’s board of directors. Awardees earn the right to receive shares of common stock as certain performance goals are achieved and/or service periods are satisfied. Each restricted stock unit expires on the three-year anniversary of the award.

During the six months ended July 31, 2024, the Company awarded PRSUs covering a target of 5,000 shares of common stock. EPRSUs covering a target of 10,000 shares of common stock, RRSUs covering a target of 5,000 shares of common stock, TRSUs covering 39,050 shares of common stock, and 2,738 shares based on the amount of cash dividends deemed paid on shares were earned pursuant to the awards during the period. The number of shares of common stock to be issued under certain awards may exceed the number of target shares if certain performance goals are exceeded.

The changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units for the six months ended July 31, 2024, are presented below (shares in thousands):

    

    

Weighted-

Average

Grant-Date

Fair Value

Shares

Per Share

Outstanding, February 1, 2024

 

348

$

30.21

Granted

 

77

$

42.07

Issued

(51)

$

42.14

Forfeited

(62)

$

26.13

Outstanding, July 31, 2024

 

312

$

31.96

XML 29 R17.htm IDEA: XBRL DOCUMENT v3.24.2.u1
INCOME TAXES
6 Months Ended
Jul. 31, 2024
INCOME TAXES  
INCOME TAXES

NOTE 11 – INCOME TAXES

The Company’s income tax amounts for the six months ended July 31, 2024 and 2023 differed from corresponding amounts computed by applying the federal corporate income tax rate of 21% to the income before income taxes for the periods as presented below:

    

Six Months Ended July 31, 

    

2024

    

2023

Computed expected income tax expense

$

7,475

$

4,276

Difference resulting from:

State income taxes, net of federal tax effect

 

1,186

 

455

Unrecognized tax loss benefit

961

529

Excess executive compensation

404

400

Stock-based compensation windfall

(531)

(126)

Foreign tax rate differential

(240)

(643)

GILTI

505

Tax credits

(453)

Other permanent differences and adjustments, net

259

544

Income tax expense

$

9,514

$

5,487

Net Operating Loss (“NOL”) Carryback

As a result of the tax changes enacted by the Coronavirus, Aid, Relief and Economic Security Act signed into law in March 2020 (the “CARES Act”), the Company made a filing during the year ended January 31, 2021 with the Internal Revenue Service (the “IRS”) requesting carryback refunds of income taxes paid for the years ended January 31, 2016 (“Fiscal 2016”) and 2015 (“Fiscal 2015”) in the total amount of approximately $12.7 million. At the instruction of the IRS, the Company filed amended income tax returns for Fiscal 2016 and Fiscal 2015 during Fiscal 2024; the IRS has not completed the examination and approval process for the Company’s amended tax returns and refund request.

Research and Development Tax Credits

During the year ended January 31, 2023 (“Fiscal 2023”), the Company filed amended federal income tax returns for Fiscal 2022 and for the year ended January 31, 2021 (“Fiscal 2021”) that included research and development tax credits in the total amount of $5.8 million, which was netted with a provision for uncertain tax return positions in the amount of $2.4 million. In May 2023, the Company received notification that these amended federal income tax returns were selected for examination. At July 31, 2024, the examination was in its early stages of documentation requests and review.

Income Tax Refunds

As of July 31, 2024 and January 31, 2024, the balances of other current assets in the condensed consolidated balance sheet included income tax refunds receivable and prepaid income taxes in the total amount of approximately $18.3 million. The income tax refunds included the amount expected to be received from the IRS upon its examination and approval of the

Company’s NOL carryback refund request and the completion of its examination of the amended tax returns for Fiscal 2022 and Fiscal 2021 as described above.

Income Tax Returns

The Company is subject to federal and state income taxes in the U.S., and income taxes in Ireland and the U.K. Tax treatments within each jurisdiction are subject to the interpretation of the related tax laws and regulations which require significant judgments to apply. The Company is no longer subject to income tax examinations by authorities for its fiscal years ended on or before January 31, 2020, except for several notable exceptions including Ireland, the U.K. and several states where the open periods are one year longer.

Solar Energy Projects

The Company holds equity investments in Solar Tax Credit (“STC”) investments. Primarily, the STC investments are structured as limited liability companies that invest in solar energy projects that are eligible to receive energy tax credits. During the six months ended July 31, 2024, the Company made investments of approximately $3.3 million in STC investments that were committed as of January 31, 2024. As of July 31, 2024, the Company had no remaining cash investment commitments related to its STC investments.

At July 31, 2024 and January 31, 2024, the investment accounts balances were $1.2 million and $2.1 million, respectively, which are included in right-of-use and other assets in the condensed consolidated balance sheets.

The Company has elected to use the proportional amortization method (“PAM”) for STC investments that qualify. Under PAM, an investment is amortized in proportion to the allocation of tax benefits received in each period, and the investment amortization and tax benefit amounts are presented net within income tax expense in the Company’s condensed consolidated statement of earnings. For the six months ended July 31, 2024, the Company recorded $0.7 million of investment amortization related to the STC investment that qualifies for PAM. For the three months ended July 31, 2024, the recorded amount of amortization related to this investment was not material. The amount of non-income tax-related activity and other returns related to this investment was not material for the three and six months ended July 31, 2024. During the six months ended July 31, 2023, the Company did not have any STC investments that qualified for PAM.

For the Company’s STC investments that do not qualify for PAM, the Company accounts for the investments using the equity method of accounting and includes income and losses related to the investment in other income in the Company’s condensed consolidated statements of earnings. For the three and six months ended July 31, 2024 and 2023, the Company’s share of activity from these STC investments was not material.

XML 30 R18.htm IDEA: XBRL DOCUMENT v3.24.2.u1
NET INCOME PER SHARE
6 Months Ended
Jul. 31, 2024
NET INCOME PER SHARE  
NET INCOME PER SHARE

NOTE 12 – NET INCOME PER SHARE

Basic and diluted net income per share amounts are computed as follows (shares in thousands except in the notes):

Three Months Ended July 31, 

    

2024

    

2023

Net income

$

18,198

$

12,767

Weighted average number of shares outstanding – basic

13,403

13,403

Effect of stock awards (1)

477

139

Weighted average number of shares outstanding – diluted

13,880

13,542

Net income per share

Basic

$

1.36

$

0.95

Diluted

$

1.31

$

0.94

(1)For the three months ended July 31, 2024 and 2023, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of 74,500 and 785,167 shares of common stock, respectively.

Six Months Ended July 31, 

    

2024

    

2023

Net income

$

26,080

$

14,876

Weighted average number of shares outstanding – basic

13,331

13,408

Effect of stock awards (1)

396

136

Weighted average number of shares outstanding – diluted

13,727

13,544

Net income per share

Basic

$

1.96

$

1.11

Diluted

$

1.90

$

1.10

(1)For the six months ended July 31, 2024 and 2023, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of 209,250 and 818,501 shares of common stock, respectively.
XML 31 R19.htm IDEA: XBRL DOCUMENT v3.24.2.u1
STOCKHOLDERS' EQUITY
6 Months Ended
Jul. 31, 2024
STOCKHOLDERS' EQUITY  
STOCKHOLDERS' EQUITY

NOTE 13 – STOCKHOLDERS’ EQUITY

During the six months ended July 31, 2024, the Company’s board of directors declared two regular quarterly cash dividends, each in the amount of $0.30 per share of common stock, which were paid to stockholders on April 22, 2024 and July 31, 2024. During the six months ended July 31, 2023, the Company’s board of directors declared two regular quarterly cash dividends, each in the amount of $0.25 per share of common stock, which were paid to stockholders on April 28, 2023 and July 31, 2023.

Pursuant to its established program and authorizations provided by Argan’s board of directors, the Company repurchased shares of its common stock during the six months ended July 31, 2024 and 2023 and added the shares to treasury stock. During these periods, the Company repurchased 5,600 shares and 169,788 shares of common stock, all on the open market, for aggregate prices of approximately $0.3 million, or $44.87 per share, and $6.7 million, or $39.45 per share, respectively.

For the six months ended July 31, 2024, the Company accepted 417,431 shares of common stock at the average price per share of $68.04 for the exercise price and/or tax withholding in connection with stock option exercises and other share-based award settlements. For the six months ended July 31, 2023, the Company did not accept any shares of common stock for such transactions. For the six months ended July 31, 2024 and 2023, the Company used 260,630 shares and 81,851 shares of treasury stock, respectively, to settle stock option exercises and other share-based awards.

XML 32 R20.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CUSTOMER CONCENTRATIONS
6 Months Ended
Jul. 31, 2024
CUSTOMER CONCENTRATIONS  
CUSTOMER CONCENTRATIONS

NOTE 14 – CUSTOMER CONCENTRATIONS

The majority of the Company’s consolidated revenues relate to performance by the power industry services segment. The following schedule presents the percentage of consolidated revenues for each reportable business segment for the three and six months ended July 31, 2024:

    

Three Months Ended July 31, 

    

Six Months Ended July 31, 

2024

    

2023

2024

    

2023

Power industry services

76.5

%

74.5

%

73.8

%

71.6

%

Industrial construction services

 

21.9

 

23.2

 

24.3

 

25.7

Telecommunications infrastructure services

 

1.6

 

2.3

 

1.9

 

2.7

The Company’s most significant customer relationships for the three months ended July 31, 2024 included three power industry services customers, which accounted for 27%, 14% and 12% of consolidated revenues. The Company’s most significant customer relationships for the three months ended July 31, 2023 included three power industry services customers, which accounted for 21%, 20% and 12% of consolidated revenues. The Company’s most significant customer relationships for the six months ended July 31, 2024 included three power industry services customers, which accounted for 28%, 13% and 10% of consolidated revenues. The Company’s most significant customer relationships for the six months ended July 31, 2023 included three power industry services customers and one industrial construction services customer, which accounted for 19%, 17%, 11% and 11% of consolidated revenues. 

The accounts receivable balances from three major customers represented 25%, 21% and 13% of the corresponding consolidated balance as of July 31, 2024. Accounts receivable balances from three major customers represented 16%, 14% and 14% of the corresponding consolidated balance as of January 31, 2024.

The contract asset balances associated with five major customers represented 16%, 16%, 13%, 11% and 11% of the corresponding consolidated balance as of July 31, 2024. The contract asset balances associated with two major customers represented 39% and 32% of the corresponding consolidated balance as of January 31, 2024.

XML 33 R21.htm IDEA: XBRL DOCUMENT v3.24.2.u1
SEGMENT REPORTING
6 Months Ended
Jul. 31, 2024
SEGMENT REPORTING  
SEGMENT REPORTING

NOTE 15 – SEGMENT REPORTING

Segments represent components of an enterprise for which discrete financial information is available that is evaluated regularly by the Company’s chief executive officer, who is the CODM, in determining how to allocate resources and in assessing performance. The Company’s reportable segments recognize revenues and incur expenses, are organized in separate business units with different management teams, customers, talents and services, and may include more than one operating segment.

Intersegment revenues and the related cost of revenues are netted against the corresponding amounts of the segment receiving the intersegment services. For the three and six months ended July 31, 2024, intersegment revenues were $1.4 million. For the three and six months ended July 31, 2023, intersegment revenues were not material.

Summarized below are certain operating results and financial position data of the Company’s reportable business segments for the three and six months ended July 31, 2024 and 2023. The “Other” column in each summary includes the Company’s corporate expenses.

Three Months Ended

Power

Industrial

Telecom

July 31, 2024

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

173,760

$

49,642

$

3,613

$

$

227,015

Cost of revenues

 

150,233

 

43,200

 

2,477

 

 

195,910

Gross profit

 

23,527

 

6,442

 

1,136

 

 

31,105

Selling, general and administrative expenses

7,192

1,965

669

2,602

12,428

Income (loss) from operations

16,335

4,477

467

(2,602)

18,677

Other income, net

 

4,707

 

 

3

 

894

 

5,604

Income (loss) before income taxes

$

21,042

$

4,477

$

470

$

(1,708)

 

24,281

Income tax expense

 

6,083

Net income

$

18,198

Amortization of intangibles

$

$

98

$

$

$

98

Depreciation

148

210

104

1

463

Property, plant and equipment additions

1,947

241

161

2,349

Current assets

$

476,912

$

55,175

$

4,405

$

138,462

$

674,954

Current liabilities

384,477

27,817

1,331

1,502

415,127

Goodwill

18,476

9,467

90

28,033

Total assets

506,365

71,787

7,041

141,381

726,574

Three Months Ended

Power

Industrial

Telecom

July 31, 2023

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

105,345

$

32,756

$

3,248

$

$

141,349

Cost of revenues

 

87,094

 

28,076

 

2,437

 

 

117,607

Gross profit

 

18,251

 

4,680

 

811

 

 

23,742

Selling, general and administrative expenses

 

5,596

1,446

727

2,732

 

10,501

Income (loss) from operations

12,655

3,234

84

(2,732)

13,241

Other income (loss), net

 

3,607

 

 

(3)

 

514

 

4,118

Income (loss) before income taxes

$

16,262

$

3,234

$

81

$

(2,218)

 

17,359

Income tax expense

 

4,592

Net income

$

12,767

Amortization of intangibles

$

$

98

$

$

$

98

Depreciation

128

260

99

1

488

Property, plant and equipment additions

148

220

18

386

Current assets

$

319,196

$

45,590

$

4,273

$

86,073

$

455,132

Current liabilities

183,405

28,996

1,717

1,488

215,606

Goodwill

18,476

9,467

90

28,033

Total assets

346,192

63,074

7,264

89,178

505,708

Six Months Ended

Power

Industrial

Telecom

July 31, 2024

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

284,026

$

93,341

$

7,330

$

$

384,697

Cost of revenues

 

249,225

 

81,079

 

5,344

 

 

335,648

Gross profit

 

34,801

 

12,262

 

1,986

 

 

49,049

Selling, general and administrative expenses

 

13,320

3,838

1,279

5,416

23,853

Income (loss) from operations

21,481

8,424

707

(5,416)

25,196

Other income, net

 

8,768

 

1

 

3

 

1,626

 

10,398

Income (loss) before income taxes

$

30,249

$

8,425

$

710

$

(3,790)

 

35,594

Income tax expense

 

9,514

Net income

$

26,080

Amortization of intangibles

$

$

195

$

$

$

195

Depreciation

285

455

201

2

943

Property, plant and equipment additions

2,219

273

179

2,671

Six Months Ended

Power

Industrial

Telecom

July 31, 2023

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

175,521

$

63,063

$

6,440

$

$

245,024

Cost of revenues

 

147,429

 

54,638

 

4,991

 

 

207,058

Gross profit

 

28,092

 

8,425

 

1,449

 

 

37,966

Selling, general and administrative expenses

 

11,310

2,906

1,430

5,446

21,092

Income (loss) from operations

16,782

5,519

19

(5,446)

16,874

Other income (loss), net

 

5,697

 

 

(3)

 

(2,205)

 

3,489

Income (loss) before income taxes

$

22,479

$

5,519

$

16

$

(7,651)

 

20,363

Income tax expense

 

5,487

Net income

$

14,876

Amortization of intangibles

$

$

196

$

$

$

196

Depreciation

256

564

213

2

1,035

Property, plant and equipment additions

537

476

18

1,031

XML 34 R22.htm IDEA: XBRL DOCUMENT v3.24.2.u1
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION
6 Months Ended
Jul. 31, 2024
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION  
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION

NOTE 16 — SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION

Other current assets consisted of the following at July 31, 2024 and January 31, 2024:

    

July 31, 

January 31, 

2024

    

2024

Income tax refunds receivable and prepaid income taxes

$

18,288

$

18,267

Raw materials inventory

8,214

9,985

Prepaid expenses

 

8,268

 

6,035

Other

14,101

4,972

Total other current assets

$

48,871

$

39,259

Accrued expenses consisted of the following at July 31, 2024 and January 31, 2024:

    

July 31, 

January 31, 

2024

    

2024

Accrued project costs

$

30,747

$

49,135

Accrued compensation

18,015

21,206

Lease liabilities

3,696

2,726

Other

9,240

8,654

Total accrued expenses

$

61,698

$

81,721

XML 35 R23.htm IDEA: XBRL DOCUMENT v3.24.2.u1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2024
Jul. 31, 2023
Jul. 31, 2024
Jul. 31, 2023
Pay vs Performance Disclosure        
Net Income (Loss) $ 18,198 $ 12,767 $ 26,080 $ 14,876
XML 36 R24.htm IDEA: XBRL DOCUMENT v3.24.2.u1
Insider Trading Arrangements
3 Months Ended
Jul. 31, 2024
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 37 R25.htm IDEA: XBRL DOCUMENT v3.24.2.u1
DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies)
6 Months Ended
Jul. 31, 2024
DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION  
Description of the Business

Description of the Business

Argan, Inc. (“Argan”) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (“GPS”); The Roberts Company, Inc. (“TRC”); Atlantic Projects Company Limited and affiliates (“APC”) and Southern Maryland Cable, Inc. (“SMC”). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the “Company.”

Through GPS and APC, the Company provides a full range of engineering, procurement, construction, commissioning, maintenance, project development, and technical consulting services to the power generation market. The customers include primarily independent power producers, public utilities, power plant equipment suppliers and other commercial firms with significant power requirements with projects located in the United States (the “U.S.”), the Republic of Ireland (“Ireland”) and the United Kingdom (the “U.K.”). GPS and APC represent the Company’s power industry services reportable segment. Through TRC, the industrial construction services reportable segment provides on-site services that support new plant construction and additions, maintenance turnarounds, shutdowns and emergency mobilizations for industrial operations primarily located in the Southeast region of the U.S. and that may include the fabrication, delivery and installation of steel components such as piping systems and pressure vessels. Through SMC, which conducts business as SMC Infrastructure Solutions, the telecommunications infrastructure services segment provides project management, construction, installation and maintenance services to commercial, local government and federal government customers primarily in the Mid-Atlantic region of the U.S.

Basis of Presentation and Significant Accounting Policies

Basis of Presentation and Significant Accounting Policies

The condensed consolidated financial statements include the accounts of Argan and its wholly-owned subsidiaries. All significant inter-company balances and transactions have been eliminated in consolidation. In Note 15, the Company has provided certain financial information relating to the operating results and assets of its reportable segments based on the manner in which management disaggregates the Company’s financial reporting for purposes of making internal operating decisions.

The Company’s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of July 31, 2024, the condensed consolidated statements of earnings and stockholders’ equity for the three and six months ended July 31, 2024 and 2023, and the condensed consolidated statements of cash flows for the six months ended July 31, 2024 and 2023 are unaudited. The condensed consolidated balance sheet as of January 31, 2024 has been derived from audited consolidated financial statements. These condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”). Certain information and note disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) have been condensed or omitted pursuant to those rules and regulations, although the Company believes that the disclosures made are adequate to make the information not misleading. The accompanying condensed consolidated financial statements and notes should be read in conjunction with the consolidated financial statements, the notes thereto, and the independent registered public accounting firm’s report thereon, that are included in the Company’s Annual Report on Form 10-K for the fiscal year ended January 31, 2024 (“Fiscal 2024”).

In the opinion of management, the accompanying condensed consolidated financial statements contain all adjustments, which are of a normal and recurring nature, considered necessary for a fair statement of the financial position of the Company as of July 31, 2024, and its earnings and cash flows for the interim periods presented. The results of operations for any interim period are not necessarily indicative of the results of operations for any other interim period or for a full fiscal year.

Recently Issued Accounting Pronouncements

Recently Issued Accounting Pronouncements

In November 2023, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures by introducing key amendments to enhance disclosures in public entities’ reportable segments. Notable changes include the mandatory disclosure of significant segment expenses regularly provided to the chief operating decision maker (“CODM”), disclosure of other segment items, and requirements for consistency in reporting measures used by the CODM. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-07 may have on its financial position, results of operations, cash flows, or disclosures, but does not expect to experience significant changes to its financial statements from the implementation of this new standard.

In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which introduces more detailed requirements for annual disclosures for income taxes. The ASU requires public business entities to present specific categories in the income tax rate reconciliation and provide additional information for reconciling items that meet a quantitative threshold. ASU 2023-09 also requires all entities to disclose the amount of income taxes paid, net of refunds received, disaggregated by federal, state, and foreign jurisdiction. The ASU is effective for fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-09 may have on its financial position, results of operations, cash flows, or disclosures.

There are no other recently issued accounting pronouncements that have not yet been adopted that the Company considers material to its condensed consolidated financial statements.

XML 38 R26.htm IDEA: XBRL DOCUMENT v3.24.2.u1
REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables)
6 Months Ended
Jul. 31, 2024
REVENUES FROM CONTRACTS WITH CUSTOMERS  
Schedule of consolidated revenues disaggregated by geographical area

    

Three Months Ended July 31, 

    

Six Months Ended July 31, 

2024

    

2023

2024

    

2023

United States

$

195,249

$

80,281

$

319,580

$

147,800

Republic of Ireland

 

28,167

 

48,075

 

57,058

 

70,656

United Kingdom

 

3,599

 

12,993

 

8,059

 

26,568

Consolidated Revenues

$

227,015

$

141,349

$

384,697

$

245,024

Schedule of revenues recognized contract liabilities

    

Three Months Ended July 31, 

    

Six Months Ended July 31, 

2024

    

2023

2024

    

2023

Revenues recognized from contract liabilities

$

90,874

$

64,735

$

131,229

$

86,958

XML 39 R27.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables)
6 Months Ended
Jul. 31, 2024
CASH, CASH EQUIVALENTS AND INVESTMENTS  
Investments

    

July 31, 

January 31, 

2024

    

2024

Short-term investments

$

69,292

$

109,489

Available-for-sale securities

182,705

105,884

Total investments

$

251,997

$

215,373

Schedule of available-for-sale securities

July 31, 2024

Allowance for

Gross

Gross

Estimated

Amortized

Credit

Unrealized

Unrealized

Fair

    

Cost

    

Losses

    

Gains

    

Losses

    

Value

U.S. Treasury notes:

Due within one year

$

25,200

$

$

3

$

94

$

25,109

Due in one to three years

91,045

449

202

91,292

Due in three to five years

55,502

755

56,257

U.S. corporate debt security:

Due in one to three years

10,046

1

10,047

Totals

$

181,793

$

$

1,208

$

296

$

182,705

January 31, 2024

Allowance for

Gross

Gross

Estimated

Amortized

Credit

Unrealized

Unrealized

Fair

    

Cost

    

Losses

    

Gains

    

Losses

    

Value

U.S. Treasury notes:

Due in one to three years

$

96,217

$

$

568

$

230

$

96,555

U.S. corporate debt security:

Due in one to three years

9,406

77

9,329

Totals

$

105,623

$

$

568

$

307

$

105,884

XML 40 R28.htm IDEA: XBRL DOCUMENT v3.24.2.u1
FAIR VALUE MEASUREMENTS (Tables)
6 Months Ended
Jul. 31, 2024
FAIR VALUE MEASUREMENTS  
Schedule of financial instruments recorded at fair value on a recurring basis

July 31, 2024

January 31, 2024

Level 1

Level 2

Level 3

Level 1

Level 2

Level 3

    

Inputs

    

Inputs

Inputs

    

Inputs

Inputs

    

Inputs

Cash equivalents:

Money market fund

$

144,956

$

$

$

126,646

$

$

Available-for-sale securities:

U.S. Treasury notes

172,658

96,555

U.S. corporate debt security

10,047

9,329

Totals

$

144,956

$

182,705

$

$

126,646

$

105,884

$

XML 41 R29.htm IDEA: XBRL DOCUMENT v3.24.2.u1
INTANGIBLE ASSETS (Tables)
6 Months Ended
Jul. 31, 2024
INTANGIBLE ASSETS  
Schedule of company's purchased intangible assets, other than goodwill

July 31, 2024

January 31, 2024

Estimated

Gross

Accumulated

Net

Gross

Accumulated

Net

    

Useful Life

    

Amounts

    

Amortization

    

Amounts

    

Amounts

    

Amortization

    

Amounts

Trade name

15 years

$

4,499

$

2,599

$

1,900

$

4,499

$

2,450

$

2,049

Customer relationships

10 years

916

794

122

916

748

168

Totals

$

5,415

$

3,393

$

2,022

$

5,415

$

3,198

$

2,217

Schedule of expected amortization expense

    

Amortization

Years Ending January 31,

Expense

2025 (remainder)

    

$

196

2026

 

376

2027

 

300

2028

 

300

2029

300

Thereafter

 

550

Total

$

2,022

XML 42 R30.htm IDEA: XBRL DOCUMENT v3.24.2.u1
STOCK-BASED COMPENSATION (Tables)
6 Months Ended
Jul. 31, 2024
STOCK-BASED COMPENSATION  
Schedule of stock option activity under the Company's stock plans

A summary of stock option activity under the Stock Plans for the six months ended July 31, 2024 is presented below (shares in thousands):

Weighted-

Weighted-

Weighted-

Average

Average

Average Exercise

Remaining

Grant-Date

Price

Contractual

Fair Value

    

Shares

    

Per Share

    

Term (years)

    

Per Share

Outstanding, February 1, 2024

 

1,365

$

44.95

 

4.67

$

10.43

Granted

6

$

61.22

Exercised

(627)

$

41.56

Forfeited

(4)

$

60.07

Outstanding, July 31, 2024

740

$

47.87

 

4.81

$

10.93

Exercisable, July 31, 2024

 

669

$

48.72

4.43

$

11.24

Vested or expected to vest, July 31, 2024

 

740

$

47.87

 

4.81

$

10.93

Schedule of changes in the number of non-vested options to purchase shares of common stock

    

Weighted-

Average

Grant-Date

Fair Value

Shares

    

Per Share

Non-vested, February 1, 2024

 

92

$

7.85

Granted

 

6

$

13.89

Vested

 

(27)

$

8.63

Non-vested, July 31, 2024

 

71

$

8.06

Schedule of changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units

The changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units for the six months ended July 31, 2024, are presented below (shares in thousands):

    

    

Weighted-

Average

Grant-Date

Fair Value

Shares

Per Share

Outstanding, February 1, 2024

 

348

$

30.21

Granted

 

77

$

42.07

Issued

(51)

$

42.14

Forfeited

(62)

$

26.13

Outstanding, July 31, 2024

 

312

$

31.96

XML 43 R31.htm IDEA: XBRL DOCUMENT v3.24.2.u1
INCOME TAXES (Tables)
6 Months Ended
Jul. 31, 2024
INCOME TAXES  
Schedule of actual income tax expense amounts

    

Six Months Ended July 31, 

    

2024

    

2023

Computed expected income tax expense

$

7,475

$

4,276

Difference resulting from:

State income taxes, net of federal tax effect

 

1,186

 

455

Unrecognized tax loss benefit

961

529

Excess executive compensation

404

400

Stock-based compensation windfall

(531)

(126)

Foreign tax rate differential

(240)

(643)

GILTI

505

Tax credits

(453)

Other permanent differences and adjustments, net

259

544

Income tax expense

$

9,514

$

5,487

XML 44 R32.htm IDEA: XBRL DOCUMENT v3.24.2.u1
NET INCOME PER SHARE (Tables)
6 Months Ended
Jul. 31, 2024
NET INCOME PER SHARE  
Schedule of computations of basic and diluted net income per share

Basic and diluted net income per share amounts are computed as follows (shares in thousands except in the notes):

Three Months Ended July 31, 

    

2024

    

2023

Net income

$

18,198

$

12,767

Weighted average number of shares outstanding – basic

13,403

13,403

Effect of stock awards (1)

477

139

Weighted average number of shares outstanding – diluted

13,880

13,542

Net income per share

Basic

$

1.36

$

0.95

Diluted

$

1.31

$

0.94

(1)For the three months ended July 31, 2024 and 2023, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of 74,500 and 785,167 shares of common stock, respectively.

Six Months Ended July 31, 

    

2024

    

2023

Net income

$

26,080

$

14,876

Weighted average number of shares outstanding – basic

13,331

13,408

Effect of stock awards (1)

396

136

Weighted average number of shares outstanding – diluted

13,727

13,544

Net income per share

Basic

$

1.96

$

1.11

Diluted

$

1.90

$

1.10

(1)For the six months ended July 31, 2024 and 2023, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of 209,250 and 818,501 shares of common stock, respectively.
XML 45 R33.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CUSTOMER CONCENTRATIONS (Tables)
6 Months Ended
Jul. 31, 2024
CUSTOMER CONCENTRATIONS  
schedule of the percentage of consolidated revenues

    

Three Months Ended July 31, 

    

Six Months Ended July 31, 

2024

    

2023

2024

    

2023

Power industry services

76.5

%

74.5

%

73.8

%

71.6

%

Industrial construction services

 

21.9

 

23.2

 

24.3

 

25.7

Telecommunications infrastructure services

 

1.6

 

2.3

 

1.9

 

2.7

XML 46 R34.htm IDEA: XBRL DOCUMENT v3.24.2.u1
SEGMENT REPORTING (Tables)
6 Months Ended
Jul. 31, 2024
SEGMENT REPORTING  
Schedule of operating results and financial position data of the Company's reportable business segments

Three Months Ended

Power

Industrial

Telecom

July 31, 2024

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

173,760

$

49,642

$

3,613

$

$

227,015

Cost of revenues

 

150,233

 

43,200

 

2,477

 

 

195,910

Gross profit

 

23,527

 

6,442

 

1,136

 

 

31,105

Selling, general and administrative expenses

7,192

1,965

669

2,602

12,428

Income (loss) from operations

16,335

4,477

467

(2,602)

18,677

Other income, net

 

4,707

 

 

3

 

894

 

5,604

Income (loss) before income taxes

$

21,042

$

4,477

$

470

$

(1,708)

 

24,281

Income tax expense

 

6,083

Net income

$

18,198

Amortization of intangibles

$

$

98

$

$

$

98

Depreciation

148

210

104

1

463

Property, plant and equipment additions

1,947

241

161

2,349

Current assets

$

476,912

$

55,175

$

4,405

$

138,462

$

674,954

Current liabilities

384,477

27,817

1,331

1,502

415,127

Goodwill

18,476

9,467

90

28,033

Total assets

506,365

71,787

7,041

141,381

726,574

Three Months Ended

Power

Industrial

Telecom

July 31, 2023

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

105,345

$

32,756

$

3,248

$

$

141,349

Cost of revenues

 

87,094

 

28,076

 

2,437

 

 

117,607

Gross profit

 

18,251

 

4,680

 

811

 

 

23,742

Selling, general and administrative expenses

 

5,596

1,446

727

2,732

 

10,501

Income (loss) from operations

12,655

3,234

84

(2,732)

13,241

Other income (loss), net

 

3,607

 

 

(3)

 

514

 

4,118

Income (loss) before income taxes

$

16,262

$

3,234

$

81

$

(2,218)

 

17,359

Income tax expense

 

4,592

Net income

$

12,767

Amortization of intangibles

$

$

98

$

$

$

98

Depreciation

128

260

99

1

488

Property, plant and equipment additions

148

220

18

386

Current assets

$

319,196

$

45,590

$

4,273

$

86,073

$

455,132

Current liabilities

183,405

28,996

1,717

1,488

215,606

Goodwill

18,476

9,467

90

28,033

Total assets

346,192

63,074

7,264

89,178

505,708

Six Months Ended

Power

Industrial

Telecom

July 31, 2024

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

284,026

$

93,341

$

7,330

$

$

384,697

Cost of revenues

 

249,225

 

81,079

 

5,344

 

 

335,648

Gross profit

 

34,801

 

12,262

 

1,986

 

 

49,049

Selling, general and administrative expenses

 

13,320

3,838

1,279

5,416

23,853

Income (loss) from operations

21,481

8,424

707

(5,416)

25,196

Other income, net

 

8,768

 

1

 

3

 

1,626

 

10,398

Income (loss) before income taxes

$

30,249

$

8,425

$

710

$

(3,790)

 

35,594

Income tax expense

 

9,514

Net income

$

26,080

Amortization of intangibles

$

$

195

$

$

$

195

Depreciation

285

455

201

2

943

Property, plant and equipment additions

2,219

273

179

2,671

Six Months Ended

Power

Industrial

Telecom

July 31, 2023

    

Services

    

Services

    

Services

    

Other

    

Totals

Revenues

$

175,521

$

63,063

$

6,440

$

$

245,024

Cost of revenues

 

147,429

 

54,638

 

4,991

 

 

207,058

Gross profit

 

28,092

 

8,425

 

1,449

 

 

37,966

Selling, general and administrative expenses

 

11,310

2,906

1,430

5,446

21,092

Income (loss) from operations

16,782

5,519

19

(5,446)

16,874

Other income (loss), net

 

5,697

 

 

(3)

 

(2,205)

 

3,489

Income (loss) before income taxes

$

22,479

$

5,519

$

16

$

(7,651)

 

20,363

Income tax expense

 

5,487

Net income

$

14,876

Amortization of intangibles

$

$

196

$

$

$

196

Depreciation

256

564

213

2

1,035

Property, plant and equipment additions

537

476

18

1,031

XML 47 R35.htm IDEA: XBRL DOCUMENT v3.24.2.u1
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables)
6 Months Ended
Jul. 31, 2024
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION  
Schedule of other current assets

    

July 31, 

January 31, 

2024

    

2024

Income tax refunds receivable and prepaid income taxes

$

18,288

$

18,267

Raw materials inventory

8,214

9,985

Prepaid expenses

 

8,268

 

6,035

Other

14,101

4,972

Total other current assets

$

48,871

$

39,259

Schedule of accrued expenses

    

July 31, 

January 31, 

2024

    

2024

Accrued project costs

$

30,747

$

49,135

Accrued compensation

18,015

21,206

Lease liabilities

3,696

2,726

Other

9,240

8,654

Total accrued expenses

$

61,698

$

81,721

XML 48 R36.htm IDEA: XBRL DOCUMENT v3.24.2.u1
REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2024
Jul. 31, 2023
Jul. 31, 2024
Jul. 31, 2023
Disaggregation of Revenues        
Consolidated Revenues $ 227,015 $ 141,349 $ 384,697 $ 245,024
United States        
Disaggregation of Revenues        
Consolidated Revenues 195,249 80,281 319,580 147,800
Republic of Ireland        
Disaggregation of Revenues        
Consolidated Revenues 28,167 48,075 57,058 70,656
United Kingdom        
Disaggregation of Revenues        
Consolidated Revenues $ 3,599 $ 12,993 $ 8,059 $ 26,568
XML 49 R37.htm IDEA: XBRL DOCUMENT v3.24.2.u1
REVENUES FROM CONTRACTS WITH CUSTOMERS - Contract Termination (Details) - USD ($)
$ in Thousands
6 Months Ended
May 04, 2024
May 03, 2024
Jul. 31, 2024
Jan. 31, 2024
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction        
Contract assets     $ 46,086 $ 48,189
Atlantic Projects Company Limited        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction        
Amounts drawn against this letter of credit. $ 9,200      
Kilroot Project | Atlantic Projects Company Limited        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction        
Estimated loss     12,800  
Estimated loss, including reversal of net gross profit     $ 2,800  
Termination period   14 days    
XML 50 R38.htm IDEA: XBRL DOCUMENT v3.24.2.u1
REVENUES FROM CONTRACTS WITH CUSTOMERS - Contract Assets and Liabilities (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2024
Jul. 31, 2023
Jul. 31, 2024
Jul. 31, 2023
Jan. 31, 2024
REVENUES FROM CONTRACTS WITH CUSTOMERS          
Revenues recognized from contract liabilities $ 90,874 $ 64,735 $ 131,229 $ 86,958  
Retained amounts by project owners $ 19,000   $ 19,000   $ 21,200
XML 51 R39.htm IDEA: XBRL DOCUMENT v3.24.2.u1
REVENUES FROM CONTRACTS WITH CUSTOMERS - Variable Consideration (Details) - USD ($)
$ in Millions
Jul. 31, 2024
Jan. 31, 2024
REVENUES FROM CONTRACTS WITH CUSTOMERS    
Amounts of unpriced change orders included in transaction prices 11.7 8.4
XML 52 R40.htm IDEA: XBRL DOCUMENT v3.24.2.u1
REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details) - Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-08-01
$ in Billions
Jul. 31, 2024
USD ($)
REVENUES FROM CONTRACTS WITH CUSTOMERS  
Contract backlog amount $ 1.0
Performance period 3 years
Contract backlog (as percent) 42.00%
Minimum  
REVENUES FROM CONTRACTS WITH CUSTOMERS  
Performance period 1 year
Maximum  
REVENUES FROM CONTRACTS WITH CUSTOMERS  
Performance period 3 years
XML 53 R41.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CASH, CASH EQUIVALENTS AND INVESTMENTS (Details) - USD ($)
$ in Millions
6 Months Ended
Jul. 31, 2024
Jan. 31, 2024
Cash and Cash Equivalents    
Accrued dividends $ 0.6 $ 0.7
Accrued interest $ 1.6 $ 1.3
Held-to-maturity Securities    
Cash and Cash Equivalents    
Maturity period 1 year  
Weighted average annual interest rates of CDs (as a percent) 5.40% 5.40%
Accrued interest $ 1.8 $ 4.5
XML 54 R42.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details) - USD ($)
$ in Thousands
Jul. 31, 2024
Jan. 31, 2024
CASH, CASH EQUIVALENTS AND INVESTMENTS    
Short-term investments $ 69,292 $ 109,489
Available-for-sale securities 182,705 105,884
Total investments $ 251,997 $ 215,373
XML 55 R43.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2024
Jul. 31, 2023
Jul. 31, 2024
Jul. 31, 2023
Jan. 31, 2024
Cash and Cash Equivalents          
Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current, Statement of Financial Position [Extensible Enumeration] Investments   Investments    
Proceeds from sale of debt securities, available-for-sale $ 0 $ 0 $ 0 $ 0  
Amounts of gains or losses reclassified out of other comprehensive income 0 $ 0 0 $ 0  
Available-for-sale securities          
Amortized Cost 181,793   181,793   $ 105,623
Gross Unrealized Gains 1,208   1,208   568
Gross Unrealized Losses 296   296   307
Fair Value 182,705   182,705   105,884
US Treasury notes          
Available-for-sale securities          
Amortized cost, Due within one year 25,200   25,200    
Amortized cost, Due in one to three years 91,045   91,045   96,217
Amortized Cost, Due in three to five years 55,502   55,502    
Gross Unrealized Gains, Due within one year 3   3    
Gross Unrealized Gains, Due in one to three years 449   449   568
Gross Unrealized Gains, Due in three to five years 755   755    
Gross Unrealized Losses, Due within one year 94   94    
Gross Unrealized Losses, Due in one to three years 202   202   230
Fair Value, Due in within one year 25,109   25,109    
Fair Value, Due in one to three years 91,292   91,292   96,555
Fair Value, Due in three to five years 56,257   56,257    
U.S. corporate debt security          
Available-for-sale securities          
Amortized cost, Due in one to three years 10,046   10,046   9,406
Gross Unrealized Gains, Due in one to three years 1   1    
Gross Unrealized Losses, Due in one to three years         77
Fair Value, Due in one to three years $ 10,047   $ 10,047   $ 9,329
XML 56 R44.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CASH, CASH EQUIVALENTS AND INVESTMENTS - Earnings on Investments (Details) - USD ($)
$ in Millions
3 Months Ended 6 Months Ended
Jul. 31, 2024
Jul. 31, 2023
Jul. 31, 2024
Jul. 31, 2023
CASH, CASH EQUIVALENTS AND INVESTMENTS        
Earnings on investments $ 4.8 $ 3.3 $ 9.3 $ 5.7
XML 57 R45.htm IDEA: XBRL DOCUMENT v3.24.2.u1
FAIR VALUE MEASUREMENTS - Financial Instruments on a Recurring Basis (Details) - USD ($)
$ in Thousands
Jul. 31, 2024
Jan. 31, 2024
Fair value of assets and liabilities measured on recurring and nonrecurring basis    
Available-for-sale securities $ 182,705 $ 105,884
Level 1 Inputs | Fair value, recurring    
Fair value of assets and liabilities measured on recurring and nonrecurring basis    
Totals 144,956 126,646
Level 1 Inputs | Fair value, recurring | Money market funds    
Fair value of assets and liabilities measured on recurring and nonrecurring basis    
Cash equivalents 144,956 126,646
Level 2 Inputs | Fair value, recurring    
Fair value of assets and liabilities measured on recurring and nonrecurring basis    
Totals 182,705 105,884
Level 2 Inputs | Fair value, recurring | U.S. Treasury notes    
Fair value of assets and liabilities measured on recurring and nonrecurring basis    
Available-for-sale securities 172,658 96,555
Level 2 Inputs | Fair value, recurring | U.S. corporate debt security    
Fair value of assets and liabilities measured on recurring and nonrecurring basis    
Available-for-sale securities $ 10,047 $ 9,329
XML 58 R46.htm IDEA: XBRL DOCUMENT v3.24.2.u1
ACCOUNTS RECEIVABLE (Details) - USD ($)
$ in Millions
6 Months Ended
Jul. 31, 2024
Jan. 31, 2024
ACCOUNTS AND NOTES RECEIVABLE    
Provision for credit losses $ 0.5  
Allowance for uncollectible accounts 2.3 $ 1.8
Kilroot Project    
ACCOUNTS AND NOTES RECEIVABLE    
Disputed billable amount $ 23.9  
XML 59 R47.htm IDEA: XBRL DOCUMENT v3.24.2.u1
INTANGIBLE ASSETS - Additional Information (Details) - USD ($)
$ in Thousands
Jul. 31, 2024
Jan. 31, 2024
Jul. 31, 2023
Indefinite-Lived Intangible Assets      
Goodwill $ 28,033 $ 28,033 $ 28,033
GPS.      
Indefinite-Lived Intangible Assets      
Goodwill 18,500 9,500  
TRC.      
Indefinite-Lived Intangible Assets      
Goodwill $ 18,500 $ 9,500  
XML 60 R48.htm IDEA: XBRL DOCUMENT v3.24.2.u1
INTANGIBLE ASSETS - Components of Intangible Assets (Details) - USD ($)
$ in Thousands
Jul. 31, 2024
Jan. 31, 2024
Finite-Lived Intangible Assets [Line Items]    
Gross Amounts $ 5,415 $ 5,415
Accumulated Amortization 3,393 3,198
Net Amounts $ 2,022 2,217
Trade name    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life (in years) 15 years  
Gross Amounts $ 4,499 4,499
Accumulated Amortization 2,599 2,450
Net Amounts $ 1,900 2,049
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life (in years) 10 years  
Gross Amounts $ 916 916
Accumulated Amortization 794 748
Net Amounts $ 122 $ 168
XML 61 R49.htm IDEA: XBRL DOCUMENT v3.24.2.u1
INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details) - USD ($)
$ in Thousands
Jul. 31, 2024
Jan. 31, 2024
INTANGIBLE ASSETS    
2025 (remainder) $ 196  
2026 376  
2027 300  
2028 300  
2029 300  
Thereafter 550  
Net Amounts $ 2,022 $ 2,217
XML 62 R50.htm IDEA: XBRL DOCUMENT v3.24.2.u1
FINANCING ARRANGEMENTS (Details) - Revolving Credit Facility - USD ($)
$ in Millions
May 24, 2024
May 15, 2017
Jul. 31, 2024
May 31, 2024
Financing Arrangements        
Borrowing available under financing arrangements       $ 25.0
Letters of credit outstanding amount     $ 0.0  
Expires on May 31, 2024        
Financing Arrangements        
Borrowing available under financing arrangements   $ 50.0    
Additional commitment amount   $ 10.0    
Expires on May 31, 2027        
Financing Arrangements        
Borrowing available under financing arrangements $ 35.0      
Interest rate margin on referred rate 1.85%      
Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration] us-gaap:SecuredOvernightFinancingRateSofrMember      
Additional commitment amount $ 30.0      
XML 63 R51.htm IDEA: XBRL DOCUMENT v3.24.2.u1
COMMITMENTS - Performance Bonds and Guarantees (Details)
$ in Millions
Jul. 31, 2024
USD ($)
Unsatisfied bonded performance obligations $ 300.0
Outstanding amount of bonds covering other risks including warranty obligations 19.9
GPS | Financial guarantee  
Guarantor obligation maximum exposure $ 3.6
XML 64 R52.htm IDEA: XBRL DOCUMENT v3.24.2.u1
COMMITMENTS - Warranties (Details)
6 Months Ended
Jul. 31, 2024
Minimum  
Warranty period P9M
Maximum  
Warranty period P24M
XML 65 R53.htm IDEA: XBRL DOCUMENT v3.24.2.u1
STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details) - $ / shares
shares in Thousands
6 Months Ended 12 Months Ended
Jul. 31, 2024
Jan. 31, 2024
STOCK-BASED COMPENSATION    
Shares, Outstanding, Beginning balance 1,365  
Shares, Granted 6  
Shares, Exercised (627)  
Shares, Forfeited (4)  
Shares, Outstanding, Ending balance 740 1,365
Shares, Exercisable 669  
Shares, Vested or expected to vest 740  
Weighted Average Exercise Price Per Share, Outstanding, Beginning balance $ 44.95  
Weighted Average Exercise Price Per Share, Granted 61.22  
Weighted Average Exercise Price Per Share, Exercised 41.56  
Weighted Average Exercise Price Per Share, Forfeited 60.07  
Weighted Average Exercise Price Per Share, Outstanding, Ending balance 47.87 $ 44.95
Weighted Average Exercise Price Per Share, Exercisable 48.72  
Weighted Average Exercise Price Per Share, Vested or expected to vest $ 47.87  
Weighted Average Remaining Contractual Term (Years), Outstanding 4 years 9 months 21 days 4 years 8 months 1 day
Weighted Average Remaining Contractual Term (Years), Exercisable 4 years 5 months 4 days  
Weighted Average Remaining Contractual Term (Years), Vested or expected to vest 4 years 9 months 21 days  
Weighted Average Grant Date Fair Value Per Share, Outstanding $ 10.93 $ 10.43
Weighted Average Grant Date Fair Value Per Share, Exercisable 11.24  
Weighted Average Grant Date Fair Value Per Share, Vested or expected to vest $ 10.93  
XML 66 R54.htm IDEA: XBRL DOCUMENT v3.24.2.u1
STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details)
shares in Thousands
6 Months Ended
Jul. 31, 2024
$ / shares
shares
STOCK-BASED COMPENSATION  
Shares, Non-vested, Beginning balance | shares 92
Shares, Granted | shares 6
Shares, Vested | shares (27)
Shares, Non-vested, Ending balance | shares 71
Weighted Average Grant Date Fair Value Per Share, Non-vested, Beginning balance | $ / shares $ 7.85
Weighted Average Grant Date Fair Value Per Share, Granted | $ / shares 13.89
Weighted Average Grant Date Fair Value Per Share, Vested | $ / shares 8.63
Weighted Average Grant Date Fair Value Per Share, Non-vested, Ending balance | $ / shares $ 8.06
XML 67 R55.htm IDEA: XBRL DOCUMENT v3.24.2.u1
STOCK-BASED COMPENSATION - Summary of changes in the maximum number of shares of common stock (Details) - Restricted Stock Units
shares in Thousands
6 Months Ended
Jul. 31, 2024
$ / shares
shares
Shares  
Outstanding, Beginning balance (in shares) | shares 348
Granted (in shares) | shares 77
Issued (in shares) | shares (51)
Forfeited (in shares) | shares (62)
Outstanding, Ending balance (in shares) | shares 312
Weighted Average Grant Date Fair Value Per Share  
Outstanding, Beginning balance Fair value (Per share) | $ / shares $ 30.21
Granted, Fair value (Per share) | $ / shares 42.07
Issued, Fair value (Per share) | $ / shares 42.14
Forfeited, Fair value (Per share) | $ / shares 26.13
Outstanding, Ending balance Fair value (Per share) | $ / shares $ 31.96
XML 68 R56.htm IDEA: XBRL DOCUMENT v3.24.2.u1
STOCK-BASED COMPENSATION - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2024
Jul. 31, 2023
Jul. 31, 2024
Jul. 31, 2023
Share-based Compensation Arrangement by Share-based Payment Award        
Stock compensation expense $ 1,000 $ 1,200 $ 2,215 $ 2,218
Unrecognized compensation cost 6,800   $ 6,800  
Compensation expense recognize, period     3 years  
Intrinsic value of the stock options exercised     $ 17,100 $ 900
Intrinsic value of outstanding stock options 23,000   23,000  
Intrinsic value of exercisable stock options $ 20,200   $ 20,200  
Cash dividends deemed paid on shares     2,738  
Stock Plans        
Share-based Compensation Arrangement by Share-based Payment Award        
Number of shares of common stock reserved for issuance 1,540,667   1,540,667  
Number of shares of common stock available for award 488,799   488,799  
Performance-based restricted stock units        
Share-based Compensation Arrangement by Share-based Payment Award        
The number of shares issuable under restricted stock units awarded during the period 5,000   5,000  
Earnings per share performance-based restricted stock units        
Share-based Compensation Arrangement by Share-based Payment Award        
The number of shares issuable under restricted stock units awarded during the period 10,000   10,000  
Restricted Stock Units        
Share-based Compensation Arrangement by Share-based Payment Award        
Incentive stock option award maximum expiration period     3 years  
Renewable energy performance-based restricted stock units        
Share-based Compensation Arrangement by Share-based Payment Award        
The number of shares issuable under restricted stock units awarded during the period 5,000   5,000  
Time-based restricted stock units        
Share-based Compensation Arrangement by Share-based Payment Award        
The number of shares issuable under restricted stock units awarded during the period 39,050   39,050  
XML 69 R57.htm IDEA: XBRL DOCUMENT v3.24.2.u1
INCOME TAXES - Income Tax Expense Reconciliation (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2024
Jul. 31, 2023
Jul. 31, 2024
Jul. 31, 2023
INCOME TAXES        
Federal corporate income tax rate (as percent)     21.00% 21.00%
Computed expected income tax expense     $ 7,475 $ 4,276
State income taxes, net of federal tax effect     1,186 455
Unrecognized tax loss benefit     961 529
Excess executive compensation     404 400
Stock-based compensation windfall     (531) (126)
Foreign tax rate differential     (240) (643)
GILTI       505
Tax credits       (453)
Other permanent differences and adjustments, net     259 544
Income tax expense $ 6,083 $ 4,592 $ 9,514 $ 5,487
XML 70 R58.htm IDEA: XBRL DOCUMENT v3.24.2.u1
INCOME TAXES - Net Operating Loss Carryback (Details)
$ in Millions
Jan. 31, 2021
USD ($)
INCOME TAXES  
Income tax receivable $ 12.7
XML 71 R59.htm IDEA: XBRL DOCUMENT v3.24.2.u1
INCOME TAXES - Research and Development Tax Credits (Details) - USD ($)
$ in Thousands
6 Months Ended
Jul. 31, 2024
Jan. 31, 2024
INCOME TAXES    
Federal research and development tax credits $ 5,800  
Development tax credit 2,400  
Income tax refunds and prepaid income taxes $ 18,288 $ 18,267
XML 72 R60.htm IDEA: XBRL DOCUMENT v3.24.2.u1
INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details) - USD ($)
$ in Thousands
6 Months Ended
Jul. 31, 2024
Jan. 31, 2024
INCOME TAXES    
Payment for equity method investment $ 3,312  
Remaining cash investment commitments 0  
Investment account balances 1,200 $ 2,100
Amortization related to STC investment $ 700  
XML 73 R61.htm IDEA: XBRL DOCUMENT v3.24.2.u1
NET INCOME PER SHARE (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2024
Jul. 31, 2023
Jul. 31, 2024
Jul. 31, 2023
NET INCOME PER SHARE        
Net income $ 18,198 $ 12,767 $ 26,080 $ 14,876
Weighted average number of shares outstanding - basic 13,403 13,403 13,331 13,408
Effects of stock awards 477 139 396 136
Weighted average number of shares outstanding - diluted 13,880 13,542 13,727 13,544
Basic (in dollars per share) $ 1.36 $ 0.95 $ 1.96 $ 1.11
Diluted (in dollars per share) $ 1.31 $ 0.94 $ 1.90 $ 1.10
XML 74 R62.htm IDEA: XBRL DOCUMENT v3.24.2.u1
NET INCOME PER SHARE - Additional information (Details) - shares
3 Months Ended 6 Months Ended
Jul. 31, 2024
Jul. 31, 2023
Jul. 31, 2024
Jul. 31, 2023
NET INCOME PER SHARE        
Antidilutive common stock 74,500 785,167 209,250 818,501
XML 75 R63.htm IDEA: XBRL DOCUMENT v3.24.2.u1
STOCKHOLDERS' EQUITY (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2024
Apr. 30, 2024
Jul. 31, 2023
Apr. 30, 2023
Jul. 31, 2024
Jul. 31, 2023
Share repurchases            
Regular cash dividend declared per common stock $ 0.30   $ 0.25   $ 0.60 $ 0.50
Common stock repurchases (in shares)         5,600 169,788
Common stock repurchased     $ 3,057   $ 187 $ 6,738
Common stock repurchased         $ 300  
Share price 44.87   $ 39.45   $ 44.87 $ 39.45
Shares paid for tax withholding for share based compensation         417,431  
Share-based payment         $ 68.04  
Treasury stock to settle stock option exercises and other share-based awards         260,630 81,851
Q1 dividend            
Share repurchases            
Regular cash dividend declared per common stock   $ 0.30        
Dividend declared payment date   Apr. 22, 2024        
Q2 dividend            
Share repurchases            
Regular cash dividend declared per common stock $ 0.30          
Dividend declared payment date Jul. 31, 2024          
Q3 dividend            
Share repurchases            
Regular cash dividend declared per common stock       $ 0.25    
Dividend declared payment date       Apr. 28, 2023    
Q4 dividend            
Share repurchases            
Regular cash dividend declared per common stock     $ 0.25      
Dividend declared payment date     Jul. 31, 2023      
XML 76 R64.htm IDEA: XBRL DOCUMENT v3.24.2.u1
CUSTOMER CONCENTRATIONS (Details) - customer
3 Months Ended 6 Months Ended 12 Months Ended
Jul. 31, 2024
Jul. 31, 2023
Jul. 31, 2024
Jul. 31, 2023
Jan. 31, 2024
Customer Concentration Risk | Accounts Receivable          
Customer Concentrations          
Number of customers     3   3
Customer Concentration Risk | Contract Asset          
Customer Concentrations          
Number of customers     5   2
Customer Concentration Risk | Major Customer One | Accounts Receivable          
Customer Concentrations          
Percentage of major customers or segments     25.00%   16.00%
Customer Concentration Risk | Major Customer One | Contract Asset          
Customer Concentrations          
Percentage of major customers or segments     16.00%   39.00%
Customer Concentration Risk | Major Customer Two | Accounts Receivable          
Customer Concentrations          
Percentage of major customers or segments     21.00%   14.00%
Customer Concentration Risk | Major Customer Two | Contract Asset          
Customer Concentrations          
Percentage of major customers or segments     16.00%   32.00%
Customer Concentration Risk | Major Customer Three | Accounts Receivable          
Customer Concentrations          
Percentage of major customers or segments     13.00%   14.00%
Customer Concentration Risk | Major Customer Three | Contract Asset          
Customer Concentrations          
Percentage of major customers or segments     13.00%    
Customer Concentration Risk | Major Customer Four | Contract Asset          
Customer Concentrations          
Percentage of major customers or segments     11.00%    
Customer Concentration Risk | Major Customer Five | Contract Asset          
Customer Concentrations          
Percentage of major customers or segments     11.00%    
Power Industry Services | Product Concentration Risk | Revenue          
Customer Concentrations          
Percentage of major customers or segments 76.50% 74.50% 73.80% 71.60%  
Power Industry Services | Customer Concentration Risk | Revenue          
Customer Concentrations          
Number of customers 3 3 3 3  
Power Industry Services | Customer Concentration Risk | Major Customer One | Revenue          
Customer Concentrations          
Percentage of major customers or segments 27.00% 21.00% 28.00% 19.00%  
Power Industry Services | Customer Concentration Risk | Major Customer Two | Revenue          
Customer Concentrations          
Percentage of major customers or segments 14.00% 20.00% 13.00% 17.00%  
Power Industry Services | Customer Concentration Risk | Major Customer Three | Revenue          
Customer Concentrations          
Percentage of major customers or segments 12.00% 12.00% 10.00% 11.00%  
Industrial Construction Services | Product Concentration Risk | Revenue          
Customer Concentrations          
Percentage of major customers or segments 21.90% 23.20% 24.30% 25.70%  
Industrial Construction Services | Customer Concentration Risk | Major Customer One          
Customer Concentrations          
Number of customers       1  
Industrial Construction Services | Customer Concentration Risk | Major Customer One | Revenue          
Customer Concentrations          
Percentage of major customers or segments       11.00%  
Telecommunication Infrastructure Services | Product Concentration Risk | Revenue          
Customer Concentrations          
Percentage of major customers or segments 1.60% 2.30% 1.90% 2.70%  
XML 77 R65.htm IDEA: XBRL DOCUMENT v3.24.2.u1
SEGMENT REPORTING (Details)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 31, 2024
USD ($)
Jul. 31, 2023
USD ($)
Jul. 31, 2024
USD ($)
segment
Jul. 31, 2023
USD ($)
Jan. 31, 2024
USD ($)
Segment Reporting Information          
Operating segment | segment     1    
Revenues $ 227,015 $ 141,349 $ 384,697 $ 245,024  
Cost of revenues 195,910 117,607 335,648 207,058  
Gross profit 31,105 23,742 49,049 37,966  
Selling, general and administrative expenses 12,428 10,501 23,853 21,092  
Income (loss) from operations 18,677 13,241 25,196 16,874  
Other income (loss), net 5,604 4,118 10,398 3,489  
Income (loss) before income taxes 24,281 17,359 35,594 20,363  
Income tax expense 6,083 4,592 9,514 5,487  
Net income 18,198 12,767 26,080 14,876  
Amortization of intangibles 98 98 195 196  
Depreciation 463 488 943 1,035  
Property, plant and equipment additions 2,349 386 2,671 1,031  
Current assets 674,954 455,132 674,954 455,132 $ 547,179
Current liabilities 415,127 215,606 415,127 215,606 302,260
Goodwill 28,033 28,033 28,033 28,033 28,033
Total assets 726,574 505,708 726,574 505,708 $ 598,229
Intercompany Eliminations          
Segment Reporting Information          
Revenues 1,400   1,400    
Corporate, Non-Segment [Member]          
Segment Reporting Information          
Selling, general and administrative expenses 2,602 2,732 5,416 5,446  
Income (loss) from operations (2,602) (2,732) (5,416) (5,446)  
Other income (loss), net 894 514 1,626 (2,205)  
Income (loss) before income taxes (1,708) (2,218) (3,790) (7,651)  
Depreciation 1 1 2 2  
Current assets 138,462 86,073 138,462 86,073  
Current liabilities 1,502 1,488 1,502 1,488  
Total assets 141,381 89,178 141,381 89,178  
Power Industry Services | Operating Segments          
Segment Reporting Information          
Revenues 173,760 105,345 284,026 175,521  
Cost of revenues 150,233 87,094 249,225 147,429  
Gross profit 23,527 18,251 34,801 28,092  
Selling, general and administrative expenses 7,192 5,596 13,320 11,310  
Income (loss) from operations 16,335 12,655 21,481 16,782  
Other income (loss), net 4,707 3,607 8,768 5,697  
Income (loss) before income taxes 21,042 16,262 30,249 22,479  
Depreciation 148 128 285 256  
Property, plant and equipment additions 1,947 148 2,219 537  
Current assets 476,912 319,196 476,912 319,196  
Current liabilities 384,477 183,405 384,477 183,405  
Goodwill 18,476 18,476 18,476 18,476  
Total assets 506,365 346,192 506,365 346,192  
Industrial Construction Services | Operating Segments          
Segment Reporting Information          
Revenues 49,642 32,756 93,341 63,063  
Cost of revenues 43,200 28,076 81,079 54,638  
Gross profit 6,442 4,680 12,262 8,425  
Selling, general and administrative expenses 1,965 1,446 3,838 2,906  
Income (loss) from operations 4,477 3,234 8,424 5,519  
Other income (loss), net     1    
Income (loss) before income taxes 4,477 3,234 8,425 5,519  
Amortization of intangibles 98 98 195 196  
Depreciation 210 260 455 564  
Property, plant and equipment additions 241 220 273 476  
Current assets 55,175 45,590 55,175 45,590  
Current liabilities 27,817 28,996 27,817 28,996  
Goodwill 9,467 9,467 9,467 9,467  
Total assets 71,787 63,074 71,787 63,074  
Telecommunications Infrastructure Services | Operating Segments          
Segment Reporting Information          
Revenues 3,613 3,248 7,330 6,440  
Cost of revenues 2,477 2,437 5,344 4,991  
Gross profit 1,136 811 1,986 1,449  
Selling, general and administrative expenses 669 727 1,279 1,430  
Income (loss) from operations 467 84 707 19  
Other income (loss), net 3 (3) 3 (3)  
Income (loss) before income taxes 470 81 710 16  
Depreciation 104 99 201 213  
Property, plant and equipment additions 161 18 179 18  
Current assets 4,405 4,273 4,405 4,273  
Current liabilities 1,331 1,717 1,331 1,717  
Goodwill 90 90 90 90  
Total assets $ 7,041 $ 7,264 $ 7,041 $ 7,264  
XML 78 R66.htm IDEA: XBRL DOCUMENT v3.24.2.u1
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details) - USD ($)
$ in Thousands
Jul. 31, 2024
Jan. 31, 2024
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION    
Income tax refunds receivable and prepaid income taxes $ 18,288 $ 18,267
Raw materials inventory 8,214 9,985
Prepaid expenses 8,268 6,035
Other 14,101 4,972
Total other current assets $ 48,871 $ 39,259
XML 79 R67.htm IDEA: XBRL DOCUMENT v3.24.2.u1
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details) - USD ($)
$ in Thousands
Jul. 31, 2024
Jan. 31, 2024
SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION    
Accrued project costs $ 30,747 $ 49,135
Accrued compensation 18,015 21,206
Lease liabilities 3,696 2,726
Other 9,240 8,654
Total accrued expenses $ 61,698 $ 81,721
EXCEL 80 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( +2#)5D'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " "T@R59&T0>C.\ K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M:L,P#(=?9?B>R'&W0DV:2\M.&PQ6V-C-V&IK&O_!UDCZ]DNR-F5L#["CI9\_ M?0+5.DH=$KZD$#&1Q7S7N]9GJ>.:'8FB!,CZB$[EF3 M.B (SI?@D)11I& $%G$FLJ8V6NJ$BD*ZX(V>\?$SM1/,:, 6'7K*4)45L&:< M&,]]6\,-,,((D\O?!30S<:K^B9TZP"[)/MLYU75=V2VFW+!#!>_/3Z_3NH7U MF937./S*5M(YXII=)[\M-MO=(VL$%_<%7Q7\82>X%"LIEA^CZP^_F[ +QN[M M/S:^"C8U_+J+Y@M02P,$% @ M(,E69E&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" "T@R59600OEL(% #<'@ & 'AL+W=OMD)M%Z_Z_52+Q Q3T_E M6B1P9RE5S#67G?,.\<629Y&^E]M?Q,[0P.AY,DKS M7[(MGNWW.\3+4BWC73"4( Z3XI\_[2KB18#KU 2P70![$T#KWN#N MS<:%&R MW-8UUWQ\H>26*/,TJ)F#O&[R:' 3)B:-"ZW@;@AQ>GPMO0RRH@E/?'*3Z% _ MDUE2- ]3S5V2!ER)]**GX6TFIN?ME*\*95:C/"0?9:*#%%1]X;^.[T$IRZ*R M?5&O&"KX:Q:=$I>>$.:POJ4\4SQ\DJT@W+&%ORJ.6]:^*R STR%6HC.N,?OJ-#YV>;VV\D]LI[O_3>Q]0K[P_/:V%S MBH=3I_O99@F-:FEI4%H:'&;I<\:5%BIZ)O=B+96VV<.EM,ILE3)%HUK:&Y;V MAH?9FPL52M-@?0(#AC5YN%+9#6O[(1K?TN=9Z?/LP):I.,PU^1A6GT=<:\FC MU)I(-*REP?/2X#E:J-U(9S MQ0E9:.B+1"HRE5FBU3/\^U;?#>K7-S;'>%!;RR\0@QYB^8$_D9D/?3-^#^KIR?Z ?(#GR*?$GE=<$J+( M-,B4%T!340![T&2R$)H,,_-3 U9]"Z'^36"D8-S)+9LXUK?KRV&CT&'M&*CRA.-6^- MSF6J>43^#M?U@Q6NR)SS@6-U>@Q2HA4J49QP\M8Z@8_B>F.X@%O3*8\!1K0B M(XKCS ?I0;[F@4PPF@ZSCLS.KO&%Q$*S"B.-4\A!J82"X)93\^_D06 MPLL49-)J$E>:RCB&V6FA8=PY(=\[IW1 UER1#8_L9(_KM75>41/%<0=8UP^3 M%5D\QX\RLAINX*7W?UEM'0.56(5*#(>9?0;)S9,7\&0E:FFP0>CNR\+*17A8 M6W\5%[&#N&B:*66^6(K/E#R/,(=DUB67!L4OUH6:*1[5UF?%0^P@'IHE\%E= M+-N93T^^-V[UB2O6^3P&];"*>MA!U&,^S0#D 0-64EF'GP:=B><)D !OQ"S M>CT&]K *>]A!V+.(>121JRR%VZF]Q>(ZM=_8>%Q;?Q7ML(-HYR86:F6ZY'M0 MT $ 0;SFB3VIN&"]T6/ #JM@A^&LLD]D(""1F#U,:"'5=##<%[9C[&O M9O1%OJ1-/F4:$#8Q4Z?5\3?"F5T]%&J#7,ULKFS@([8_&@T- F]L'BOP80+/$%T_D-V%/8]/*D.-0QQF,K "+![?-984Y#*>4%T>5/0R\M(BMU3;(=;OY4I]U_^ 8\.-6 M\./BJ/(VF;MUZ=IT-LA]9E:/QP ?MP(?%\>4"1CT"Y,1MXXQ#0*UHRH>]W^- M]5[L'YH)+]]638EGUB*+K<3R:KEU.\DW+'O5X\6^[T=NYLN41&()H<[I&0QX MJMA*+4ZT7.>[D8]2:QGGAX'@OE#F ;B_E%+O3\P+R@WM\;]02P,$% @ MM(,E68RO-=U7!@ 1QP !@ !X;"]W;W)KY*6? C8G'OD1U;G-YHLV7^K%FZ]WQC'BZ4H;K2[G76T8"$3C^N'7%ZU]RRS>,52'F(K9*S_XC@HISUGVH[@8S*Y:1O%$+&%345!$\N.%]5F2%$SR.?[> MD;;V;1:!A]_?V6]*\5+,<\19/TN^QS.QO&IY+31C\VB3B''V>L=V@NR";YHE MO/R/7G=8HX6F&RZRU2Y8/L$J3K>?T=LN$04%6K(57\KLE]$R7W%:=)10Y/+76,:) M;G\T#.@PI &2W\+1'X.@-Y$7X41^W-/A)$2C&T1[X^%@>!NB<_08!NCKEV^( M+Z.<<12G:++,-CQ*9_P,?3FZ[K2%?,"BF?9T]S#7VX'=,G.GRD8/JWD4X96:P?+UU"7 /;G?;+86)U&+:P M:?G'L$"'F9[E^.XQC *-6G;9G5\ F?9>IMTHLY]Q@;*Y7*E>6+IAX%2S9; / M=?BVCPU%+@##KF,H.@(=9IJV8WF*7!U&#->P/5BNLY?K-,J]'8_"$#V,1S># M"235T1\.8T,MK(XBIFL11:B.LGQ#K3X%6G1]QX%ENGN9;J/,4-J%.%V26$0I41] &;:!E33H*&)ZMJFD M 4!APR=P&KQ]&KS&- R&_=$]13?CT3T:/=!Q;S*0\RTDV-.E>(ZK=-T^@#*) MI0K64<3&OJ,(!K@L-\H>"26+)?689JMV!E*F8"T^EK+MF-8BE0= M9&&L=(! !V'#]-61K*-,R_-AH=BHW);QD=I>TYO1F*+=U:3W)SQC[\B.BB([ MM%*Z/@##KFFK,S8 ,VW;5W)(H48-TS%KI!\83=PLO:PO$M';^R &)6.M=BNVX2)4QQ,W.4&ZKY:8YE7O*/&?I]">2*VK*DVB[79_] M);>:HCB)GA-V/L_R1]\=^):KK4@ #'N^ MMB+I, *M2 ";)1?V&M&5W<1NX[Q53=%(VBP4WO7&L.A&V_KI.>J4;,%)V>BI MV(X+4AE?W.Q\KR,>3]'7.$6S+$FBG*.U-(;EJZ9O8&&V=.YAQ[@PM7E)1QD7 MOC8O05R:_P51M3VQ,L"XV0$'<;(1VXI&C[>7\N1*0U$.3A#-'J,!@, M;Z&LD$;W_=F1>E*VX*1L]%1LQY6JS#QI-O/52-V^" ;[*-&=-38M0S7S'X,% M(,Q4NSRM8:MY T,J/T^:_?SA$&W2#'ALTU.M>!^$V=K+&!#F$O4E6PU;S;:< M5,:>-'K2;K\7WJ%@\#0(Z# (FQ?)'=7Q5*.5&@(1=2H&4>I,#()4A]@^.!A9 ML7Q1GDAQ-,TVJ=B^^-[?W9]Z]L=U'^:*P MEPF;RZ:,"U=6)]^>6FTO1+8NCV6>,R&R5?EUR:(9RPN _'V>9>+]HFA@?W;8 M_1=02P,$% @ M(,E6#DY M&TVFHS,$5]/+\_'98 :#CX/SP60X0M//H]%LBH[0U^D9>OOF'7J#H@3-EC)3 M/%FHDYX&#'FDWGS[O(^;Y]&&YWW)XF/$2!=13!V+^_" .T^:W'N0>9D^+=.G M13S6E/[7Z^O19(8&TRGD:4MGX^_8_?--]EZM^5R<=F 7*9'>BT[_UU^(AS_8 MDOM)P?92966JK"UZ?\C5$L&DH7E^(;YGT3V/1:*MD[@)Y16A\I/@OD\9]0+W MI'>_FX]I1D(?,UJ:[2%U2J1.*])Q25A=^<;>YWOG<9E&1I8",5A4$-LL2*8$CM@@BNZP:V0 M/TFY>(CBV,H.;=_HVWBX./V"XCM9BY5+<@+:B&]+.-YN]WKS'B4DE/O5< MO[[)+79N&%#:5,Z*(2F2@G[PC;9 MR2.><=I:S +B-QZW%8N1=AHK=4 <\9LHCG34 -,D*)J+I;HR?;X]M-!-J"8U*0IAP0NKD^]Q8YAGX9-*'=:L'9"&UY> M7(QG%S#O4S28%(WH;#SY-)H, 3%ZJX1 $ZF%0D%!)>$[:Q;_H[5"UA;MQP/M MUZ$B3??0,GR%$%CF@GT!A\3C$#@(K7DJ4!'R,6XBS'>C!7BF5[*-/I7 M+#Z@1#[?C93*#^5"=61:@:9;1,F=M9"MT%ZS9GX\T'[Y*F5 V]O1H5RM9&*O MG;M7.U:4KJE\Q.T&-.C2(-PO(_S"ND[H=UT7%R6%(75H%U37L^%.D1'7Z$L6 M/Y5O: J7+SS)>%K=[$+OK-:B>'\7/UDGQNR)*3/DUB&K_9)6PH,>$!Z+192_ M8>0QU#-:'$4)FO-UI+FU9Z&FMB">&^)Z,V"U@W.VH6NAE0BA[2+D6F@.MT"% M\#2!.;"SD"DOJ,-<8O"0Q8["U#05NU_?*M?BSEI4I7HY +SK&PK+90:,1-%2A$CFT7>2 M8,Q66.Z(YG(%1\(R?RU^+U LE7WZ3!USY."@KG-M9LP-&R:/56J'M:N= MC8QX*3TQB^+! ?;JDM=B!V(B9 W=$JM4#WNEZBE4Q8OA$^.=IK79L]A9F[W> MSKOY_,/(!4_OHD2A6-R"(S[VH0#IYEO#9J#ENGA=?R.UEJOB2))-!!) I, M[=115+KMM9L88M6),]N!=I]^=I)F!,)3.Y"([=S]_;O+!5]O1=D3CQ 2X#DF M">]KD1#II:[S($(QY"V:HD3>F5,60R&G;*'SE"$8YDXQT2W#_G: ME/D]F@F"$S1E@&=Q#-G+%2)TU==,[77A'B\BH19TOY?"!9HA\2.=,CG3*Y40 MQRCAF": H7E?&YB70S-WR"U^8K3B:V.@0GFD]$E-;L*^9B@B1% @E 24ER4: M(D*4DN3X78IJU9[*<7W\JOXU#UX&\P@Y&E+R"X,!B?J,Q]!/^\&XR&D]FXQ&0H]G= M[\*K:T=FSY+2,M8)L7P#*L=H/[\( [3':YZS+X*@-6E0$KU[/?DX&F* O9 M=K.L>OTN>0H#U-?D^\416R+-__3!=(TO33'_)[%:!NPJ _8^=7\JWQS$& J! M++?@Z0*DD($E)!D"9S@!(24$,@Y2Q(IG?MZ4C6(++]]"_7I#[ M;6KL[8J]?1I[494 9B*B#/]!81-LH>FL@3B&^FSP'C2K(3L5LO,F9,QYUHSK M;'%LDNZSJ$&Z%:3[)DAY$G !DQ GBR92]R#I/HL:J5>1>GM)AS2.Y7GPCM+U MFLK2V> ^8%1#[U3HG1/0CZKSKS[M+M;F&83L>2 MW^X&[Q&&-5[3^'?"&:<3'ZCC4K*&8[>[GN-LYKG1TFI;CK4CT>;:T6SN!7^0 M?1G/V$L=O1'7W(*P;-OP[,TL-QDZ'<=S-[.LK[44JI_[#MD")QP0-)>>1LN3 M$JQHD8J)H&G>93Q2(7N6?!C)MA(Q92#OSRD5KQ/5N%2-JO\74$L#!!0 ( M +2#)5D/DT^G!0L ,ID 8 >&PO=V]R:W-H965T&UL MQ9UK<]NZ$8;_"D<]TR8S1Q%QX2VU/9.(EY,V)TYCIYU^9"3&XH0B59*RD_[Z M@C(C"N 2%)-USQ=;LA?O M@%!#X J8N'HOQ2;9*D-KYNL[RZG&WJ>O=RL:A6 MFV0;5R^*79*+_WPNRFUET:UWV[C\MOK)"L>+F=D]OT/']*[3=W\87%UL8OODIND_KA[7XIW MBZ/*.MTF>946N5$FGR]GK\C+R*)-@8/%/]/DH3IY;31-^5047YHW;]:7,[.I M49(EJ[J1B,6O^V299%FC).KQGU9T=O39%#Q]_5T]/#1>-.937"7+(OM7NJXW MES-W9JR3S_$^JS\4#[\E;8.L1F]59-7AI_'0VIHS8[6OZF+;%A8UV*;YX^_X M:]L1)P4(&RA VP)4*4"=@0*L+,ZOKHHBP>C;*R%6O/B$-]#:1&1-&]2\:8NQ7]34:Z^ M6EZ_\X-W-X%OB%# MFI1!47^4L@]2S91X?T69PR\6]Z?![1L1FU+3EWB57(Y$VE5)>5],KOZ\Y^(;?X5&C"88@&F6(@I%B&)21G! MCQG!M1GQ3JPXTGQ5;!,H[-JR$YNYQ!3S>3\A>6\4!9@N0TRQ:*S^4C"M8S M M;3#% DDL?W+QV5V62;[Z9M1EG%=B/F\67G?BT\5XEHDI_#D4:JWRU%!CBOF8 M8@&F6&CU@D@M2YG(]392F.UCF.W1,;O/Q6=]EOY7?%(W@:T>(]M,Y\T:^SY. ML_A3ELS%]<*\BK/$J!*1%&*MDH!K)*V_J<''%/,QQ0),L=#N!7;N4.7C,!HQ MDL+O',/O:,-_6-P98LH6EX35X]A.OC:OP2EH[]'C RMO[QA9 M[VDC>[IDAZ+L]>KL$M=2+CZ6VDI.G9LQQ0),L1!3+$(2D]*&F!TC,;6)TP** MQ\PHD]V^7&WB"OX8UTM-'>JH:CZJ6M"J2?.0[3#EHRA$=1JU:O:@4SG$)QB, M_%"(QX9\*RMU K$]QU6Z8:GW/SF2F&H!JEJ(JA:=T<%RR#N41?0L:QE7&V.= MWJ?K9 A;:@4FCV5,-;]5DT>?[7G*U3>JTQ!5+2( AI.:( >V VSD3,+64+5] MIJ=JK=8(I20 ?+,IH^JB"["CHOEF+RQ]N[DG]#QU\@3L&%-Y9@2Y=2V3#; , MTI$IHD=3@[!RM%L!N,*8Q6R+J5V+RJ10U0)4M1!5+<)2DS.CPUQ$S[E.!]FK M72FRP=1D@W76(.MS&F(3=K+L;V,,\!S3MERN#K*^W=SU7)>I@PRPH]QAZB # MW#J.QX?FJPXE$3U+&AIDX]W:1QNBNPCG9J]K48$0JEJ JA:BJD58:G)F=)2) MZ#&3?F= 7WCR\@13S2=]-$.H8SOJ$$5E2ZAJT6@3Y*!V?(GH =//[!#HI2>' M'%/-1U4+4-5" C SXJK[!&-6K&I(:9]5D.(NF#R47T&J&HAJEHTUA]RB#N* M1/44Z4GV#O0^)V<"P%. XS:H? GP:9/>F1Q4; 2XY.;0$#XY_:1'1D^^@T#[ M5(?8S%6W$/35G#ICHZH%J&HAJEJ$I2:G3P>FJ!Y,3=E'T$M-'O6H9\)0U0(* M,2[3EHWO->@%)H]WU--?% !DC/'>X5O4@UVH:M%H$^3 =NR.GLGN MSH'BK=;8B6B ZD%[#8 =N-< V(%[#9 =L-< N=7L-= .=E$][/KAO08*@!IX MKT%?@\G# O64%:I:B*H68:G)F=$1,ZHG9D-W'7 P&]RS!ED?]1";$Y4%^( = MI99EJB 3L)M[CD75TQ"0';,\1QUD@%O/]-C 7@/M6!35LZAS[CZ N[4/1<3J MA%-+/6^YU-=@\B!#Q4FH:B&J6H2E)M^5TN$IIL=3^KT&?>&IRQ-4-9_U80ZU M35?)RP#5:8BJ%HTV00YJ!Z28'DC]S%Z#7GIRR%'//Z&J!:AJ(0,(F]>[N6S, M2@YX1ZB8GE#A[S7H'4Y. U1RA:H6H*J%K(_RN'JK7C1B)"?!R1V&>LXT;:=! M+S8YP,!1)$J4G38?U6> JA:BJD4,.%]VVA]RB#O.Q/2G!"H MQ I5+4!5"U'5(M8G@C9U3'-H=NA8%-.SJ"?9I-+[G)PS *WAGJU.(JAW)4(^ MB=>C)*A.(]8_&#=O+JH&8MQA*:;'4D^^4<4 "F2;-NO=BXYZ\ Q5+4!5"U'5 M(BPU.7\Z%L?T+&[*3I5>:O+01T5TJ&H!ZX/&.7'5C2I4GU&K9@_YE /<(36F M1VH_ND_% 'YEV69OV*.>+$-5"U#50E2U:+1[Y7!WV(_IL=_X_I->8/(H1F6 M##B0Y9JVJP(>5+B'JA:U:O9@$^0GAW34CNNIW=#^$\AP>?_F.0"-<^!LE&UY MIK+=YP-VE#.+J/M/@-W<\VRN^ TA.V[V3NE9VS_P1W:Q_E M$,8]QU+OD%[J:S!U6*"J!:AJ(:I:A*4F9T8'U?CY3[TZO2D#SH:S'GO%H8-> MW#*).LCZ=I1ZS%;O=0'LYI[C]/:?(#N+62J=A-QZC P]-85W:(K_V-.OQKL5 M>OP5$QVFAJ@6H:B$'CI%QRU/38,1*3H..'W',YV/IQ2:'&#@. M9JIWQ/JH/@-4M1!5+1KK#SG$'4'B?\!SLO0^)V<"\-@J]:B5C^HR %S.B4=L M=1F.2HU IZ<7XG*(.VK$_^ '9G'@4!EWF--;TJ/B)%2U %4M1%6+L-3D)Z%V M<,H:>6[6*'74"TP=[ZAJO@7R**[PJ #5:8BJ%HTV00YLA\JL,U'9.7BLU1H! M(H 52!TA-8@Z G8@=83L .H(F.FHH]6Q)>M,MC25.EH 08*IH[X&DX<%ZIDK M5+4052W"4GO,C,7)ES0TW_+Q>US>-1='6?)9R)LO'!')\O&+,Q[?U,7N\+T- MGXJZ+K:'EYLD7B=E8R#^_[DHZN]OFJ^".'Y]R=7_ %!+ P04 " "T@R59 MF;$2 ?$' :(@ & 'AL+W=OD6\IAM2?&9;FHE? M5BS?$"YN\\=>LZ9SR[]M9+NYZM99ELJ%9D; ,Y'1UV1G" M+R-7#I 2/Q+Z7!Q<@]*4!\9^EC?CY67'*1'1E,:\5$'$OR7K]IOY'&"V,>2$%'+/TC6?+U92?H@"5=D5W*[]GS-[HWR"OUQ2PM MY%_PO)=U.B#>%9QM]H,%@DV25?_)R]X1!P.$'O, M!^ F@/@-&P_DW<',[_6,.NN#[_!I\^.TC^ TD&5BLV:X@ MV;*XZ'&!IM39B_=OOJK>C%K>[(,[EO%U :)L29?'XWO"BMH4]&;*%;(J_'V7 M?@88?@+(0:X!S^C7AV,+'%Q[%DM]N,VSRFDW]],[,)U%]\/%>/(5#$>+\8_Q M8AS-35ZKM+IFK656?RFV)*:7'9&V!0S*3MR@%L[P+5I M'TQ$$4JRF&VHRD^'^'4IZ 9]OY8Z N;5P#QK9(;+ M/T5BB5K$"\"9*$8QR^(DI2"K$9?/R[N8%&NPS=E3(N8H>'@%HG[FA"?98U6 M$IY0X]SWSAG%,RD[Z M]Z7)#95N[S#*?>@W@JP+=;$+S3'NU[#[5MASSN*?0(12\%U!)&/0E_+:.!G[ M.DP$O09,HU!@AAG4, ,KS%LJ*,B&+-!>"ET-F2X4!*X96%@#"ZW KJF82W$B M/6?"%6JO#%W<@*7+0 =[9ES0483EG$"VHGDNIV&5J>3ES8'@PP/-Z"KA'XUT MY&AX7#]L8#8(=6'84G#@ ?8Z MCQP8-F-O%&K#BQ1>9,4[Y6N:&S$A/? Z)ET(^J@%D^)3>()0524ZJ,+2>T"T M("!-R$.2ME9D>%9B/9>V8U\H:H5V;AW&,=N5_"62E"9/1$PDH\VN/IO=P U1 M,V"ZG.<[3DO$%,]"*S,-1J+!RP5/VN:XIU=5426:^'0IU\$M% $5M4$[M\E9 M;@-G8";H^#YLPC/(>;"M38&*PZ"=Q.HH;\DKD;5"3/,W%M[7/#-PG:M5\!BFHCAHY[C)_]/@00,# M0AAH+M;%L.MYV(P=*19$SKM6%^/)CVC^"ZL+9"77]U;!B@2I*2BW6@F*[HC/=G&I*D4Z97:_O.HZ.VT"_7B@,;,&M&!A96>W8W^2))&E9E;HKEG<+(LI30>.]74;T MV%!M/.PT6S"3G.\@OZ4L(46:R$Z:QVY_/WZ=)$.$->=;,?S=E%"4B^R4>Q0B M4==$->.OG\ V)1F7]$'_VB7;L;_][X9&L3FRLWE--Q]VA5R^?#PB MGBKW3Q,/,I"VZWJ^9JTN%[A>RWH5*6Y'P;N(YV8\&4Y&OT \UI;AW<1S)FW' M3E"= [)W#B.VV8B%7"$W&7*Z?4LZH^%Z!]"%0;\9+8.4W\)'DM%ONT8NF]YGD2U&?.4^IM.>3W)X31CTG?+UFZ;),'$Y>:-DL)TNC<08Z M1RYJ+EX-8J';;S%-43ZV4WZ=_/O< T7]&WX:3KQ&X'RXB4%V+'R;R@, (WD#E*&CN_QFDNPM1%X]QG.F;0=^T(1/K8OYN7);I>MNJ)RO6VWL0=.A)@L9/0EEAMS M0+31()7[V>PA31[E7J>YI!DVM3W<;#(-4K[?LN;'BKEQ:(WL_/ML=BM/-H>W MZEQ3Q/EF>G\W7(RG$R-B:SOP[H">2=OQJ9QJ"5Q[2S"26QZ")&7$U"XZ5:2: MT]6NI45P=>X/(6YV" 8IC/HM7.2J!L&U-PC'T-56C9QV9KC0<(((M6-&72H( MFKU7[^"4?2/6)/+C@P+(+;KJE+I^6G_@,)3'^HWG5_#+J/I,0:FIOIJX(_EC MDA7"GI50Z7SN"P?FU8<(U0UG6WF6_\ X9QMYN:9D2?-20/R^8HR_W90OJ#\' M&?P/4$L#!!0 ( +2#)5F?X73 /PD &P8 8 >&PO=V]R:W-H965T M&ULM5EI<]LX$OTK*$W5U*3*EF3%.38^JN0C&4\21V79NY\A M$I*0D #@':TOWY?-\!#CN)-]OAB223Z?OVZ21\_6/?%KY4*XEM9&'\R6(=0 MO1F-?+96I?1#6RF#.TOK2AGPTZU&OG)*YBQ4%J/)>/QR5$IM!J?'?&WF3H]M M'0IMU,P)7Y>E=)LS5=B'D\'!H+EPHU?K0!=&I\>57*FY"G?5S.'7J-62ZU(9 MKZT13BU/!M.#-V>'=)X/_%VK!]_[+BB2A;5?Z,=5?C(8DT.J4%D@#1(?]^I< M%04I@AM?D\Y!:Y($^]\;[6\Y=L2RD%Z=V^(?.@_KD\'K@6A)_!Z_ .!21*8L-_1$'MY M(8,\/7;V03@Z#6WTA4-E:3BG#15E'ASN:LB%TXO+^?G-U>SVZM.U^/16W/YY M*<[NYE?7E_.YF%Y?B+/I_&I.=V8WE_/+Z]LIG3P>!9@F!:,LF3F+9B8_,/-2 M?+0FK+VX-+G*M^5'<+GU>]+X?39Y4N%?=3$4SP_VQ&0\.7Q"W_,V#\]9W_/_ M=QZBFGOOQV\'!\]$<1A&\3A4]K_=T$\;>;Z MT^VE.!"___9ZUCR7DS=2IH]<66RH?B# MS$S&1WR-OQ\Y MEDXKOR?>*="/F-D'Y<1\XX,J%WLWEC]DC>3G[+0CVR/?_82@UC$ED8DEY1RKPM="[#HY0(Z92 WR^B;ER]E[G9% L MZZ(03IJ5HN(KLT+AE=-FM4>GLMHI$'_88Z>#JYG!Z5=9:D_S@$_2S G*2),I M%J,,@Y'AMJVB.$>OLK71F2Q8&<@:LH(Z3V=P!5&1BQ7#8:5,0A-TNR\J#+G@ MD8:5\T*;K*AS''<:!S32H\%G&) YS"4E< 30Q&GX5"\*%+\.*&]@\*4CA JA MOM::_40UJJK09( )>^&\Z:*SV+);E3R'=6Y^0W MM^4C ^^''3)[ ('[S(,(IX<49I971SZ%B!RC F[350U2U@7J %Q;4>S#%GYH MP!A#$M.I\@V,GM+20=2:?8]P>D!9RU@HB B#;2,6<4LS-W.>:^:C+7R*4#LC MX:#)<<.OZY"#FV*]43L'Y&4;4=H%D/+/Q&?8N/HQ])BN@]^C$D>:D#X@ME6/ M6:G J4Z(HI2;%LET=RD7#I"*/9:K HV/9--QC>!D46SH9,TLZ MYK:H4U;)XT!;'1JD-LEO:LTM@;9NWU6V(8I2&FR=NVAF*VH*I5_(/G-T/;K' ME2C$RB)WA@V2X%+E*-K6Y8Y,^B3"47W4^7X[,784\$QZ[>G*++9,Y^"\1PO3 M+ /,F.5FX/N,&)Y9S!)+>8!E:Q(L-<5% /-$#)%'^NB041\;[F;*DT,6PP?T MWN?!B>\*LI6\*C3 QI5&X7H3 "&_R\8&""HPDI0F0V@L7D%Q,B>BKE:H*K/O+K+K_(QVR!?B@*IVE?6*O2CE M%[K,Z30=*>!2KC)-D]''F?6]$LWAT]A M)=5-Q,=%R1YA$=^TBWBLQ@^D>_BBF2\=3?&89K1$]@5H0K?XY#*/Q[#A#'#+ MKYU2\;#^!J;DIPD:O/FV"WP$7Y[OM8/II_S)I%^+)9Y1?6OR)PWQ_E0;6>2UCV@SM?4NJD_ M7%VDA@6&ZR*Q;I^>Y@I[&^\Y?.SR6[;F!>^\W=JV=H+Y96]9/4^]VN]04F*H MR]$Z66%IEGAXI- H>CW52N\Y>PPZ=*YAC MNO_$WP!YYRAIUHRM2;&#IGD8ZE)@%&J;<\?3=M10<3/.8:"W0K._9O-(F#- MW= $EA[Q>,N\5XW;3ZN,SV^/%.->2A$]^?8@,@26,K@+0U?8EY'4_@+GK,'W M+)6/UYY[52Z@/XXX\N9MF]Z>)#C*Y-(A'6<6'UO,^W8Z/VL)2G]GM!.]JPA+ MW4N)^5TK1N;WQZ_VP/IQO[YI=Y8_;@'=3$Q>CY^]$5 M*N>:>B2+6U-BJQ[,&LSPA)D-1CHSOP/,CY/TGIO4PO'X,KB]VKY*G\8WR-WQ^![^HW0K/ &)0BTA.AZ^ M>C$0+K[;CC^"K?A]\L(&/,GP5SQS(BPZ@/M+"Z9./\A ^P^&TW\!4$L#!!0 M ( +2#)5GW%5CY7PH $@; 8 >&PO=V]R:W-H965T&ULY5G;;ALY$OT50F,,9H&V+,F2+<<7(/%X,)EL$L.7S#/534E,6LT>DFU9 M\_5[JLBF6G;L#; +[,,^));89+&NITZIS];&?G-+I;QX7)65.^\MO:_?'!RX M?*E6TO5-K2H\F1N[DAY?[>+ U5;)@@^MRH/18'!TL)*ZZEV<\=JUO3@SC2]U MI:ZM<,UJ)>WFG2K-^KPW[+4+-WJQ]+1P<'%6RX6Z5?Z^OK;X=I"D%'JE*J=- M):R:G_?>#M^\&]-^WO!%J[7K?!9DR&Y!"JE2Y)PD2?Q[4I2I+ M$@0U_HHR>^E*.MC]W$K_C6V'+3/IU*4I_]2%7Y[WICU1J+EL2G]CUK^K:,^$ MY.6F=/R_6(>]AR<]D3?.FU4\# U6N@I_Y6/T0^? =/#"@5$\,&*]PT6LY:_2 MRXLS:];"TFY(HP]L*I^&7][=WGS]>W=R>'7C<12<.\BCW79 [>D'ND?AH*K]TXJHJ M5+%[_@ Z)D5'K:+O1J\*_*,I^^)PF(G18#1^1=YA,OR0Y1W^UPT/MQTGK\FO3_0.O7Y7[Z?':F1,WK:B&\G)5*L#\J[T1N M*F=*74BO"E1V/ *$$1['_-(J)615"*L"\& MAZ?_L[]W[(9N%6W-;_?_6PP$N/=\3PY-)-AJ? M=%:F@VPT'3X3M8>K3[+)=- ]/#[.IH,!,J-N9B5B@2QY;U5)P4LJ3+/AT7'Z M.IYF@^/),^F3XVPPF::OQX/L:'+4*OT!D2S,*CT]S"8G6XV'H^SDY+GIN&>R MW30ZRB9'4W'933C!S>KMQT MLS]E8DQ"H:OD*_I'N7O?_]"G?!;2>ZMG#6WSAA_5!AF,,P7:AMT(PAZ=0[13 M"[11W^>B7,FO=).Q5+*.HD%'+\VJEM6&Z__X]*4*I6NMRLVBTG]CO6ZL:V3E MZ?ZY?E3%?FUQ(1WV5G)%:;]$!3O?WF,5$06NNE8#)6WU1)A'V]^'P?OHNLIJ M66Y%]G?CLZ/:,Q2PBFYA[(D^((]^,EX)!#!Z#:(+D R7E_2;23?VP9[I%A(MS_7E@SG MJ,UEKDOM-T%!"\7L-O:_D)X4F]'@](,NK3%>7(?K>'5X^H\,"2*4@^=8^](X MCJVLH=8C+P(8]H:C_A0LHBQ)[:5T4%95G9!F=&8-Q%R*O>[6-;;2+DL84S26 M,1TZ :#W&:#)7FV*%V%Z&_L"QB91,)83%V?A NURN'N#A.BSRZ#Z@Z9MP[$H MY,;%[!25\91F%+\8!50#4@!R'<@8V= &PZPKW#<#_(/-IFQOLXDJPCBU?2GUBKQ5RE2:VK4*!<-:C\2J M0Q1*C42.ONAJCEKQ.@C"L\+*-=<4V+7(9>-4ULH"ES467VF;7)D&J>ZPK43^ MD>?G#04FW$YQ=QH!G^N<"FZ&('.-("Q*/]!'EXFF2CYHW24>)(HQ5"U=&TTE MY%*//A#UX&/4;T9JP'.&E!/:N8:D[KA%B2?)'!!JUP.DK73 ,G8N&:9LO)B# M0A9%Y[M@WQKVL,X:R$ W,;3 +5B&86?7#'B4&I$(DP4V"M M#^8 8-Z"M55_-4 DY/>&T8YJZCE;HB&+I -G86\, J.O"M6X+>N5K"B"A7(Y M.I6*>:HK"C-* LG75BP.E-(NMG$09?3@1B"[TBHE OPB@8K4V( 4)2-FY]A# MJU.ACSL+1^/L^/ Y>P5-A&JC MT0Z-/LI..HPV(8E55/$!9Q%E*G-H$V#=A?Z<[1*FI^F-O@^NS:C>@;;8W&JI MF98D*$#*>@TDH9\SN(!KH*YB_K U?\M/M\PA1\Z6BI"9*6J>J]I3F[GC_(89 MDL6UF@?^.">H"CF[6]ANI]:[[BX4^BQ7J@F)7JDM"$?P^4L4TD]D8W;5$31?4<%OZ058/FL%WD:MT;GO0'B5/1OKW1 ML#]J5[).(99H+%^HVU($B?&"!]G -M-ROK,%1.AO $V3 8?D%W M<PP_E3Y0?RQ\;!=O58\T0)#0*]4Q'5 H6B M'S0+P9RCD@N><&4'+\R0\_)!ZD ==15^'X9J(&$_ M4A*1JK;S6@HMS' -YH_OD,XL6 735U@K-UTV"4]0")S:IG3+C5]NEJ\Z%W(B MYK1(D-(9FL2"'O:/=PMZVA^_5,\W:?:]QTU>N[F&,M=A4*0.+3[/2KV(!/N7 M.._=W%]_;H>\9Y[-GI1S(6@[^7!O"*B9!45"HC'!H5 M3%R28SEK5 6VH!21HHP\FS>6TR3RS@XFMAI?75\FA>-O$%U8_3Z,,KOUFUK3 M"%AW?((!3*:?*L"GQ'LN:+WBT3ZTOXHF>@YT6PV.2?2LQ:@4\WGC&ZNVB9'3 M'1A_8GZA_REK.<"F1;DN=2.A)H<+NJG'T/@TN6(91B>C)G(:>>'$4ABY7N4;X$%L M"O,2,6A:>03#)DA56R=F- ( [!A!9@ Y,-EO%3I%7]Q2C3YAM-&15M-KHK?A[WC' M]!$UH.&T4LUQ=- _GO3".-5^\:;F=R4SXU'R_'&I)!H';<#S.:;5]@M=D%Z> M7?P+4$L#!!0 ( +2#)5E4(Z0 BP@ +T< 8 >&PO=V]R:W-H965T M&UL[5EKC]NV$OTKA-L4+:"5+3_6Z^P#\#[2IFVVN=E-[F=: MHBUB)5$AJ75\?_T]0STLO[8.6B"]P/UBB?1P.,.9.9P972R5?C*Q$)9]29/, M7'9B:_/7W:X)8Y%RXZM<9/AGKG3*+89ZT36Y%CQRB]*DV^_U3KLIEUGGZL+- MO==7%ZJPB\U,D:9. MQ[.X$4E"C"#&YXIGI]F2%K;?:^YOG.[09<:-N%')OV5DX\O.68=%8LZ+Q'Y0 MRU]$I<^(^(4J,>Z7+4O:P:3#PL)8E5:+(4$JL_+)OU3GT%IPUCNPH%\MZ#NY MRXV[]B _?#=63\( MSMEQV["I93#+JC$+XUG$?N59@?!N)CT6"FT!#XRGJLBL86K.0FYB)CX7\IDG M@N:60@LFLV=AK(@8$;-496(%7]=/P*9Y =9+:6.68<2-$5C4IH\1?B>?"YY( MN]I<*C-C=9'2-AX&85)$,ENPC_Z#SQX!9*: M&J6R 4GH##G[0$)ZR@7ZEGH MC+@P@%462@%NO+"QTM*ZP7H?$@)33 ']1CJ D11M8EA_!C[EJ;[ON>? I^2Q$$M MR# QKB<\2&!RX0 X6?GL;4L\DN)&I3G/5L[[QN=F0_P0BDMG9(AH03Q7"6X2 MLB!W8O^YA*^=7_<&YW_YV>S53+2VVB9V\KB?!SB)/8'YTPW5:L+OV>G$ZT_Z MK8F@-_&&9Q,V?>8RX;-$G.#^/3$(EM)!2O_:WC$XZWOCWFAWOC?RSLZ&[%'! M-0^(T!\%WF0R;L\$(V\P'C0SI1:/I$7;@ >4.]8X+0,;E< ]'#P ,>1D((L6>NM:SQH(9 02=A--QY ]?^:U@0D)W\D#!]+ . MIGU Q'?#KW;!Z9N'Q@5;(?D27*VO/[S"P?\#*C(XW(%HR+ @URP$_L/9$X5; M#O?*0N,%3H2K*G%K%KA,C3NPDL2]XB!DZBZ#.9>:X5XM!%TB$,AJY+[%.CI6 MWP Y_^[GINS'KIING',]^[,[X/VCN^98=W@U-JQG;DJ[U<./:XN],/6&K-5P MH/#_O33JS\[*U>"3,^=FRI(IN/VWL] M!"+LI="N<;9]G7BH"UL3+J;ZYZV9 M0>M],MQ^UM;UD_A\/)OLMZ'UNZE2LY M2@$@R1Q8>$"0T<@;[6%T2)#QZ'BA1Z=>?S0N70" FRM"/5R,,UO#S^K;^L)Q MI@IZ,-7IT5H'QU,2XW&9XK3SFN L\,:3MJ_M>B+LW#MK.^#D=(/#_JSJG_+< MN=;_CX;_Q @ R"&$@W:&O>N)H],-/QST-I>/ !C_ZPB PJ9W/ V_# ";QS[HC;?64_'4>/J1N9/72E!%*.0SY9'E12+:N2#R[ZW* M.? '^_-OKVZ35%EUNQZ)% (#050L6RD66ZSF94 M5Q""LD?7$_%U*7_0XC,*=T67]%IIDJ:[)U'3H3T)3099+!VO*[>]4%JE$1N[N0'UFJVX7N5?%W(>YX654K3C/^R#-TT[%S9DI9E3? MN6H_)YN53BJI541-10SK;D&UMP-,UR6@45GSZXW>(=6)6ZV!FI1*7L8C1(JS M@=V2QVWY9VU+%..06^3< 3:U":4MB-]F1P&PI1A]1['NKJN[IG>%5B=E>,Y( M=I3])7;@O[?4 ,S*C=%3B?95-"YT.OFY_3] MC?\5F,?S7*LO+DD I-7GY8>\=UPMRZ$3,L;3G MCT<=;.P^EI4#JW+W@6JFK%6I>XT%CX0F OP_5\CMJ@%MT'RQO/HO4$L#!!0 M ( +2#)5D^/W^[0 , (0* 9 >&PO=V]R:W-H965T9X'76!-9Y!T4]W1=:*L()J.*K'&.^J&ZDT8*6I2,EL@5%1PDYF-O&EU>)=;>&7RC MN%5'<["1+(5XM,)--O9"2P@9KK1%(&;8X#4R9H$,C>][3*_]I74\GA_0/[C8 M32Q+HO!:L']IIHNQ-_ @PYS43-^+[4?K6FE1[IT- M@Y+R9B0_]GDX#<_8?:K?V!(M M!K)E!_KR=3&#!-Z^&<11 M-(03N+ H$'+!3'%2O@9-E@S!A<6U FT6KT59$;YS./VA@IQRPE>4,*!<:5F7 MSI(H$#F8/=NU>P:$9_")\-H4^Y-2%T0#D0@E$E5+S)R9Q)60F14TY(1*V!!6 M(]BRM6NUE):=*3^J+EU(87?XOQE_S4JK?9Z9YVZ?<8,,HF=R_$SN_F?[&U[5 M9N?VP^]HKXDJ +_7U.R2W?V_;TO,780[5?R!*$O\B[1UI MW-F.AV\GKO*8;0IFMI'?FU7RG3)) V4-,-<6_,%D/G7D'%M+5XPZX MT*A>M#T.]C!&_=COI8-7VY_27_3\-$U/FCN*YHJHA"0:S;.[U(>4[E[/-?3# MI/_G5/UN?''2>B$T84_Y>^FX18/8[X?ID>8UQRT*4W\P2$Y[O?3X!$>=08ER M[?H?93)9<]TT":VV;;&F36?Q9-[T9[=$KLV-#PQSXQIV^JD'LNEY&D&+RO49 M2Z%-U^*FA6D345H#LYX+<[+V@OU!VWA.?@)02P,$% @ M(,E6:TI7RDA M! RPD !D !X;"]W;W)K&ULK59M;]LV$/XK M!S7HIT"RY23-$MN XWE8B[4-DK3[3$LGBRM%JB1EQ_]^=]1+[2PU!FQ?;)&\ M>^ZY5W*Z,_:;*Q$]/%=*NUE4>E_?)(G+2JR$BTV-FDX*8ROA:6DWB:LMBCPH M52I)1Z.KI!)21_-IV+NW\ZEIO)(:[RVXIJJ$W=^A,KM9-([ZC0>Y*3UO)/-I M+3;XB/Y+?6]IE0PHN:Q0.VDT6"QFT6)\O,]G MT8@)H<+,,X*@ORTN42D&(AK?.\QH,,F*A]\]^F_!=_)E+1PNC?I3YKZ<1=<1 MY%B(1OD'L_L=.W\N&2\SRH5?V+6RZ2B"K''>5)TR,:BD;O_%' X7KGRFD MG4(:>+>& LM?A1?SJ34[L"Q-:/P17 W:1$YJ3LJCMW0J2<_/%\OEYR^?GA[A M8;50CM*+$WB3P^5)X*,4688VH82V5PAR$SH\EA,5P%C"\Z6H8K8MAX< 4 M0+G=#[D])R4DC1T>JO6 %I7P9(1@A :S)104#FIK_J*F)H:L3:=>J$Z'#9RE MD_@7ZA6EJ.UC>"*1I:EJH??4.'O 9X]$.K.82Q^@!X[4>[ZDR46&OS?22KT! M+_1&,B=J-"9CR11/@1QXI&C K5"-" .&3#.='BS$^]VM@T)JH3-)BIG19#,, M(V)@V'4H:"X9CLZR)U&+/4T]8/!/0K:9 2YV(=D<,C)S7,:9#3F<_;8M%'5N#%>MN%' M6[G!/6.ILFK3"O?68E@]U\8U-N1<&>EYBC;-24RC;'N2P* M\I:9THJ-;>F>8#.OA9#XH,C*(=XO,FVTY+B"],'(P*W+>T>1:86B<)X825=R M3BE>9D?V$.C2>Z$PY+X2FBXM3M20: *1=$]@'RI6:9OBA:,FRQH;ZCG(6>3; MD_U4LABT:V&]S!HE[('[@DCXUM.^27IQ:[8R7)7_),T[H5-*BQA\=O*90\0S M&WEF'WMFT\U77X+.FUA98% MZ+PPU$;=@@T,[[?YWU!+ P04 " "T@R59)/>!LMX# "R"@ &0 'AL M+W=OS7[TC9LAPG;K=]VQ=1/-X]?(Z\.]YX(]57 M70 8\EARH2=>84QUX?LZ+:"D^DQ6(' EEZJD!J=J[>M* P!/.ENE,X M\UN4C)4@-)."*,@GWBR\F,=6WRG\QF"C.__$>O(@Y5<[N: :%I+_SC)33+R11S+(:JLT9R3-A+61J%JPSMS/3F=C6[O;Z9?[PBL^7R:K4< M^P9A[:*?;B'F#43T"L20?)+"%)I702\$/-ST@_[)$H MB.(3>/W6Q[[#Z_\7'QN(^&4(FQH7NJ(I3#R,?0WJ&WC3=V_"87!Y@F#<$HQ/ MH?\8P=,0MY]75V1(WKT916%X28X0R8YU2DH#$%.360D4HQS%^&,$8ZU>N[I0-:W2]0J9+*,+$FM6!& M]]S"!A20M^'H;( AS+G-QMVX0ON%+"LJGASW\TM-F#!4K-D#!T*U!HN"S$'A M9E2TQ'I;0L=\F,@P<12CG*12X%_=5 ![;N7S)UU+CE6 M*NL!U5;V_0.[<,<>]"__-^.ASZWTF=]'9E?:X%78L]Q)KI74NIW-TK0N:WZ@ M<8L/S[_3_J(AKSGYR'(@LU+6PF@[8O3]1=U]=X2O+ZX4S8 (6D(+' [($U"U M9_*6Q+TX23KSJ#]) A.ZL>#X& >Q E9N/J.@>TB&5GI@E7[;C%>%C[>;_73_J';G8HO*0? M)J,#?:P [7QUD(U,$TIL4Y+56!@P,?/:U%A7Z/8B44*[%[PK5U@4JEJE!3[= M6:>TZ'^>M0?Q\X>[&7SR++=N9K3)\(B-DP:;*0/RDP+;(66@?K;1D@RM>'\1 M_7,GV+O>QVA"P>BY(#DB91?PH+ ARPU&TDX\P'!SU_?:;;ST;/F=/@+#='.?J%HSH0F''$V#L_.!1U33(343(RO7E>"C MA#G@?@ML*D%9!5S/I32[B=V@;5.G?P-02P,$% @ M(,E6>0A&I7X! MJ0L !D !X;"]W;W)K&ULI59M3QLY$/XKUK:J M>E)*7@BE*A I<-!K)4(5>G>?G=U)UL5K;VUO OWU]XR]6<(5(IWN2[)^>^:9 M>6;&/MU8=^=+HB#N*VW\65:&4'_L]WU>4B7]@:W)8&5I724#AF[5][4C6<1# ME>Z/!H/W_4HJDTU.X]Q7-SFU3=#*T%F"M&8@T/C18F:=23ZX^[U%OXJ^PY>%]'1A]=^J".59 M]B$3!2UEH\/<;OZ@UI\CQLNM]O%7;-+>T6$F\L8'6[6'P:!2)OW+^S8..P<^ M#%XX,&H/C"+O9"BR_%T&.3EU=B,<[P8:?T17XVF04X9%N0T.JPKGPN3J\VPZ MN_@\^R2F\_ET]NGR^G+V[?:T'X#-._IYBW.><$8OX+P7U]:$THM+4U#Q]'P? MG#IBHRVQ\]%>P"^-/A"'PYX8#4;C/7B'G:.'$>_P?SN:<,;/XW"1?/2US.DL M0Q5X#=\/3O:P''?5A-!R>B.=AQ8T1 MU_)!C,8IRCT12A(7MJJE>1#2%'%\+LV=H'O*FT!IYI9RB\4I:A-:QXUS\D'R M^IQJC>!@*8@+1X4*8KIRE"8V*I38#K1:.1FKLL"I2**5^EB\91-,?#0XF:&J M_XT2EX8GOQV(;]CXW YTF)JT)Z(9,G[+\$2\QT M_MH4HN$1LQL>O^B"7>YZ,7[BQ65K^R5/>NAN19.W;+G'" U"RJQ$;JM*A>B4 MK&R#OZ6SE7A]-#@8H!UHS02"%:\/CQXG>D(9^ FU)EE7FB%?I.@E0$R)H7C(.".@"MKJ]?, M75MI$-NPS9F&8W"S)F>X4XHK9:3)>>._6J?# J"H@\-Y3B#+[&/LXN>R"+IV39A5Q?0+F0H\-X_C$Q[S@$"@? ^GH M1Q/#P!++' ._38L" ?!!!9C *)>^Y"E5((/A(>Y_M3)JJ7+):(;W1IM<=]HR M$1@C%_!^V,DVT(-'%/84>4O)IZ+=51]%4T.)E,\M=.NXU%A=$[Y#3,T4$Y]C M_H&D>P?2474LD^U9J.FVZ!$.E >+BA8%+5EN;@6 MBN^P AWAK(GEL"!8>RQDI*V\9R$+PO6&@*6W$X>DLBZHGW$B=DTX@%L'71,. MNA0N9]& 0"1L2*_I7<5/ L@H?=-R0E]6%C&&PO=V]R:W-H965TL=G)YEL#(X= M;&>W^??WC//25(*>=%]V$]LS\\PSSTQ\=K#NAR^)@KBKM/'G21E"_7:Q\%E) ME?1S6Y/!3F%=)0->W6[A:T"%Q?:LECOZ2N'O^L;A;3%ZR55%QBMKA*/B/'FW M>GMQQ.?C@7\4'?SD67 FJ;4_^.4J/T^6#(@T98$]2/SMZ9*T9D> \;/WF8PA MV7#Z/'C_$'-'+JGT=&GU-Y6'\CPY241.A6QT^&(/?U&?SROVEUGMXZ\X=&=7 MFT1DC0^VZHV!H%*F^Y=W/0\3@Y/E;PS6O<$ZXNX"191_R""W9\X>A./3\,8/ M,=5H#7#*<%&^!H==!;NPO?Q\?7UU>_W^T^W7LT6 0UY>9+WQ16>\_HWQL;BV M)I1>O#I43'R)&W*Q54U&XL*:W MI=_$;<#0% (YSX\9/*HP8Q\X#@![E9.H MI2,3 +Q#L+O/[#D.>EL1[Z7*R-CV\._(%B\$,%F7TT-?$V@2(!P_^0A.*T0! M#(/\2JD+!J2PD$'Q#K.$8S6I5[F23I&?BW>>8R&CZ;( 6'$HK=;M2WLPE,\$ M@X9] _*UDJG2"C0IS^" V2G=\K#CJ04^55>L CLF4S#Q00:JF "9H7;X3Z7N M4.<$XC B8%:CJ& T<":3OI'^ "5H5>:*OZLJ MC*D\7;V9O\&GJD?_R88A=8R:>SWT(V.8"'-Q.RF>U'YL4D28Z'\4V8Q99%<1 M33^J6!EC&I@=70F:>NB#>Y:>;N;' T@1QU5=6Q<>#,*<]KBTU)$%*E#>P.HQ M$YVPI*:LA!*-/$*,='0*Q';>Q'HPC):D$Q1U\U&:AJ7?5W8MGK/*ULO3#\IG MR)?7XLKJ] 7:L:L:#Y8I73LRY$!R.W#F[Z?9R]#6-)2;#;GA^:8T2!8@&L-S ML9]N/KBFNS&-8Z$KSL1'5!=??F(I01\7,Q(U$\R,0ZE /("H'8_=&!#-X4M5 MS_J>]^%>A("B+%0+K"J+B;C&B,+92AC40H0#7+-U+L'6\ M5*4V8%;&QQ)W8G)\ /N%M6%XX0#C+7O[+U!+ P04 " "T@R59+W@O>/P" M "4!@ &0 'AL+W=O]/VS 0_5=. M0>(3:MJT, 9M)=IUC D* K9]=I-+8^'8F>VT]+_?G=-F18)JTCXT]8][[]Y= M[)?AVM@75R!Z>"V5=J.H\+ZZB&.7%E@*US$5:MK)C2V%IZE=QJZR*+( *E6< M=+MG<2FDCL;#L/9@QT-3>R4U/EAP=5D*NYF@,NM1U(MV"X]R67A>B,?#2BSQ M"?V/ZL'2+&Y9,EFB=M)HL)B/HJO>Q63 \2'@I\2UVQL#5[(PYH4G-]DHZK(@ M5)AZ9A#TM\(I*L5$)./WEC-J4S)P?[QC_QIJIUH6PN'4J%\R\\4H.H\@PUS4 MRC^:]3?OVS[L QK&GHAY.TZW)).&)/F Y SNC/:%@YG.,'N+CTE0JRK9J9HD!PF_UZH# M_=X))-UD<("OWU;9#WS]_ZNR(1F\3\+7X\)5(L511.??H5UA-#X^ZIUU+P]( M'+02!X?8_U7B89+Y_?,,/L/QT7G2ZUW".YQPH\$7")J/M(+4U-8AF!P6M2,R MYT["]M24E= ;.FD;*,0*@4P@DWH)J1*R="!T!@J7Q%!9DR+RGNO \QNHU)Y^ M%)RFML8,\)58*-M"**%3=$">$K*A\Y(N&(6(TM3:.Q;4T*?&T921*>][ PLB MD$K1Q*(2VT5.Z.12RURF0GM*[CW:SJY:4TG-'D"TI=!D-F0K_B1K& MWH)/K(148J$0A">P=$#B,+3%(JSYH0U=36N)8[\?>YV@8 *'V'WIH9."Q:&5 M5)S(5LCMQSRG&!;"8E-#MTBS,AHYHV06JLREIJXQS'E:X HH;V@579=->UTZ MX?5W^^\>RGC/*4JTR^"'CH^!]HUIM*NMY5XU3O,WO/'K.V&7_'85Y@3M=CZ= M1F ;#VPFWE3!=Q;&DXN%84&?#;0<0/NY,7XWX03MAVC\!U!+ P04 " "T M@R59$!(/%*8' "4& &0 'AL+W=O&25TJ3GN^ZPEW*1=6ZN[-JCNKF2A4E$!H^*Z2)-N5K? M0B*7UQVO4R\\B45L:*%W^,(IE)^4H/7Z+KCDL.00*A(02.'V]P!TE"0.C&ORK,3F.2%-O? M:_3/-G:,9<8UW,GD#Q&9^+HS[K (YKQ(S)-<_A.J> :$%\I$V[]L6&K)>?N.$W5THNF2)I1*,O-E2K MCN7E^>;C[_>)V^GS_B=T]?'V\__8\??GR\.VJ9Q"=9'IA MA71;(OD'D(;LJ\Q,K-E]%D&TK=]#KQK7_-JU6_\HX&]%XK# ZS+?]?M'\((F MU,#B!?^%4$ND_GXD:I2/.NP$S2H-^C<_/J+-W0OC_C9;_SL'T-_EY_' MD;X]O-PSSV6__C+V/>^2'4)F7S+V6Y$!9=KM,A,#NY-ISK.UU1Q=:H:%&+[& M,HE :<;S7,DWB*PDCV1N&TS.[3-AL&<29X\)S]@9+1*.[U[:WVC5/GN7YPY[ MJ56LL((\P;Q&%9+G'4;"W]I(EWO=YH6)I1)FS8S$MGE%=Y=<19KEA=(%SPRM M-[:L%5CE0J$'DG*2K)DWL17HH:MR 2BKNILXK0;/HAT,KH"A((B,SPTHFEZ@ M"!2M<_-8F@2_KC=0=]MSL-P=32:'H/D;%PF? M)6"QYX4I5)/3C8$F-PZ[7^'YH5$FE45F-/J6<%-FHD(LE6UD'SS'Q2F7)'9@ M8UIQP6\6R"*AFU@!L+2<-D#39CM95A._!%W*1 YV\"?K]_KBMTQ;7_P]OFBQ M^BN>3,V!_<7J^#!TQHT=D6%:%81RD8E_(SQN!L7 ;<>%4IMV$'CH:H,F1;;8 M#LC$W+3[@XHRLJD;,!O9SH3%&??[1]I ;7/[?/_^P9S]$ M%T=63M>=XD8@'SKX?.BSEKM?@0J%WB@\ ;$S*HIZY1\*1]\%$H:?HSXJ$6ZD M[G#;%&YSP9-F[3,7BOW@2;$1>RZWZQ&+P'YE+Z!2=F;+Z;RU_+ IV"[[##-5 M4%G5A>!U@^&@P?S ^GUG,F!]!P??9M%SG7Y0!H3E4J\/6Q)#G"'^R7M99V^# M=3;T1^=M-SQG,#P9#[GC'$3;M[-^&VWH.N[H9+2MA&VW32TRZKMM9T?.>(0Y M&WO;.9L$=:0TS'>QAL-)&V/LC#8)[%.^6UB8W3[[ 9I"Q 8O)TLYC]YP=1?Z M9/?J9R((8T'T>GC MX]3A\(Z.W]//!_OZ6Y/_/?T[\5N;BAL]:-JTW9Y>X(PG=0&=;;?:V!D&6S9V M:LG;DG6'6T5CI,$I)7!@";Q#ANS-AK3G[+>ET#K'L!J:(1 5B@;G.X[ZFLF, M'&^;/F!5UPM_H@,'&!_CBX6"!>T:'KBO>$GY^^ZOC!T&9Y&="IJ BI'Q?LA[WZ6:2=P/^C'":U)H)!'$*>T1Z5-*K9:B 48.H R@W8/W"=WXT\H4 M6TB>:'N-XF$L@.XRZ%H/(Z&;#3$2E!8R*F6(#NNY@ @I/LKO3U)UL=-TL6MN M$1=$21 Z0Q>5KCBM;3R*R&&?3FW_K5MSJ8TBMC@P8 2WO<@,5WB')".#KNNZ M![*"81S1]-PCJEWV]-=L=MG+MF(PZ;J#P])VW'5'P;B6*.NS2FXY9:T6US&6 MRIN(,&N:896D*)9S864K73N!J';HIYV;>=7_K4%<;GWYZF!#!0X4&*+,P%Z" M$;N\E]0%5R&G?%V-N!UR426N/O+G/ZG4>DPZ^RA+RE:EY#:$;M*TG?)TK_I2RY MAO4/O/-M&:^_[W(P]-MB_M#Q@F.L/_#:)"OPG$E#@O:]BNRUWA2G>#[9]^'4 M]-BMY4OC9K5YY3XMWS1OQ,OW]5^Q.Y!8L03FJ.HZHT&GG/KU@Y&Y?>\\D\;( MU'Z-@6,#D@#^/I?2U ]DH/E'Q,U_ %!+ P04 " "T@R598X'D)8<) "^ M&P &0 'AL+W=O\MG:O>#(Q1FM?3$79[IVA53BBV&V+DMN-F]%H=?GO:37+-S*Q=+A MPO#BK.(+<2?XGS;\6XJUC9X96C+3 M^CN^W.3GO1$J) J1.>3 X=]*7(FB0$:@QH_ L]>*1,+XN>'^GFP'6V;.^FQ7,QY7;A;O?Z'"/9,D5^F"TM_V=KO3<8]EM76Z3(0@P:E5/X_ M?PA^B A.1H\0I($@);V](-+R'7?\XLSH-3.X&[CA YE*U*"<5!B4.V?@JP0Z M=W'SZ>KSQVMV?_G?Z[NSH0..N#[, O5;3YT^0GW$/FKEEI9=JUSDV_1#T*15 M)VW4>9L^R?"?=3%@XZ3/TE$Z>8+?N#5O3/S&OVB>IYX&,KGHGS'F2\ M%68E>A>__Y8Y,+Q LDH; M[D2L$;WK.4N3OS&G:7_X.A.@9;Q7='I7PDB=6\8MH_@HDHM \X;\,AJ?_M_^ MWX&/XF3O?+2[DWQ&_FI6KAJ?B(<*T @>(M-Q35G1;G[!CON3XVGT/NFGQT?M M^SL?!)4) $4+X(,.QH#\NLUW;CLG4FDP[ ME;\J(S*]4/)/,!4I"VTM!$:)N71[TE\?)7MKT_1U^WS]D D@%P\BJQ'"*<7 M99Q@?9=R,IH<6!M%MNKL^RL$\GR;T5JJ?,Z+8H_ZY72<_+&_FJ1'W2IT",!_ MU>5R*!7E)#_ ,9V,#G \FHR[U;_??+B_.1BQ)-V/X'34>?\>=,B@2B54XW/I M7TZFD>S/4%P&JZOD"DQHC8$X$!CP_!MT)FC-+B3*7@E,7^^K..D"<_-4^K_N M3Y-)]#[M3TZ.]]A] K&?045.^?\!$^PE?DM'IY\^?Z"GY/0/=L6-VAJM^$J:&DR\E'F?W8I"BCG9?YUII4N9 ML3M(22/=AEU"75A( "IM +""K^&!?>0F6R(6C-A+Y!H4O+J\!9 &FD;-?I!) MB WM/1>@ZUP6:%H.$@*$;@0W#4)S5<,0U8!T NGKEK3I!E#0*,BZ6[$2JA:@ MI%E)0(M8@YO;N]9%1ORHA24W9JVW8#:J%4 K>&H+>BLN\Q9_41][4*'DJ(W& M>VDST ;76I&^HR33 YNF[2;P'P5)._CBVPNJ TW%Z <) YD 'Z1I(-C&(R* M FIXP"Y=Z!W6F=K/?2'68/&VE\&]H#8OO?IQ+Q*N-LIWF4AY4CK2LPE,NY1. M3AM); DM26E'"%,(S"O\(AXXC' >;JB.T)05$,,_PKC&L;N]N]$R5@\9^"@U M$1Q R*V@E,./[R#^A:ZP3 D3K@(FO'M.0HWW0Y..#Z?KMB.;AO$SAZ8I*1FG MTF.IO:])TB:)6W*'LHH:24UL?Q[9[R),?"2O7DP')TTB]=EZ*8'-&L,H',:/ MZHMCI%:23B2H>0V0:!R7*K*35=I*#'$K*9*1#B9=LMX@0&S(L]L>A>XIH-'E MF$)R+C.?,60J;+/B. V S?_H1WLU1]E&A; UY_;T$1=O! /08^!2V6L<1 M*,&,7&8B2[\-&8WD%+#I.VC\1B*!*3;!0]H MAWO W@2-&'@W$E %P-P5$S@?@J%#11T5*L[FN;"9D3,$B9E>B9WD\&RB$PN3 MEMEZ]@UG37!(D^/(V.X-JDUHO@[N!GW:L_OUQHB"W!0L_3KXUX!$.R.X'V*H MN&&KX%#SWP >;2[#I0$64:>+[RW07R%+W)9K4(AKIEV^;HIA41?<8X$'%'2[ M1)XP*U!E0_2_U?G"JP$2Z,@TV'6'@HE"PYAB8F6VSA!MK"P=O&JWU#"8R'!8 MPGC.?5#BGHWJF^:$M5.&HSYPS43EB($%+,4@ "!1I?A/ >0PH;&C!$_W.S=3 MS (IQ0[]@,"$._!BJ3O"P:)6H0]X6P?L3A?P=JV$66S8%Z/1\NU46>H"B-&I M,(1)M1)A+,7 >^JN\[5]Y.[^*AHR6IH!B(!:-K+8>!-@WQ9/2@::*VH\!$-F M%[*4&/5"\AE,:Z!#1HJAWT-G0G+4QI(VPMM2-;;0)N0+P^5"HF&WH!T^[C,0%&5YR6UJ:\GA'L?U6]D13B23P+/,7%FVC(>->)(.T=0,R M@I:==&,!7G@(NDC$)/$US?WU1--@F,&+P%=Z_JJVOJ7X]O77VY;=Q@&<*9M^ M#KY [G0)8G2E#=:B[TWP^*>'IE( "N1MVG^Y_-BF/=;TP0C_J'DAYX! 7T$_ MPX &435VG+2-%&]N)[]!2#A$ZZQ#1TC?/4 M7C>A\[N['SR+!BP_<,,27+_;'Q\)!>$5*0)& "IAGD)$WC_KSFQOGM,&][P8 M=8<5?[0Z;&V4\OM % >J 7B(4Z>:6QHA?JI0;(KBF:*^ O"VB.#-Y-:S).Q>#YH[HSAN:0)' IO MA7(V3U6,#$/V5B!V,^T@?:Y)2"B\ALFV)BU8-;;'7&K;&!?Z8*A[#*BGH_M9 M/QHA2K5WP;B&5W/"[F9<7.\JQ"H0_6(5V<-E]-P@MI?0_8/2[9(&B'F78\WL M;/?[^%[Z'KK,'T:_J930A^F7(S03_.E_7FE7VQ^G+OUO,MUV_\O61VX6$I*\ M$',@!0B8]GR3:%Z&ULW5?;;MLX$/T50ET4+2!85]MR8AN(4Q?M DF#)+M]IJ61140B59** MD[_?(66K=J-DVR0/15\LD9PYG!F>(XZG&R%O5 &@R5U557,B*:AS*M:=J"32S3E7IA;X_\BK*N#.?VKD+.9^*1I>,PX4DJJDJ M*N\74(K-S F2T*?6EV'R";3Y#@Y>*4ME?LFEM0]PQ M;906U=89QQ7C[9/>;>NPYY#XCSB$6X?0QMUN9*/\0#6=3Z78$&FL$YBC)]"_^D8_P?ER_62!"%Y M^R8)@^"8]*&2!54L)91G)&-EHR$C'/7/>"HJ(#6@: LJ@=!*-%PK8MYQJ;:6 M5)%B40BH"-RE4.MV#@@7&M3[(QN.'QV_^'E=2( #MA'D MRKWERL[&<,;\1.3\>U:[Q;](D+C!)-F?"-WQ:/SLD+Y:Y9O*W(+$#QGA3;7" M&HJ<;.N#'T.EL3B,K[MS6=DC^!$KB-S8CQZ;7N8Y?LPLL!;I#:$;*K'B[X+W M#SSB\<.$@FCRS&!W+.F)*TG\ONEA'#Z[H.=]7/Q5D,5!??&0!]%H;^@/)D/R MX8>TK%5P:!7;\N(-8.FL+?VJEGYP2#]+.Z,I0SW7FF_ZJZWVRIV!!HD?=C0R MEU1;:KRH+$&LFLHF XL&]OBM,^6:=98M&41MKCEE(T!@+5EJ=FX7&\[0,148 MACE7BCNMUQ+65(.!&\?NT/>MZS@9N@&J8<>&W"@?$VZ!7 -=@[U*R_O!J\GZ MBMV]3-3AR/7WF(@G&;O)>/3L@%Y9U-$>K0Y$G?R*J*/)PX0"I/6KBWH<]GT] M4-3Q[R;JR>A@& 2]HI[XAU;^@:@5DN^/DW3H3]QPV&HZP2MOZ <_I^F^3L;; M:S KD&O;1IO-L3UH>\UNMNO43]H&];MYV^:?4;EFF%,).;KZ@_'0(;)MG=N! M%K5M5U="8_-K7PO\MP'2&.!Z+K"EV [,!MW_E_E_4$L#!!0 ( +2#)5DU MO7)VZ , (<) 9 >&PO=V]R:W-H965T9A$T3BL"6N\Q2E!=71.YO:![.TV[EA9 M:;,1+F8M*>D]U5_:6XFK<(]2L)HVBHD&)%W-O?/X]"(S\E;@*Z-K-?@&X\E2 MB$>S^%C,O<@0HISFVB 0_'NBEY1S X0TOO68WMZD41Q^[]!_M[ZC+TNBZ*7@ M_[!"5W-OZD%!5Z3C^DZL/]#>GY'!RP57]A?63C9!BWFGM*A[95S7K''_9-/' M8: PC5Y02'J%Q/)VABS+*Z+)8B;%&J211C3S85VUVDB.-28I]UKB*4,]O;A_ MN+G\\\/-IZOKN_O?X/KO+Q\?_IV%&I'->9CW*!<.)7D!90R?1:,K!==-08M# M_1 9[6DE.UH7R5' /SH>0!K[D$1)=@0OW;N96KST%]UT*-G/44R!G*J6Y'3N M804H*I^HMWC[)AY'9T 6LL.JE%UV@#=Q(% M:00MQ=91(5C_>]M)U1&4T *81II*DR5G>/,+:*4H):F!- 603E="LN_$%+TR M1\9< BQE@!UF;^",5K@VC9X4?J M:!9&P&HY;'1+8U=5G=PZY&"0'T5-/)@HCG <^>,HVJ$9$_'XO3^93@?DA\1] M()R#<,$W/1Z[BGRDV@?L]$#*$M-'--J5+'?:I,5@;AAV0HINF2QA0^(Z(2!XYS;7#1S-T;3X,HLR$PDG1#9<[43A0="LT)V6"7UE4E M>&$2A#2#=V'<++5H[:I="X^"VGQ6^E*@T GB^$D+O%L; M_NVU^ %02P,$% @ M(,E6<4?SQ<>! $@X !D !X;"]W;W)K&ULQ5?;8IY2-;6Y)@*J$S=9FJG*IP.P^ M"[O!VK$EKR2'\/?;DK"!$-C)3FKFQ7;+W:=/M[IU&:Z$_*8R $U>BIRKD9=I M75X$@4HR**CR10D<_RR$+*A&42X#54J@J34J\B!JMWM!01GWQD,[]BC'0U'I MG'%XE$1514'E^AIRL1IYH580)X;(*3Q MSP;3:UP:P]WO&OUW&SO&,J<*)B+_BZ4Z&WD#CZ2PH%6NG\3J#]C$TS5XB/N35\V>=@Q&+2/&$0;@\CR=HXLR]^HIN.A%"LB MC3:BF0\;JK5&3F_O9T]7L]N%^.@PT M@AN5(-D 73N@Z A0C]P)KC-%;G@*Z;Y]@*0:9E'-[#HZ"?BERGT2AV= M$WAQ$VEL\>(?C]0!==X&,FURH4J:P,C#/E @G\$;?_X4]MJ7)VAV&IJ=4^CO MH7D:Z/YA=D/"#OG\:1"%X24Y DQF&6!!_2TDTVLB%D2C/!%%2?G:FO8O%4D$ M5R)G*=608BL^ Z] X4>. T0+4H*TZP-/@,S7%J(4*Y"$\11K6*Z)21-+T$C! M$GM:^];O0N2X*C"^)&:U2:L<[4Q*N58.!&2" JX.AMG;+- Q 9ID.%(*J>D< M0>:5PFRHQIM5,H ZDP"$\I0H]D(*5[%@*I9@O:V;>KNP:6O'E[_\/;.,=WMK MR[36F6(LIS5>OTV,YA%_QY_'(S/YVK+?\[NDM14[>V(S'/N#7:W0[Z%XZ] 9 MS>TL:UFY1?O 613ZYULA]J/# #K^EGO4]?O;5)J]0!1%Q5E"#;S"J!:2.G>5 MA$-WAEV#Y1]F:X_-CJOM[!TV4R&4QO);P7-S;Z%\4I1U&5I]L,=RKBUN&T)$:.NJ:C:9=RJ M]\Q$2-0I!4_-?K9'8N."4&64]TK")U.]CT>43F]U\T<[4ZHC=_.J;L\&LZY;O!X.V]%,S65[K!>J MQLQ$-W/9X;:9#MM%H^38;II70QY%Z7 NRWIP?FK'+IKS4[WLJK)6%PUIE_.Y M;.[?JDK?G@W88#/PK9S..C,P/#]=R*FZ5-UOBXL&=\,ME7$Y5W5;ZIHT:G(V M>,->OXW->KO@]U+=MLY_8C2YUOH/<_-I?#:(C$"J4J/.4)"XW*AWJJH,(8CQ MYYKF8,O2;'3_;ZC_R^H.7:YEJ][IZC_EN)N=#?(!&:N)7%;=-WW[JUKKDQAZ M(UVU]I?/ MI\,.9,WD<+0F\79%@N\AD9+/NNYF+?E0C]5X=_\0XFQEXAN9WO*#!/^]K(Z) M8)3PB,<'Z(FMCL+2$]^CXXI$'"9A4N-UNY C=39 [+>JN5&#\Y]_8FET"M@?(CZ/Q/P,(DO7Z\^$):0GW_*.6,GQ"-)+M44R=2U2"6K0MV1D9XO=&T' M]83(FN"O:A9-V2J"?">WLW(T(^.R'36JPU!9RWI4RHJ4]:H@14XM7K9C!3D MJ<=FL6Q;U;9FZ4(U5N!ZI([)54 (V$0WG56A[>TTTM.Z_,M0OE'UC=EITQYF2B&F-\2(.J9UB1 M3LDY**W2737XV\G*RF 8FFB#10PKW,WEO1&A6HX5F>O&FKPF\")!H09;H^Y: MA6/RR?AS?;>KA;%JHRKKHI%N.Q, _0*0K55GYN04A1W39OU(-[ Q(F9LF,BY M7JXCQTSV7$:JO#$+S&CI"K!1Y)B@H-KI;M8HM5*RO(,ZMHPH4T8(BL#]M@C0 M74);06]A2O**'<)[DP/'EG8D3E[\>F5-X[:C[=2% MAD>W=Y_J,9+-N+7?:Y""GO\MCUT;7ZYC.O#'6II<:>1R2[YMXFI#YA5AF:!9 M&CDC<4'3F#L#@J9,./?6"?S$&>$\HQ'J_KN'.;Q9PI*(&.)BG>"Z]D5A*17"YQI[MK6CJ3]V9(7YQ2>ZWD1;_\GX!4_T/!:34PO6;% ][G;B53.:+03E[N:X3YSP_B( M0:J\UP;UF^=LPQ'$-TY]MKJ0TB@7Y L,M];PN1B_,BYD1?[BE?$-L$)7_K6" M;*@3:'JRGI;H-*ZC_?KBB!Z:#FYX;P FFI[EY85T[!N#L\A?%\7^6""9!+EH M3&IV]Y0L*HD6;HJ(^G-9+FQ#E^-QN2=K:1'[JIN2;.8%DF\Y5*5\KJL M8.9 F19YN RB;^7,'V:HI $'T"10JV,&T=&!/FH]O@7^"Y5/Z.L-%S14@PL_ M!O?Z.*<16JIM[0]-O*VR$9I"H!5E*(ZYSQU=/!1X,>R1^^,93VF2^0GR4M?G MQEWBNW!7E"!'W0@7G&9)Z@Y0'A\N?-8S2/2]N"N'1YVF:T+&"46@#'$ =K$, M/3H+PRX$-4_ZD(AIFO>1FS.VERKP6H8N_B30E="D\!.) ?+YHQD/9#O-A ,. M(^0S>RS( D9*_'R"JX2?"+D_=&1E"& LXVRV@['6(NU"+6%=LL^X1Z*GG+#8 M<0]C#^'D8; %,,G3W8< 5\-7Q*D'KXQ6G#E8"Y$CDN(EL5:,4.$OA+7@XD!E M?^[KCX.U> !KI7Z?*WS $H!:>?YTJ!4"?3P ^L) .=2#1>Y7GN>^[D59@A5 M_6Y'B4T%W7G6ISQS'^US/*/L#,0&F*%H_A.0Q7*Q ]JV-LYI$:S;61!Z&1=[ M))AY7DQ_3) EXC1X"I *&--O 1DJ:Z!7P%>9KW@"F(#'V!."W$[,YX?\_U'7! J CY\$MH")!&!ZBAH+OQX9"@D M?OU.:,S\I 0$S!/Q2.#%36'P^P'2G@=2+ J<;EEA?.3%$ULD]Y]NY6CGO<*] M",)1/G7B"[A2%(]#6R("^BN< :.6^VR0L9VC+6#H(NI5$::LQR\)MPIJX.:+ MP"UNCM7"!?TYKT^%6ZQ(#LZ'=QP$7#P/G (''EIXY.>3W\6*^.F'6^:Q('#F M[2",;=($JL=#U7NJ:18^"OM_O#YO)_Z^,X\,A8J[C== I-3%F^;]S>%.S %B M#2+8_ZXISE ]G=:+SNUTK!A@],#Q1)31*-G3B0T8='#>;I$VQQ#%7KHBHT6: M/K$1,RH"9].<%E'P-$3X:Y/@&8EYHP)]'OV:*R)[[^O2VG!Z<#^\XW)83WQQ)X$F0,[\]AEXQ M1R)Y*V]'M MAYYO5M\W]LM77XE^ELVTA%DK-<'6Z#A+!J19?7FYNNGTPG[M>*V[3L_MWYF2 M8]68!9B?:-UM;@R#[>>OY_\%4$L#!!0 ( +2#)5DAE/4N30, "0) 9 M >&PO=V]R:W-H965T[B6V)S/??.,9>SS< M"?E-;1 UO)9%I4;.1NOZTO-4ML&2J0M18T5_5D*63--2KCU52V2Y-2H++_3] MQ"L9KYSQT,KF^'JCC< ;#VNVQF?4 M7^NYI)77HN2\Q$IQ48'$U\ :+P@ 1C7_VF$[KTAAVYP?T.QL[Q;)D"F]$\1?/]6;DI [DN&+; M0C^)W1^XCZ=G\#)1*/N%7:,;]QS(MDJ+-2-[W>]#QR#U/S (]P:A MY=TXLBQ_9YJ-AU+L0!IM0C,3&ZJU)G*\,DEYUI+^O\_G][3%96"E,9W>/3P^3Q?1Q-O0T>31V7K9'OV[0PP_0$W@0E=XH MN*URS'^V]XAI2S<\T+T.SP)^V187$ 4NA'X8G\&+VO CBQ?]1^$WZ/'[Z.9 M7:J:93ARZ,0HE"_HC#]_"A+_Z@SWN.4>GT/_9>[GT6>/BUL($OC\*0V#\ K^ MC3=XU!N45+Y28J6!*85:02;H*"N-.8@5D *L1$%W J_6P#109K^WF056Y?"% M55NZ)UKAI>7B1U>_/+:^6D''U;&RY6,_TRH3)8)FK^8ZVE:YHC%#_L*6!5K* ME.6:\1QXJXFJ!?H-@M0-T_1(D/3AB>WH3&N4G!6*C%]HUP31.:9"VD%\(AVX M@[0'\[UK?*7[6G7<&A=O/A/7CWK[_!P#!;$;^,&).'8'_1 60K,"Q'N)?8LG M3MVT'W0$T< ->X-6,,DRN<4.R?]]31PBJJ7XFQH-!:1^VI'(=_MQO[M% S>@ M#!SLJ$[,5C#;HDX2DKI^T#OU'KBAG\ ]4C>"@K,E+[CFG90?QLA-!LFIN=L/ MDP]*@-(5^^_47=*+]Q7 CE/X%EH2D+]N>:U)OWPP.3:UXI*'!%IOY%GSJN;'IRL]"BMGUP*31U53O= MT#,&I5&@_RLA]&%A'+0/H_$/4$L#!!0 ( +2#)5F*E"F\A ( +\' 9 M >&PO=V]R:W-H965T%?S_;2;.6I15B?$E\YWN>QW>V[J(-XP\B M!Y#HL2RHF%BYE-78MD6:0XG%.:N JITEXR66RN0K6U0<<&9 96%[CA/:)2;4 MBB/C6_ X8K4L"(4%1Z(N2\R?IE"PS<1RK:WCAJQRJ1UV'%5X!;<@[ZH%5Y;= ML62D!"H(HXC#\8>M'&532Q''P@*2*5FP.JW MAAD4A292Q_C=_D5G*U2Q1. MQ@O\A-8"+8";-T=30 D1:<%$S0%]1'>W"3H].4,GB%#T(V>UP#03D2V5MF:P MTU9GVNAX!W1\=,VHS 6:TPRR'GQR'!\>P=LJYRYQ;YOXU#M*^+4NSI'O?D"> MXP4]YYF]'.[WI?-_ZO-7J^\5P^]>@6_X_->\@K[+;NB"?CK=V\:BPBE,+-6\ M!/ U6/'[=V[H?.ZK]%N2)6])-G\CLKT[";H["8ZQQ]_5D+BB*2L!G7YC0ISU MW4-#$1H*/1+6L3MR/XTB>[U;X)XH;Q@.]Z.2?Z.\T!DY^U'S'JY@- R[J"97 M>ZSS-6$!:X#U/Z2,;DUM$ WL^,_4$L# M!!0 ( +2#)5FB;@X<1 ( (H& 9 >&PO=V]R:W-H965T$U,/TD MYZ+"2D]%X?/9K+)8LT =T"I 6F-WSW3&;8TB:?C(_VKK5W7LL<2 M[CC]13)5QLX'!V60XX:J'6^_05_/S/!23J6]HK:+#3\Z*&VDXE6?K TJPKH[ M?NG/X21!<\XG!'U"8+V[C:SE9ZQP$@G>(F&B-!,\(*M!("LP+TL2L9N4KO8.+M.UIP@1:B!\Y4*=$7ED'V M;[ZKS0:]X*BW#D:!]PV=H-"_08$73$=XX5!N:'GA!=ZY,F_0_A5M6$8.)&LP M/5=U!YV>AYKO9BEKG$+LZ ]#@CB D[Q_Y\^]3R/*TT%Y.D9/=@T%Y'O[V:U_ MJHU6&:_5_X?3 M_ %02P,$% @ M(,E672HTAU>"0 8AD !D !X;"]W;W)K&ULM5G;]/!H>#9N%:+U>!%O9/CRNY5#,5;JNIPZ_]5DJN M2V6\MD8XM3@93 Y?GQW1?M[P;ZWN?>^[($_FUGZA'U?YR>" #%*%R@))D/BX M4^>J*$@0S/B:9 Y:E72P_[V1_I9]AR]SZ=6Y+?ZC\[ Z&;P:B%PM9%V$:WO_ MFTK^O"!YF2T\_Q7W<>_1BX'(:A]LF0[#@E*;^"F_I3CT#KPZ^,Z!<3HP9KNC M(K;R0@9Y>NSLO7"T&]+H"[O*IV&<-I2467!XJG$NG%Y_78JSV]G5I\O93$P^78BSR>QJ1D^FUY>SRT\W$][Y9&H+G6GEGQ[O!UA! MLO:SI/$L:AQ_1^.1^&A-6'EQ:7*5;Y[?A_6M"^/&A;/Q3H&_U\5(/#L<_:D#QC><_^R9!LBT-4\WR[&JJVU[Z2F3H9H)R\>VK*19/[#SYOJ\VSX)A31!9V+J[&>5=8?$!UWJ -N^HW0R;:7PEAFX M;Z6<$1_!<@6MG,MYH1[HGGUL3XUB$/DP3GI%(?.HL%R&!R$1TBD!X4H;N0B( M"NJ?">Y.%6LB2>4&$3<+$6F]3-Z.9DT6G\:47:MD.[)SY10CKD%9^KV!SY[\]XAO M;LL'"MZ/.F3V +SF:C@3@\IM/7PY1N?7$2,D0&W[K*&4]8%J@"L+%'*=8MD>KJ0) $Q@*I#;);BK-C0-MWAYEMB&*4AI,B-MH9L-K!"Y4C:QG)')GT28:\^ZGRO[1B/$[BC@[]H._B+G4WW3'KM M2>8T%EWGXJQ'+),L U"9)YN9;%M__S^IBI1KB5(]D+W1MA::DD#5X(G%(NGU MH2RC/%;<-<"=$P$Z)7I1GU@IV6XO2UUK+@M*? 1U0,_R,HN06\D[)>9*&8&: MP1S=5&)G,K:- &7QR8)*#E]LML.5] TJX29&"J"LYR$ S5>$>%,A-")(J5TE M+L "@HN6%HV3J+/H.CG\F-T\WS708"+<4 "&V3758E<0(M=>+I> (+>*;Q@,=%T79;9@=47*ZJ[XY[Q(?H.B"X=H[C.+R;3*;M)-=%MLL' MX&5Q50F/HHPJWQYG8+G 8^KT?;J;@R0QFZ=)BI[T0U5*,#AA$Y]?:YA,2D @ M*HUR7:0198$4%4KFB$5$,,6&M5!T?@9+3=HP)\#B J"'4Y"<:/QS;>)DQQE( MY;E;9&25*),&>15L5]S]VP(U>$Q+$;X\:_18:,TFD\X@!2K/JRV MD?0D0NTZGH<;]-))'![LO6]IXP'5$F\\+/$&+V_C5EKK:N'*I(:D31I7^G-5 M^%]R@QU<9D W4/$9I1#1-;T'D5TS MZ%$[@Q[M' RO8:T),/4*UP.DI3\".FOP/8L V#9S_D.BXTQVI\HYG(_]ET+U MMLU][R0(U.32(5=G%A\;;>'M9';6LJ=^I+0[>EL1T+O7.[/;]ABIWSMX.41+ MBC>5ZW:@>G*#NLK$^-7!T]?BJJ1A,=D/T^ MB87A\15XN]K^ V$2WYMWV^-_'SY*M\1=4A1J@:,'HY>X,;GX1C_^"+;BM^AS M&W GY*^XO<,MVH#G"XLVDGZ0@O;?*J?_!5!+ P04 " "T@R59+J#)_$,# M !9"0 &0 'AL+W=OH "1ZJFDCYD8E97MI62*OH,;B@K70J),MXS662N2E)5H. MN.B-:FJYMAU:-2:-L9CU>_=\,6.=I*2!>XY$5]>8/U\#9;NYX1B'C924E=0; MUF+6XA(RD _M/5>2-:(4I(9&$-8@#MNY<>5<7@=:OU?X1F G)O](1[)A[(<6 M;HJY86M"0"&7&@&KY1&60*D&4C3^VF,:HTMM./T_H'_J8U>Q;+" ):/?22&K MN1$;J( M[JA,V>XS[./I">:,BOZ+=H-NF!@H[X1D]=Y8,:A),ZSX:9^'B4%L M_\3 W1NX/>_!4<_R(Y9X,>-LA[C65FCZIP^UMU;D2*,O)9-V!\[9X%_-+1"^0Y)G)MUS^#YXT9 M\'H\[W]EX%3@ ZY_&E=WTZ5H<0YS0[6+ /X(QN+=&R>T/YQA[8^L_7/HBTQU M9]%10&R+^W(XZ&3DZ5\T#JLN(/WQSIP\-$2G+Y,J MBV(\?XN<)#!=/YGLQ+;IQLXKJ+?*=6(&L3TU]B,SMFV40MMM*,GU)=YPH+@I MCA1BTPFC4?1CTXZ"5^A!9-I!/(J1;89!>"#])VG*@M7CJ6<&R9&QXYI)\CIT MY2ZX+R7WZ\+TA.YW')56J<2 M.KG9Q#;CR)]LA+X9>:_+6-6+HN:Z+_HI-),@/E44UF3&PO=V]R:W-H965TZ>X[V0U]]R M\5FN 13YDB:9'!AKI3:7EB47:TBI[/ -9/AGR45*%2[%RI(; 30NF-+$Q+#/C]Q88G!EM9FQ-MR9SSSWIQ&P\,6P." M!!9*2Z X/,,8DD0+0AC_[&0:E4K-6)_OI;\K;$=;YE3"F"=_LUBM!T;/(#$L M:9ZH3WS[ 7;V% 7/)'%EVS+O3YN7N12\73'C A2EI4C_;([AQI#SS[!X.X8 MW )WJ:A >4,5'?8%WQ*A=Z,T/2E,+;@1',NT4Z9*X%^&?&HX'DT_F$1_R>2O MQ]NGT*;6DDRR&.)#?@O!5HC=/>)KMU7@GWG2(9YC$M=V_19Y7G4"7B'/^ZX3:#*\ ME.LWR]79="DW= $# ]-%@G@&8_CVC=.UKUI0^Q5JOTWZ\#9[!JDP.Y1L@M;. M_/9-S[6]*_*]([KBI7!%1:!9CJE]0-N/VEWE9[KF0ETH$"EAKV94&W\CW:X9V<$RW [/7\\F, M*YJ<@. &CAE%89WB!*87>BV^"RK?!:W'/\7*&N>(G2\);;.HR;/MHG^49W_T M6$5*$0#G$9D!>@KW;H<#?Q&J\1],QQKVH4KS:/_$->S,]"P4ZXXD2M M!91:CO,R@%'W0$)SU?]5QOH=^7\U_&4S (L PV/W[/ ;?GS< M-3W3K%J;E()8%@-^'_),0%V"ZV@ZL*'_P)02P,$% @ MM(,E68H[9?L4 P Z0D !D !X;"]W;W)K&UL MU59?3]LP$/\J5IC0)H7F3Y.V0%NIL*(QP80H9<]ND#1UK M*]@>MKWD?.>[G^\N9]]UEU(]Z#F (4\9%[KGS(W)3SQ/3^>04=V0.0C<2:7* MJ$%6S3R=*Z!):91Q+_3]EI=1)IQ^MY3=J'Y7%H8S 3>*Z"++J'H^ RZ7/2=P MUH);-IL;*_#ZW9S.8 1FG-\HY+P:)6$9",VD( K2GC,(3LXBJU\JW#-8ZHTU ML9%,I'RPS&72EW=5#IY6=J:+^KY)(HJXUH=E&&6EJC#REMP/KL9#1G>P^]JUT,URZ>A7L!OQ:\09J!2T(_C/;@->N0FR5>\WTA M;XNT HJV ]G[@Q="@UJ TS\\"%K^Z1XWH]K-:!]Z?X3W+RDX$)F2 ME DJIHQRPH0VJL!;833>B:E4F&-"#4DI4V1!>8'Z6.MVKU"*B9FM6::W!;?_ M^,.#3N@W3\G_0K%*GNLJ>9%24>!;\^O&FE[! C@)7O'A*[[YV_J7(B_P5ZW( M>Z3G5,\)/!8,_ZK]W2=_/<6O*=YS>,;'2#U@\T@+D=0['T@01>YQW-J0V%40 MGNZ5!&'+;45OLQHL*./VD3K"UG2D,4E$VZ)GAL$_F*QQ8]0@=]@W=8'U**0! MO55W,]@U#=JAVXH[;];?)3]NN7$<[U0O7<0G)9>*&L#>-C'KE#Z_W5??]:/V MG[OJ-L/CG=IWTE#^DK]MY19T0K?MQQN2MY1;X,=NIQ/MMMKVL'L;[3<#-2N' M#(V9+(2I.G$MK>>80=6^7]2K(>B:JAD^\81#BJ9^HQT[1%6#1<48F9?-?"(- MC@;EKKK_P!02P,$% @ M(,E6>/-?R94 P MIPD !D !X;"]W;W)K&ULW59MC]HX$/XK5GKJ MBX0V+R1 MH $>]MVJW:U*O1._>A-)L2J8^=LI^SVUW?L0(#"HKW[>%]P9CSS M^!GFQ1ZOI?JN2P!#'BHN],0KC:DO?5]G)5147\@:!.X44E74H*A6OJX5T-PY M5=R/@F#@5Y0);SIVNCLU'6+MG<%?#-9Z[YO82.ZE_&Z%FWSB M!980<,B,1:"X_( KX-P"(8U_-IA>=Z1UW/_>HK]SL6,L]U3#E>1_L]R4$V_D MD1P*VG#S1:X_P"8>1S"37+M?LFYMAWABUF@CJXTSRA43[4H?-O_#GL,H>,(A MVCA$CG=[D&/Y)S5T.E9R392U1C3[X4)UWDB."9N4A5&XR]#/3&]NE[/;]S?S M3]=DMEA<+Q?D]9+><]!OQKY!?&OE9QNL>8L5/8$U()^E,*4FUR*'_-#?1UX= MN6A+;AZ=!?S8\ O2#WLD"J+X#%Z_"[;O\/K/#?94C"U$?!K"]LBEKFD&$P^; M0(/Z =[TY8MP$+P]0S#N",;GT*<+[+F\X4!D03)9U50\OM*D;E168N7EA E# MQ8IA?@C5&HSN$6E*4,245)"5E/F:<7XJJO/GOGPQBH+^6_)_6;%P'KO"V6FI M:'#P'&]LUVMMZ_M%;S7LEM>ZD698U5<,/+&YQK=L6'P&X_MFH:#(]TP/9 \NPY \U MWF!80W0__58K-)QJ]?/0_[:5#HKNFTLGCG*[#/@AS4 M&UMBZ<"J=]GK#YUBN%-@":)B]+LB/2)E-Y8X]X 6!LMOJTZP1EW.GTKAJ=3X M>Y[;3=*V367KX[\_8)\YFJ%1.:<"C0-;@88BI4^RQH M!2-K=Q7?2X.-XSY+?$F!L@:X7TAIMH(]H'N;37\!4$L#!!0 ( +2#)5DM MR)"[4 0 /L. 9 >&PO=V]R:W-H965TZC7>T;V]\(^:36 )J\)#%7 VNM=7KN.&J^AH0J6Z3 \60I9$(U;N7* M4:D$NLB%DMCQ73=R$LJX->SGM(D<]D6F8\9A(HG*DH3*UPN(Q69@>59)N&>K MM38$9]A/Z0JFH/]*)Q)W3H6R8 EPQ00G$I8#:^2=7T2&/V=X9+!1M34QELR$ M>#*;Z\7 #ZRN11:PI%FL[\7F=]C:TS9X:9TB+9"J,&">/%E[YL MW^$8 7\KX.=Z%Q?E6GZEF@[[4FR(--R(9A:YJ;DT*L>X<'TX>[ M\9]G%Z/IY5D]4!G,:B3OJ/Q&L/LS+>0%P6D_PYD1&X$ MUVM%+OD"%OOR#JI7Z>B7.E[XC8!_9+%- N^4^*X?-N %E2%*X'XS["3KOM7(>88KD#\4U'LU,22 MM:9((HPC@,@4Y0MU1E?593?).7Z M#(O!QZ@3R>8[KC&Z3:*;,QI7M"O*)'FD<;9CFQ;NFF 0Y$OR #(AK5>@4IW4 MR'>95AJ=B;J=DBN8RVH4R-ZKAT&A4$8+B4] MJG%$GNW[1_NR?+T=5BOR.R=U-3R['1V-AWUA":RN6RNLHT6N[7:.1MM[L/VT M*5DZH5M7MF-W._AF76__S7I!::DIX6^QHJA7Q^C:G=T#AN:]:UCXNB%Y!&5, MQ 2'EQ2;*:ZU(,](?0M]K'H-M;%=U<;VT;5QOJ9\5580(#Q+9AB%>, %/WO> M:I]7,64T3S.)$IA#V\)C$$2"1:LH>(>*9K,N_W[)^:@L?,3W S7A0,:_F_FW MU?L>R/">7W,[AD*[2N1Z GN!W>V5(=;:3\:N'05[=[R)-F^/UXT:PBJJPBKZ MIV&%?[I8DB6U\#HRSJD-) G(53YV*8S MC.MB-JFHU60W*@::'7LQ%MY0N6)8N&-8HJAK=[ 6RV+4*C9:I/EX,Q,:AZ5\ MN<;I%*1AP/.E$+K7?X-U!+ P04 " "T@R599YE1=DD# !S" M&0 'AL+W=OQX^IQ/O M--TJ_6PV );L2B'-+-A86UV'HY "$>$,C[M.8-V2P?LK@_L/_G<,9<5,W"GQ)\\MYM9, E(#@6K MA?V@MK_ /I_4\65*&'\EVR:6C@*2U<:J<@]&!267S9WM]N^A YA$WP D>T#B M=3<;>97OF&7SJ59;HETTLKF%3]6C41R7KBA+J_$I1YR=+WZ_>_]P3YYN_KI? MDHLGMA)@WDQ#B]0N(,SV-+<-3?(-FA%Y4-)N#+F7.>0O\2%*:G4E!UVWR5G" M7VMQ28;Q@"110L_P#=L\AYYO^!UY]J77H&D_VIV,:U.Q#&8!?OH&]&<(YJ]? MQ:/H[1EMM-5&S['/EWC2\EH 487[2FLF")>9*H%8MB.PPP-H@+!2U=*:/O'G MZ5^_FB31\"WYO^Y+OGM1;8*U^N)K]76DJYV[#%O/G2JKVB+&996Y14^FA^ ? MR'A QVG'IH-D/&KM=[PH0(/, -N#P6/(Y9H46I77_STWRRQT-($9$(FM$2M3 M0 X:2^.5XL:9;5'Q()X<9='T*/FCU)"IM>3_8*H.*90Q9 42"FY/=K\:Q2>^ M-+EJU_>[#! ..\AJU\P(RG2OC/D&]S621K3'%W5R5=GSCZZEY2^)MESF!1/B M!'V1#N,WI]XX&1V]V"NQ$TJ?K'8O,]]7R7+6PYC0J(=Q1(='[\^+WYX6O16+ MD],*IM'Q[3^AADQ#SJWY;OP%33M[O[<;T*0"[/\24VB3P3H0)G/"\K^Q1^.0 MLOL/Y>0(I%>G$NFQ,(MSG__5((UIQTX'=#(^V'V-)^P,@A+TVH\[@]7%SM', MA-;;3M2;9I 1.B'LS^%I,O- $!!7D MVB!0?#S !525 <(P_ME@>KLEC>/^^Q;]=YL[YG)'%5R(ZALK=#GQ,H\4L*1M MI6_$^@ML\ND;O%Q4ROZ2M;,=##V2MTJ+>N.,$=2,NR=]W-1ASR$+7W"(-PZQ MC=LM9*/\3#6=CJ58$VFL$GY#%E_.;^;DY);>5: ^C0.-2QC#(-_ S1Q<_ +<@%P*KDM%YKR XM _P-!V M\<7;^&;Q4< _VJI'DL@G<1BG1_"27;Z)Q4M>D6]7F@XE[48Q2CE5#<_10NH;5HN5;$O+O0T)(JLA05REN1$VNF MT)'H4K0* 16!QQP:[>: <*&16J?DXXEA+@@'8$2?-D2;.U,>0Q M/PFY^I[5]N-O),K\:)3M3\3^<#!\I#QZ/ M2F-Q&%]9KR@ZVVSMCUA1XJ=A\M+T?+G$X\T":Y'?$[JF$BM^$GUZYI$.GR<4 M):,W!KME24=<619V3??3^,T%O>KBXFM!9@?UQ4WN)8.]8=@;]"I;.V]*L=_>"0?I9V1E.&>KXU7W=76^V5NP -$H]Z-#+7EBLU7EV6 M(%9-55N 10.[_=:9L$>?TW4\< / M]YB(.YGZV7#PYH#>6=3)'JT.1)V]1M3)Z'E"$=+ZW44]C+M.#Q1U^E\3]6AP M,(RB3E&/PD.K\$#4"LGWOY-T'([\N.\TG>&5UP^CG]-T5TL3[+6<-N.YS-[OKW<]=R_K=W#7^EU2N&.94P1)=P]ZP[Q'IFFDWT**Q#>R=T-@. MV]<2_W^ - ;X?2FPI=@,S *[?S33?P%02P,$% @ M(,E60L49Q2K @ M]08 !D !X;"]W;W)K&ULQ551;]HP$/XK5JI5 MFS0E(0F4M1"IL$[K)"@"NCV;Y$*L.G9F.TW[[V<[$&!0MCWM)?;9=]]]GYT[ M#VHNGF0.H-!+09D<.KE2Y;7GR22' DN7E\#T3L9%@94VQ=J3I0"H'O M][P"$^;$ [LV$_& 5XH2!C.!9%446+R.@/)ZZ'2<[<*1\;<.WPG4P%]_XV 8!,06-Y- M(LOR,U8X'@A>(V&\-9J96*DV6I,CS%S*0@F]2W2/B^7#Y&Z.Q@_3\=UT M.;]=WC],%^C]$J\HR \#3^DLQM=+-HBC!C%X [&')IRI7*([ED)Z&.]I=BW% M8$MQ%)P%_%91%X6=CRCP@^@,7MA*#BU>^&^23REM@*+30*9>KF6)$Q@ZNB D MB&=PXLN+3L^_.4,S:FE&Y]!C4W]I10'Q#*D<4 DB :9TI9B5A#/)*4FQ@E07 MQS.P"N0I">>37%[T S^\0?][7.8"X.#'0?K:7^VU;WT6Y.4/'K^/YH]!UKW9':3H>+XJ*D00;>*E590(WZ2H!Q^D, MNQ;+/3ZM S:[5*=^A D6:Z+9 M4\ATJ.]>=1TDFB;;&(J7MK&MN-)MTDYS_2Z!, YZ/^-<;0V3H'WIXE]02P,$ M% @ M(,E67CE.^7!!P ZR8 !D !X;"]W;W)K&ULY5IM;]LX$OXKA%OLI0!1\YU4FP1HN]U>%V@W2+)[GQ6;MH65):\D M-^G]^AW*CD2%M+=) ;N'^V):(W$XPWE[.-+I;5G]62^L;=#=,B_JL]&B:5:O MQN-ZLK#+M'Y9KFP!=V9EM4P;N*SFXWI5V73:3EKF8T:(&B_3K!B=G[:TB^K\ MM%PW>5;8BPK5Z^4RK;Z^M7EY>S:BHWO"939?-(XP/C]=I7-[99O?5Q<57(T[ M+M-L:8LZ*PM4V=G9Z U]]5:XY]L'_LCL;>W]1TZ3F[+\TUU\G)Z-B!/(YG;2 M. XI#%_L.YOGCA&(\=>6YZA;TDWT_]]S_Z75'72Y26O[KLS_DTV;Q=G(C-#4 MSM)UWER6M_^V6WVDXS++E]7;#B^W@I="GLF@6-7I? M3.UT.'\,?KQ3EK?\^+56OTHD]&T$0U+;Z8D?G/SVCBKS>(Z#H!!3[N)]?0FCJF]7["?GAE&^&MT[/%Z45D[<+/NUD5Y:ZONZF,QA>"I MW$9UA#58)_K*IREC7]5(XEZ^0+VT>)A*W* MP9/F&,UM =Z0O>CQC1A 97B1,F JE02T!A6 M)#(?-H09\ ]P!8M.C?P5$8Q&?CE M4#.XUKX;GU"0RO3:,(&9H??8>.V&AYJX>?.A#0Q1\^, M;Y:0[K/_M@[L\D16-&DQSUPIWYM?/-%CMZ,3?K90^Z (M6L%+BW"S6"4A,\1 M$=(BP<311>5"L_F*T2I/BZ9-(O:O=;9RQ0S2R33;$;4X$6$H,A&N0E5(>ZAY MGU:X")/-H<=WZZIJM:]KV_@6%EI!1O=C64I,M?0?P8+XUY0;+)0_16F!$RFZ M5?(LOIOE>3@-!-T/M[C+L@2*0J04:4B.)EP=JGC,\03LAPGIFBDL M=1@@QQH/C;OX=^$N(B%&?0_G#&NI? )F8G_B:RT#@;X3=QFPJ%=TGX) M[SE+*CSS4/H03NX'6P FF1H> GP-GR,O'SQW6C'J82WP'"Z38V(M :["CH2U MP,21S'[H\&YQ$\[:.0B]G MXH %=>=%]6."+"Y4M N@.&QF6 (T9-9(K0!;Z5!Q"3 !CK%'=[*'XU5V][_2 MX6* _0GSPR#A@)K\^@7EBOMA$28Y=X!0B=Z-M)A(,&.]\QL*QN\SF@-[0Z,/ M6B0@!ASR(A1B+=K5:8$'DQV2;)W=TM ^6\5[@7 M@7O**\^_ %?RY'%HBQ- ?XE'<&KY9P--!ZTMP- )Z57A+JV+8\*M!#NX>12X MQ5Q;+9[0#SD^%6[11.Z]'Y^Q%W Q$^D"1PXMC(3Q%%:Q1#R]N>6.!9&>MX

6A(5,POO XB*1]ONO]H31&,B=U1B!P8]G#=,TJX-D>SDRS5.E'IB(::8 M1WK3#"_9M(F3!-@V4BH1T@GK2R1#HC"!M#R/W9 M9(O#=NVSWP%Q70DBO3()"")YW"LG]V+2K\M#+5V;Q+LXT5A)ZKUQ B"@^#'+ M,FRUT4?J@@!JC1S(#CT^O2RKO??C,_:791ENAXR0;;FML93"4OM1RA:O-IU>:B*5?MYTPW9=.4R_;OPJ936[D'X/ZL M+)O["[= ]WW;^=]02P,$% @ M(,E68A%61E! P P@@ !D !X;"]W M;W)K&ULQ59M;]LV$/XKA#H4&R!$[[*D."BHO> 4EOMEP45"%1[%U9"6 9L:HR!W?=6.GH*RT)B,C M6XC)B-'63:V7!T0Y) JC4!Q>8)K MR',-A&'\TV):G4MMV-\?T&]-[IC+FDJXYOE?+%.[L958)(,-K7/UR/>?HZ46B1M):*%ZTQ1E"PLEGIF%2--0;'2MV4I1+XEJ&=FBR_+A9W-_+R?KF8/<_+[BJYSD'^,'(6N-8"3MFZN&C?^.VYBVWO8,A=W/XA[BO_+."7.K\@@6<3W_7#,WA!5X? X 7_0QU.I=^@AZ?1 M]ZG,[&'7>SA.?3)$F]J5N= ^(9PM0.!Q!$" M2D6HE*#DJ7C/(W[\D/AN\(G\UQ6[],-TJ1/0LL:[_TIV6'4GF\>L3'D!1-%G M?>_K,I.XIL">-/T(+3."5:PHRPCK-$%V0+\1+['])'DCB ?DD>[Q\B@0C.82 MC9^P2!S#>1L*:GOAD71H#Y.(+%K7\(P?1MESJUV\^(QM-XC(@VG'6R OM#W7 M.Q*']G#@DQ57-#_9QUX^86(G Z\G"(:V'PW/D"GJR!3]:S+1-!4UO*1ZBDCG MT7XQD:9M I7@?^,8("F7K\H8N/8@'/3K.K0];-O!#LFE,Z=F@!QU,;%=+SKV M[MF^&Y,[P%E!*]7AR6 ,['L;'YO; C]_A#?8X=$^0-8["EC9O.]9+ M+?;07_].)!ZZZCATBCI.;ZX4(+9F>DJL2EVJ9L1TTFY 3YNY]*+>3/=[*K:L ME"2'#9JZ%P/DC6@F9G-0O#)3:LT5SCRSW>%/!@BM@.\WG*O#03OH?ELF/P%0 M2P,$% @ M(,E6<=A!KS= P )!0 !D !X;"]W;W)K&ULK9AM=.YFVO#^EMK,),#-I9U<,GZY^ZP8V68. MD"L)^_KO*P$A!BM,TNJ+C<3NL]I=L8B=G3#Y0?<(,?"S+"HZU_:,':YUG6[V MJ(3T"A]0Q>]L,2DAXT.RT^F!()@U2F6A6X;AZ27,*RV:-7./))KAFA5YA1X) MH'590O+/+2KP::Z9VO/$(M_MF9C0H]D![M 2L?7AD?"1WE.RO$05S7$%"-K. MM1OS.C5MH=!(?,O1B9Y= ^'*$\8_Q. NFVN&6!$JT(8)!.1_1Q2CHA DOHZ_ M.ZC6VQ2*Y]?/],^-\]R9)TA1C(OO><;V^-X%+((/1C. 3($*:T\1%$_U&F\?%PSV('[ZN%C?Q:@F^WZV^@'B]7#W5WE MPMLEXTY+?9U4?^^^4PE+5,)21;!!#KP^!Y["0N"I3(A*6*(2EBJ"#1+B]PGQ MU12"%N.>/^&A:XV?\/A2+#"LP!S5@4LIF],"8U0')#8=/S ,>1T(>I>#29<7 MZ% _%?E&[+X[@@I^X) Y/ EY[^93"4M4PE)%L$$FPCX3H<)J$*I,B$I8HA*6 M*H(-$F(:+\=[0TT]Z#CG#R=_SKW1JSR6B#F!X8_.#XE$S/4--Q@5!(F8;WBN M)R\(YME'C?F6H\%?>;7+<"EU=Q+PWMVGE)8HI:6J:,-46"^IL!36A ZF*BTJ M:8E26JJ*-DS+RP><.?DY\HZZ8%^>\=UP?$R02)E6&-KCLG I%AAN.*X*EU(6 M+PK!J"KH9UV/$I%=TVZB8(/KBK6?LOULW]*Z:1HYH_E;\SHV)?.):($U7987 M?-L_NX=DEU<4%&C+31E7/J]@I&U)M0.&#TW/Y0DSALOFW&+/G M@3#0-P:C?P%02P,$% @ M(,E69Q&3=82! FA0 !D !X;"]W;W)K M&ULQ5AK;]LV%/TK%UHQM$ 6/?R(D]D&$DM%N]6- M83OM9T:ZMKE*HD;2=@+LQY>49,7*9*T>"/2++4H\YSZ.[A7)X9[Q;V*#*.$I MB5,QLC929C>V+<(-)D1$*D&O*U+3*.),I!26Q[CM.W$T)3:SS, M[\WX>,BV,J8ISCB(;9(0_GR',=N/+-A0'AG[I@"<"LD2TJP\B"A:?%/GLI$' 'QYXGPBR7C(V1ZXGJW8]$6>_1RM\D53_:(L M)%=/J<+)\3SX$GQ^"!;P?GX_A/RP\P>5@L[Z?!? &_P82E MDBM988E<^4%RF=_Z* F-Q3LUX6'AP]LW[^ -T!26&[85)(W$T);*2VW+#DN/ M_,(C[X1'?9@J4QL!01IA5,?;*KHJ1.\0XIW72C@ES^!T+\!SO&Z#.Y,?0'=. MHOUV]!_;^!(Z[DEX\!]PDIZ"UU+1J=3NY'R=4VKC#M,M7L <=1.AZ1IFR/-V MDX8(]X\Q7>?*7D#PE*E:Q@B6--'SV H6ZI%8D;S"&V*Y*VQWFVWKCGW[_S>I(I),M\D66"(K"9@MQ*PV\8^KJJ0"(&RJ;KN6@G. M5<$DF5^0]7,R_0';C;M]9] ?VKOC]#;,&KB#ZVI6+6^]*F^]UKS=RIBDDH8P MX^PO]5X+U<^2C*3/\$F]WO)UGRDRV4IY;B9-DODFR0)#9#5=^I4N_9_8D/HF M!31)YILD"PR1U02\J@2\:B^LA&U354X1)WNU[%LK$84$N:$"8I02N=8IY!A1 M>=DDT=6_JOU:K7'K+6'2ZL*YJ3=)%A@BJZ5^4*5^T)KZ/VG,&9.'E@;_P/_J MM*J>N?V.6N30IHDLPW2188(JL)Z#HOVR2GM=@" M(:G:EBIA8B8:UUWM!.?J8)3-+]EZ1VW6]0:O^VQ@RF@]QT=;4?>,'%^H?608 M;R-=!5P5$!.GHYWD[#2WN^1V(2+/S0<*)OT(3+$5J;>/SF82Y.O\4$Q MJ)=-Q3%-=;+O-CYOLE^G%J=V4\+5:7JF%U4I!G3X.U!+ P04 " "T@R59GE6LMQ4# M "5"@ &0 'AL+W=O> @!46A M;AE&58\PH9K;3.?NN-MDL0P)A3N.1!Q%F#]W(&3KEF9JFXDAF2]D,J&[S26> MPPCD9'G'U4@O6 (2 16$4<1AUM+:9J-?2>+3@'L":['UCI*53!E[3 ;704LS MDH0@!%\F#%@]5M"%,$R(5!J_$#">2BI=4T M%, ,QZ$W ]2]O1D/V]WQ"#UG M?/:'3E[9HI!(WQ!+[T-)4J17 5Z"YGS^95>-[V8Z=DJQW2C+OE&3] M$Y'M[+13[+1SB-T=P@IHK&H$!Y_-*?D# 9IQ%B%_4U/"ET)2MN$9?36E3V[* ME5LW:I?J$*ZV=W(_JNIJ6V&]4_N.[_=+52 MN%IYQU55;ZFR$D5/[7/\51 MDMXI)?O[DI9I;4EFANM;UV8$?)XV.$*=2F5G5L>*V:*':J>MPZOYCMGHFB7S M/;/A92W2"WW6L TPGQ,J4 @S)65<7*J,>=8$90/)ENFE/652M0#IZT+UC<"3 M /5]QIC<#!*!HA-U_P)02P,$% @ M(,E6;2;H8Q5 @ 704 !D !X M;"]W;W)K&ULK51K3]LP%/TK5QF:0-J:1\M#+(T$ MH0@F%5#3PFZY]'6^%?%4EHH:W MBG$U]DJMZTO?5WF)%5$#42,W*RLA*Z)-*->^JB62PI$JYD=!<.97A'(OB=W< MDTQBT6A&.3Y)4$U5$?G]&IG8CKW0VTW,Z+K4=L)/XIJL,4.]J)^DB?Q>I: 5 M 9XI;M3<&ZV0IQ*L-[HNQ%]B$D&&NK0(QOPVFR)@5 M,FE\ZS2]?DM+W!_OU&^==^-E212F@KW00I=C[\*# E>D87HFMG?8^3FU>KE@ MRGUAVV$##_)&:5%U9)-!17G[)V]='?8(X>@=0M01HK\E##N"JYS?9N9LW1!- MDEB*+4B+-FIVX&KCV,8-Y?84,RW-*C4\G8("Y3$'[HL*YMSTM5DQS'GND_A7*#7O+Q0W@6?#ED^C^)_52" M85^"X>_4DZM*-%PK$"MH>"UIC@7D)>%K!"'-55#FP'/6%&;:G+R6A"O2=JD# M'[P#[8X7;D?[U&R2,!RT7OR]RV\?GBF1:\H5,%P95C X M/_5 MLW&PO=V]R:W-H965T[#M \F'B3/; ?KO9SMI MEDEIIG7ME\1O]]QSSUUR[A\8?Q([ (F.$8W%P-I)F?1L6X0[B+!HL 1BM;-A M/,)23?G6%@D'O#9&$;4]QVG;$2:QY??-VHS[?99*2F*8<232*,+\>0B4'0:6 M:[TLS,EV)_6"[?<3O(4 Y#*9<36S"Y0UB2 6A,6(PV9@7;N]H6L,S(E' @=1 M&B,=RHJQ)SVY7P\L1S,""J'4$%B]]C "2C62XO$S![4*G]JP/'Y!OS7!JV!6 M6,"(T6]D+7<#JVNA-6QP2N6<'>X@#^A2XX6,"O-$A_RL8Z$P%9)%N;%B$)$X M>^-C+D3)P/->,?!R \_PSAP9EC=88K_/V0%Q?5JAZ8$)U5@K."XZ021&0T*IYM"W MI=)'1VF'N1;#3 OO%2V^IK2!FNZY@43+X :=GIS]"6,K>0N-O4)CS^ V_TOC M*KX9;JL:5W^P/9'@$ :6^B(%\#U8_N=/;MOY4L.Z6;!NUJ'[(Q9+KG1711\^ M4;9%.&)I+*MH9D!M Z1_ WO?[=O["M^MPG>KUG>Y/A+@A*VKW-9C--$S8"YJ ME+@LV%S^FQ*G6&A:(<3RK(I8!G=5TL-IM+QJ2=H%B78MB8GZ&ULK59K4^(P M%/TK=[K.CLZH;7FJ"YU!8$=W%L<5'Y]C>X&,:8))"OKO-TFA E;Z")GK2] M$P\2')&,Z1LQO\"%H;KEBP53[@GS/+99]2#.E!;I FP4I)3G;_*R2,0*P/"4 M RH+0&434/L 4%T JLYHKLS9ZA%-HI844 X#RIA9#M7RM5%C.?UX,?-Y/G/E@YD;,!!<3Q3T>8+).MXW+@HKE:65 M\\I6PA\9.X9J> B5H%(KT=/]!$[X1_ U.=4BLU7'5_THLT1-@/ $7*/_G-$9 M8+%=YBI**I,SK=H(07I'(,EM; M&:$U,(HK0!YOM("+WLV F*TC+Z#5!+ P04 " "T@R59F .O MC( " !]!@ &0 'AL+W=O1 4CTE--"C*U,RO+1ZR2E!1PRY&H\ASSWQ= V6YLN=;SPAW99%(OV'%4 MX@TD(._+6ZXBNV59D1P*05B!.*S'UL0]GX8ZWR0\$-B)O3G23I:,/>I@OAI; MCA8$%%*I&; :MC %2C61DO&KX;3:(S5P?_[,_M5X5UZ66,"4T9]D);.Q-;30 M"M:XHO*.[:Z@\6,$IHP*\T2[)M>Q4%H)R?(&K!3DI*A'_-3480_@!@< 7@/P M_A;@-P#?&*V5&5LS+'$<<;9#7&;-(T.1FAN8W#Y?)XMK$/30OMB"DNC\IT/$,)"94G*CU^V2& MCH].T!$B!5IDK!*X6(G(EDJ[OOY6V6 MZXR"X:A->Z$R:%4&[ZJ<;-6;B)<4>JJE]02F@ 2D%2>20*?8FB[Z!;5_ MG/@/4$L#!!0 ( +2#)5FXQA(7'P< ),S 9 >&PO=V]R:W-H965T M?J@W-MSI^X^!ZO&9/H9QA$ M\45G+>7FK-N-%VL6>O$IW[!(?;+B(O2D.A4/W7@CF+?,@L*@BRW+[8:>'W7& MY]FU:S$^YXD,_(A="Q0G8>B)YTL6\*>+CMUYN?#-?UC+]$)W?+[Q'MB!!G?]%3WM;JH$422Q[FP:H'H1]M_WL_DT9^GE ORF#DP#J9?SI!Z5]$_KR]NIM\)E]OYFCR M=8:NOMZ1^M+K$1\(\D.$4]^P1A"_Q1MO MP2XZ:G&-F7ADG?&OO]BN];LN29!@,T@P @E&@WODMLWH8]G[%[NK0XG MFL5#75LL1,*6Z"J23'5!GB!OI8[0)%"[G1&)E38W#;P?26GA#(GE @L-+@<7:#QS'>Y[7@"\:6,5H)'J(XW6A4 MDI?ID(KWAI17&E)I,UURMU1N1I4^9#V.K?/NXWX&C[:8'6U!CK:@QEM^I:#N M3E#7*.@DY(D:-*F*#^I14QT(%*CYI+9MP1:!%\?^RE<343UWIFVX7*M9N."A MZLHZG42/3&WDZEPK\);:,0CL'A7X* 8YBD&-$KQ2X,%.X(%Q+YO4AN+>2-6) M-H#S#J5>:" MD:9MKIIQ$DA..JQ-1-MR7%QPEO0=[?0=&?7]*-1RA&XC98V#3.:/Z3JETWE4 MOV=L#2LJ&\G:JMR$D4 RTCJCXP[U MM68?.L=A)_SG8 K2NS:AW ([>BL9FN MKC) MEVL_0CQBZ)EY0IOM?GV;<+!5=1QF\M9I;$1*0$DI%%HY/X4%M\T>7)>?/#>2 M([D6;)LD_9QT:H*-;*M?V^2 /'&>I4:D!)24ZDA=;!]ZBB@,NWW4L>_YC9W\ M6]U5 E:I)S^L?]U/.XYCX:K^0)8YU[\1*0$EI5!HY305MM\VFLX#MJ7Y:C:H M/X%6X:+T@,VEAZ*ZLQ.]R=3 &@-A6]4]Q,S=6O-&I 24E$*AE=-35 ^P MT;7JTM-P3O0TY@&/:K,"M#S0C)2 DE(=J>OL;6UEZ0M#C\V&7B-]P]T=U^VU MXV)G4-4>U-,W(R6@I!0*K9RBPM-CLZ>_/9V?*CLO-EQXDI6^4'_6)@;2*D]! MT6:@: 04C4*AE=-B^(#-Q8AP MO1)@6U:_^B6?N0NMD]F(E("24@WIJ&^Y!_:[HK2 _X?2 M9\@U_- &AAX3@A M 26D4&CE+!7U!]RR_O ZQP3I\Z>@:#-0- **1K&FB'*@--XKZA0]LK<[8K69))'<_HQ[ M=W7W!LDD>V^BOJWSQQ$/Z.\2 K125=3I00T1L MWP#9GDB^R=Y8N.=2\C [7#-OR43:0'V^XER^G*0$N_=PQO\!4$L#!!0 ( M +2#)5G#&PO=V]R:W-H965T[:,OXHR@0DN"I)%2,K$+*:N@X(BM0"87-*D35R9+Q$DHE M\I4C*HY@;D E<7S7/7-*B*D51V;OFL<16TN"*;KF0*S+$O*_$T38=F1YUF[C M!J\*J3><.*K@"BV0O*NNN9*0-VUZB)IZ!YLL8$>8-MHVN:X%L+20K&[#RH,2T_L*G M)@\=@.+I!_@-P'\)"%\!! T@>*N%L &$;[4P: F=*>.W20N@1+&$6=;P+6V M8M,+DWV#5OG"5-?)0G)UBA5.QM/QXO(4Z#=(?]W-[L<_TZO;!1A?)6!V=9\N M;N=&_@)2R"FF*P'4[<[H!@FIJD4*<)P@"3$1)TKG;I& XZ,3< 0P!7-,B"H% M$3E2^:FM.5GCTZ3VR7_%IP#,&96% "G-4=Z#3P[CSP[@'96?-DG^+DD3_R#A MCS6Q0>"= M_UPQY_IF^'!WWAO,]Z^M_6]Y(1M!43&+[@7173=^LU;]C/JQOB M4%0P0R-+=3R!^ 99\>=/WIG[K2_E'TF6?"19^D%D>Y<3MI<3'F*/NW\I?OY+ M^VZC)O)2) QM94UO7:[K8C:VPZ]8O]B3><>CW[B1IQ]41ZIJ_GXQSR%:8" M$+14IES[7'5=7L^<6I"L,DWU@4G5HLVR4&,:<:V@SI>,R9V@#;2#/_X'4$L# M!!0 ( +2#)5GVK[Z"[@, /L3 9 >&PO=V]R:W-H965TSLN'N0:0*''F#+9M]9*;+H RG=]R[6>)\9DM59FPA[T-G@%$U#3S9W0(SM'69 8F"2<(0'+OC5T MST=N9!Q2BV\$=O+@&9E49IP_F,'-HF\Y)B*@,%<& NNO+8R 4H.DX_B>@5KY MFL;Q\/D9_3I-7BNML"#-EG"BAWQ+MIP;7PYLQ^C;\,KU"MU?#R71\=7OU]7Z" MSM U89C-":;HADDE$ET[)9%A'HUAG@A!V I=8$DD>G\)"A,J/VBWZ>02O7_W M ;U#A*'[-4\D9@O9LY4.UBQIS[/ +O:!>4<"^YS0%FJ['Y'G>'Z%^^@W[I@= M<[5J"*S$2Y3S$KU]L4FL5Y1:-[?W!@UP.? M6J:FT,HT'$@W]^W[.HNA*<8:0BLS5H@XMU;UU!S* MQ^GC&O "A#'0[Y=<'_C9P-S_Y/=]@Y]02P,$% @ M(,E6>U=D>/7 @ M' D !D !X;"]W;W)K&ULK59K;]HP%/TK5E9- MK;0E(>&U#B+QFM9M;5%IN\\FN8!7Q\YL![I_/]N!#-HT52>^@.WXG'O.C:]O M>ALN'N0*0*''E#+9=U9*9>>>)^,5I%BZ/ .FGRRX2+'24['T9"8 )Q:44B_P M_;:78L*P$;NC9%Q,N?\P4PNDK[C&T% M(5:& >N_-8R 4D.D9?S>XDP)_91HG(H&H]'U MW=7M#-U,1I.+^\'PQP2=CD%A0N49^HCN9F-T>G*&3A!AZ))0JG,O>Y[2H0V! M%V_##(LPP0MAVNB2,[62:,(22 [QGI9&WG+HH;'Q @1\T*_2, M7H%C]A+\0$Y8IC&T?.%K:1QUD/Z%5Z2KHFM5TIG3/989CZ#NZ-B6( M-3C1^W>-MO^YRNN1R Z<-TOGS3KV:"KXFMB:UE<*B@4D1"'*I83*8U*0-7S+ M9JZ8=>2[K9ZWWO=3&_$__;1*/ZU:/P.J+S;,8K!^$YGE"A(TUUQRG3W^2D+ M0O?3D[-8&^^M;KR]!I2"6-J^+)&MEJ(7E:MEZQ_8CN?]VUY\-UQBL21,(@H+ M#?7=CBX:4?3B8J)X9MO9G"O='.UPI3]?0)@-^OE"5\-N8@*4'T317U!+ P04 M " "T@R59W9XI>](" "M# &0 'AL+W=O&;",)IFC&@=C$,>1_KQ%A MNY'1-EX&'O ZDGK ](8)7*, R<=DQE7/+%1"'",J,*. H]7(&+>O_('&IX!? M&.W$7AOH3!:,/>G.-!P9E@X($;246@&JQQ9-$"%:2(7Q)]S6/&D-[V?C^]OI]=W-V HG,?28B)N%"0Q\ 'YV<7X Q@"N81VPA(0S$TI0I)"YO+?/GK;'G[E>5_ M;$@+..TOP+9LMX(^>8,.:2W=/WYUITPWE8^%F79AIIWJ.:^92=6)PQ1+='FG M3G.H[).0KO&"(# 6 LE*AS)-MUI3E_V52. 2C0Q5UP+Q+3*\SY_:7>MKE5]- MBOD-B96\= HOG3IU[Y:Q<(<)J7(L8W93IGZO;3V[;SEJ![?[5AR%\M]"E8)W MB^#=^N!G0:LJ\%K6J5O=I)C?D%C)K4[A5N<#RJ;3I)=-BOD-B96\[!9>=M]= M-AFSLW?4V_V.9?U7-H>HP0'(KPWBG2GVBA1[M2G.'R:5Q57+.O5 -"GF-R16 M%EX-W%]?@X'^DJK@.417%51O$J2F:>W=# M?9'_"?D:4P$(6BEYJ]53EI.Z+C<0]AW,NZ.IJL.'BJUP!*/0] MB9D<6BNEUA>V+6G1#*K&B0 MS=V):,!3%5,&=P+)-$F(^'$),=\,+6P]3WRFRY4R$W8T6),E3$$]K.^$'MDE MRYPFP"3E# E8#*T1OACCO@%D$7]1V,C*-3)6'CG_:@:3^=!RC"*(8:8,!=%_ M3S"&.#9,6L>W@M0JGVF U>MG]H^9>6WFD4@8\_AO.E>KH75NH3DL2!JKSWSS M.Q2& L,WX[',?M&FB'4L-$NEXDD!U@H2RO)_\KU(1 6 _3T MP"X_Q?@%0 O M,YHKRVQ=$46B@> ;)$RT9C,766XRM'9#F7F-4R7T7:IQ*IK7OX/E)&%;R_T9_8O"4#_]SH>#11D,@O;5YSNE)$$]@1>_>X)[SH?#*/'A=[-$GP:5$HX2G^FMHQG< ME(RG*/!Q,+"?J@X.!-64^:4ROU/9:#9+DS0F2K\@K4\H^B\QA:%-9,X45)[O M>:&W([(E"(?G[2*#4F30*?)6U^&.Y 6-O.C/U]W1%31TN2[NM^OJE;IZG;KN M!9D#8B2!-EF=V)=^O4=R%6 M7-A8BZV&S_NWOE?4\T.4&)G?SGKAK[6[;:#P-TMQ,&*AIM=1(A[NZNQ MV454@^K:MET$[FXC7E31>@T%_=#?E=D2Y._IP?"V"\"=F^O!>M9OUK-&%]86 MU-M59E?.8>80_"<12\HDBF&A4&ULK99M;YLP%(7_BL6JJ96V\I( 24>0 MTO1EF;JJ*NGVV0DWP2K8S#9)MU\_&RC*4DJB:%\"QCZ'YUP"U\&&\6>1 $CT MDJ54C(Q$ROS"-,4B@0R+BR#+,?U]"RC8CPS9>+SR252+U!3,,I?&2;KU#G M<;7?@J6B_$6;>JUEH$4A),MJL2+("*V.^*6NPY; [K\C<&J!S\;WM]/+NVLTCJ+K M680^HQM"B01TI^H;HRF5F*[(/ 5T4\B" QIGC$OR!Y>/(5)_J[A0DZ=7(#%) MQ9DR>(JNT.G)&3I!A*)9P@J!:2P"4RI@?5MS4<-=5G#..W#?BO0<]>Q/R+&< M?HM\LD>.Z7MR4Y6IJ973U,HI_7J'UJHM4671;[?0[^2%R/$"1H9ZZ03P-1CA MQP^V9WUIR_>?S/Y)VVO2]KK<0U4T%YURT)^"&/A96]C*P2L=]/=B'=I#+S#7 MVQDZ[W)DAGZ3H;\O@]?&7:G<+>Z>O\O=Z7PDM]MPN_NX_39N]RVW9>UP=SH? MR>TUW-X^[D$;MW< =Z?SD=Q^P^WOXQZV, MR=>![L+-IBO\"U!+ P04 " "T@R59964-?2T$ !!& &0 'AL+W=O M;] ;N)D%I8GM.4['3C&A M5M#/CCWRH,]V,B$4'CD2NS3%_/D>$G886*[U@100*Q MU BLOO8P@B31)#6.?PJH5>;4@QM/A=#2>?D;#V6PX_1Q-HNF7.7H?@L0D$1_01S2# M/4OVA*[1B,.22/2 8Y(0^:S.?9V'Z/V[#^@=(A1-2)(H\T7?EFIDFF_'Q2CN M\U%X%T8QP<_(\V^0YWA^3?3H[6BWK:/=;DUTV!S]VRZY12WW8O+H[>3UT;:R MHO3#*_WP,ESKDA^$8AIKL8><8[H&]5#*6D5SCE_/T?7E3FQQ# -+%1 !? ]6 M\/-/;L?YI4Y@D[#0)"PR!*N8T2K-:#71@WO&580V ^_5TX 7": =70)'J](F M_(9-C1FNM.V^O:\1WR_%]QO%_QVD!"X06Z$XKSMJ MGA,2TV4F>\IV5-8)WDB]5G"3L- _T\@I)[U+O=J'?TM"6*BM3L M?;FFY1(W@JZ5V"0L- F+#,$J;G1*-SJ&YH&.23-,PD*3L,@0K&)&MS2C^\/G M@<8,U]K4/:LD[9-2$IK,%QF"5<3OE>+W&L4?+E7M5Z^5.$$Q2U,BM<0-];^1 M=JW0O3.AW5.A3>:+#,$J0G\JA?[T/R: NC?J^T;0M1J;A(4F89$A6,4-UWGM MS!Q#4T !,N2'45IHE!:9HE4M.6J6W1\^$10ICFM*JUVM*:/F85QM@4E:9(I6 MM>"U/W8;.[Y@3%57 $(BCB6@%/,UH2A?M *N^H3L>*WN.==UC]^_;QVW=R:^ MT6;8*"TR1:N*_]H/N\T-<0@+B<942+[3O^\;] USDCT%I2TS)?\-^O*\!?17 M]"3UDJ(^'U$5H:Q1$_G?M>XT)]Z)CVN,MW=SB'?*Y#_VP*E> BQKI$X[9RL^ M@70!O+:L&6V>C=(B4[2JK:^=MMO<:E_[BN6>=[(MY_0I,MHZ&Z5%IFBYW/;1 MZJM>7)]D-4F@!%8*[]QV51_)\_7J?$>R;;8@NV!2LC3;W !6LXB^0)U?,29? M=O0:;_FO0? O4$L#!!0 ( +2#)5EK';_U>0( (D% 9 >&PO=V]R M:W-H965T-J[A5: M5Y>^KY("2Z)&HD)N3C(A2Z+-4N:^JB22U#F5S ^#8.:7A'(OCMS>2L:1J#6C M'%<25%V61+XND(EF[HV]W<8#S0MM-_PXJDB.:]1/U4J:E=^KI+1$KJC@(#&; M>Y_'EXLS:^\,?E!LU& .-I*-$,]V<9?.O< "(<-$6P5BABU>(6-6R&#\ZC2] M_DKK.)SOU&]<[":6#5%X)=A/FNIB[IU[D&)&:J8?1/,5NW@<8"*8 0A@<>'L6^7:WA-]Q0;M)&"8-\]P_L M S@J9=O*I:I(@G//] V%_/;->!9\.O+@9SWHV7'0%DS(099L@="R+@%? M*J%JN1>ZE1T'P\<>S?[)FC^H+-NDED3FE"M@F!FO8/31J,BV\-N%%I4KMHW0 MIG3=M#"]$J4U,.>9$'JWL/7;=]_X#U!+ P04 " "T@R59RK$[!B," "H M!0 &0 'AL+W=O=[GGONHKND MD>I)EP &'3@3>H%+8ZIY$.B\!$[T2%8@[,M.*DZ,-=4^T)4"4G@09T$4AG' M"14X3;QOK=)$UH91 6N%=,TY42]+8+)9X#$^.N[IOC3.$:1)1?:P ?.C6BMK M!3U+03D(3:5 "G8+?#6>+V,7[P-^4FCTR1VY2K92/CGCKEC@T D"!KEQ#,0> MS[ "QAR1E?&KX\1]2@<\O1_9O_C:;2U;HF$EV2,M3+G 'S$J8$=J9NYEQDAE%>:R-Y![8*.!7M20Y='TX XTN J -$7G>;R*N\)H:D MB9(-4B[:LKF++]6CK3@JW$_9&&5?J<69=/4]R^X>LIMO#QOT'CT2I8@P%#1Z M5QTD'>?!V1->UG305E=]U]0!8K*XIR\88+UIVQ QJR7,1ON#CER MXO_MSC#!.IJ>;4]P,CT&PO=V]R:W-H965T!0%F M;Q/BT]W0@,;^Q:.W6HOXA3D:;/"*S(GX=S-C\LG,O"R\@(3 GS@CF94O^[MQ#KH=$SP((L<>2+1[K[BZ1 [=B?2WVN?L$N M;6L9P(VXH$%J+#,(O#"YXM>T$ <&J'W" *4&J&A@GS"P4P-5.3/)3&'=8H%' M T9W@,6MI;?X1M5&64L:+XR[<2Z8_->3=F(T?WJ8_G,]&<_O;L'TX7YV]VT^ M?OKZ\ U<@WG2LX NP3@NMB?>0!0N" -3&FQP^/8[!W-!W1_@8:.Z9.;CD(-/ MMT1@S^>?I8M?@0GX&C/"]Q;@3N:QJ+"?ZNTATC@P9>FR^J%]_29(Z_'OR&\!&UX!9"&G*J$SYC@\97Z4 MCIUUIZW\V36[LZK4B2>GVE.\?-SP#7;)T)#K R=L2XS1;[_ CO5'%>8[.3N" M=C)H1^=]-%=#ZPH\1((+.;"\<'4%)F3EA:&\E;-':-K@#=':&5K[(K0_&0Y%Y8B?M$L,G0* -D1#@$X&T+D(X.Z5,-?C MU0B=$L)U!W4+%-HX#2FZ&47W(@JYJ\2:);P- A$A\,8 MMA JPFJ3:0J;:PNHW<7KP&J7^S3,$:X#6^WBOJ5/IRENKBJ@7E;4P-7N"VF8 MX]ZU6E9Q@].GTQ0W5QI0+S6:SN;S6T@:^+B_NZU>J0#M,U/^F"R7(%"O0>J/ MVU.[31KHF*37ZI8FZD>(%9BK%:B7*S6 :^Y*W7(/577D1^@8C^@#X+D^Q)!L,!O M59^XTPM=]?:NE"==87))!?6:JE%ASDT)?<@]37M/XYRNRT?H-)3K-*37:8V* M4V_ZG,F@SB#2NVI:K%SZH9K23ZD;<(L% 5^PQ\ S]J-3>T9E:F!:J0=%!*NN(7H3ZOIOV82SI44]*=Y:XYXNW+ MNO5=E9YY^B@# "G"0 &0 'AL+W=O(E9($FEI( +:V B%#Z/-@WL84]D\Z,$RKU MXSN+8T)C#$@T#_%L]YQSEUD&:\;O1((HX3[/J!@ZB93+(]<548(Y$2VV1*IF MYHSG1*HN7[ABR9'$QBC/W,#SNFY.4NJ$ S,VY>& %3)+*4XYB"+/"?\]QHRM MAX[O; :NTD4B]8 ;#I9D@3.4/Y93KGINA1*G.5*1,@H891I)Z?A5@CH5IS;<;F_03XWS MRIE;(G#"LI]I+).ATW<@QCDI,GG%UE^Q=*BC\2*6"?,/ZW*MYT!4",GRTE@I MR%-JO^2^#,2603MXPB H#0*CVQ(9E<=$DG# V1JX7JW0=,.X:JR5N)3JK,PD M5[.ILI/A[/IR\GU_/)J=',/D\GQZ(R2I)GX M!,(N4)C7"2L$H;$8N%*YI(6Y42E_;.4'3\COPCFC,A%P0F.,']N[*A15/()- M/,9!(^"W(FM!V]^#P L.X#VX&YWVT\#0KB+>-@SM5T:\SGF+=%"/I#?LD5B2 M"(>.VI$"^0J=\,,[O^M];M!Y4.D\:$(/;0+W3)Y7)L][,,9%2FE*%VHG9(1& M"']J V/56_R.P=>GPRH\# ;NJD93I]+4>9&F+YQ077A-[)T=]FX]>;G0Q7]2W/1VU'4\^L%]2M!_49!/\V!IP(Q6B%7 M![A-"JA3".&4I!QN2%8@3-5I8;0_7TD/NZW. ZNFM^U!J]^I]^&P\N'PC7UX MJ+QFM9;7#[;D^NU6_[!>K^\]'-?>&RNNRK59<,G[2'&_U6U[6[\G*L;?NFS\ M_U@S.^7^C$?^3L7T6]Z_AX"[=7?FR!?FA2 @8@65]AJM1JM7R,C>O0_+[1/F MG'!5U (RG"M3K]53VXW;5X'M2+8T-_$MD^I>-\U$O:20ZP5J?LZ8W'0T0?4V M"_\"4$L#!!0 ( +2#)5EPH!Y:;@, "4+ 9 >&PO=V]R:W-H965T MNJY(,"JHZ8@D<=^9"%E3C4BY9%;4,:=>&C?364\%*7. M&8>I)*HL"BK_F4 NUB/'=[8O'M@BT^:%&P^7= $ST%^64XDKM]:2L@*X8H(3 M"?.1,_8O)GYH!.R)KPS6:F].C"M/0CR;Q6TZSQ_O+3V>3\>SZBES>WTVO/\_&C[?WG\D9 MF54?BH@Y23+*%Z (XT1G8.RSHBP(+XLGD.: RJC$?7-4% 5&&\&39W)R!9JR M7+U'=0^@M&2)AI3,[.87SK3:2J+FQTR4BO)4#5V-GAD^-]EX,:F\"(YX$9$[ MP76FR#5/(?VWO(L1J<,2;,,R"5H5?BSS#NGZIR3P@I#\0=PM9S6T6.C6@>]: M"]UC@6]05)%5-6+JPBKNAH.ANVH@ MZ]5DO5:R#Y)RBM [0.CWFPFBFB!J);A5JGP%0'0 <-;SFPGZ-4&_E0#K MT!S8:Z+0/X2(@F:(00TQ>/D5N;;CJ^_'X/!^^$>PSFNL\]9\^F;K+X9FO *) M_Q-B+PS!H@CDAC))OM*\!#+%>F53KPGK_'_(/-_;56+OO^2>=6)EG3@Q7MCH MFC#OJE-CX:R,]O=C[76"(S?1W_MO^"_)Q],W6!ATO"-)Z@<[L. % M:?IVKJ"1RP^/<.WJO=]:N'?)^W:T[B%:$'7\[A&T7='W7U'U?TOIM[*&A]?. M[YQ'OZ&Z>YU+ 7)A^S.%343)==7$U&_K'G!<=3Z[XU4#>4K%EHL;1_T)#1V57::81\+TAS _;D0>KLP!NK../X%4$L#!!0 ( M +2#)5D%^EB(4P8 (O 9 >&PO=V]R:W-H965TXXS["8G2WOPT?W?)YZTYCMSGIN[^G%5;3>2/VB/S_=DC6]IO)V>\G54[]"":.$IB)B*>)T==9; MN"?8F^D&>8V_([H3>V6DNW+'V'?]]1SM$8UI(#4$4?_NZ9+&L492?OQ; M@O8JF[KA?OD)_?>\\ZHS=T30)8O_B4*Y.>M->RBD*Y+%\HKM_J!EAT8:+V"Q MR/^B75G7Z:$@$Y(E96/E01*EQ7_R4!*QUT#AM#?PR@;>88/A,PT&98/!L1:& M98/AL19&98.\Z_VB[SEQ/I%D?LK9#G%=6Z'I0LY^WEKQ%:5ZH%Q+KGZ-5#LY MO[[YMOSKT_GB&OMH^>W+)?YZO;BY^/85?4*+,(RTF"1&%VDQ)+6T[WTJ212+ M#ZK*[;6/WK_[@-ZA*$4W&Y8)DH;BM"^59QJ_'Y1>G!=>>,]X,4!?6"HW N$T MI&%+>]_>?FQIWU>,5+1X3[2<>U; /[/X,QJX'Y'G>,,6?Y;'-Q^T=>?GK.,? MMFZ0,:C&R"#'&SPW1C:$TT]Z.H9HR1(5HT0Q%!:[)(_Y MZ\6.\#9!SPN3PW:3.CR>B"T)Z%E/Q3]!^3WMS7_]Q1T[O[6I 0GF0X)A(#!# MMV&EV]"&/K^6+/B.@GW%Z(,NTS9!"JQQCJ67E_NYZSC.:?]^G^B62MYA);]9 MR?/\J""28/VG&D8G;F ;-6K.].@:ITXK4:5=2U?992+5OB=*U26X; MI=-&P/ &S3!I]:$K5T>9Q$ F#5)G%:FSKJ26XY+VTK M;-=Y#XKFEVC&:)X,I@>\0]DTB=_+B=PC-DZ7,6D?KO;6G?F%1/-!T3 4FJF# M5^O@O7[B4=J$4@\2S0=%PU!HIGIUUNA:DYOYURRYHUPO!D6HTB6U*4]T[,HG M6&DT1"O&421$1M*@-34I#>T'#7HLQI'FL509DVBZS3/M>=Y M+Q)-[DD4YTNQ9IH\.S.&C?X.I]/);';(LM6=SBP?9Q5#635)KE-+UYY;7E*> MGX&I(5I&&F5%;7L"J8H%S5D:R?8% S*#7(*B^:!H& K-%*E.7=WQ&RP8H'DM M*)H/BH:AT$SUZGS7M2>\-RJ[30]C6;XNZ-"5I:'ZH7W2%3%-O0LSKM,XG2<_ M?TY1NK$?<4;-',[N;&>ACK&)H6R: M2YL6M/CC'AJ:)/:.X*_G7IQ\,>9!J\ M!$7S0=$P%)JI6YU^N[,W"'N0^?82%,T'1<-0:.:7ICK-]^QI_FN%/:^9>NL3 M_L.X9_>VJU+'&<501DT)ZH3?LR?\5S6]1>Y_^UQ,LP-UG16@:#XH&H9",R6I M_;<_T+M%U)]!<0X_"WBE;Z^$"59HC\N M1;P0U1*U0#\4@Z+Y+Y!@^:X$Y8+H"B82@T4[7Z",(;O4%(!#V; $7S0=$P%)JI7GTVX=F_,K_:-F]\3'9K M=[:S4,?8Q% V30'JXP7OA>.%*/F!X ;Z#1T4S0=%PU!HICKUV8,W?8/@!GH" M 8KF@Z)A*#13O?H$PK/? 'BUX#9K!)K!S!DUHAOH:<-Q1C&4T4*"_MZ=WD3M MT?++U (%+$ME<76S>EM=V%[DUY0/WI^[)TNWY;WOGN#B.G8-7]P._T+X.DH% MBNE*F7(^3U3/>7'ANGB0;)O?*+YC4K(D+VXH41KK"NKW%6/RZ4$;J*Z]S_\' M4$L#!!0 ( +2#)5F'OFD>>P0 .P4 9 >&PO=V]R:W-H965TDD,YOX@FT@!682S+9TFFXF)&V_*O8Q MN+$E*HE ^^LKV8XQ1GA#ZR\@R>>\DAY=CT9;RE[Y"D"@7982/C960JQO3).' M*\@POZ9K(/)+3%F&AGO22168V-@H ABO$G%(]W^!&6'/*47TI3G MOVA;VEH&"C=Z9!WW2SZGH,+L,"3$:-;Q)2U5%.)G'[N+7DE1$V4A6#R:R+]Q&3^Z_3K M_0P]W?XQ6Z K-"1DY( >(:0D3-($YR-[$8# 2FD U3\F98-N*N:(1SHA$]=$^)6'$T(Q%$&O^@W=]O M\3_1DYEN-JVC/]N'M/UYW_5_OL/]=^ *-739%> MKM?[P!31C6WA[>J]U49WP],#J!Z%52O%>J49NN-@ B!W.E"E:A!A6+W MTZ%L53T799=B02'FURCUW;[70'ELY#I]7X_2KU#ZK2@7XG!. O^,B+SET!C% MY=3-H<:Q!*UCVBI_+M,NQ8)"S*OALNV!WV!Z;.1ZGAYIOT+:;T7Z3)@\>)!X?EEN@Z#.QM(3'%8$A]]8UC1\ MO5+W\.@ GKRCDBC&::JCV"IY+L4NQ8+A$:$KK]>S/ZRB1>R&3IW6"M13;]<[%V*E:4*H=,')[!.*U@5\X4,HD3H([A6[[/Q M=JD6=*HV*]4.)J[KG9JX^RC*;HT0)E_%"IBZHV>8R'5?[0#RD$(R;$8X^E.& M^YG\5%R>M(/0::S5J5I0JM6Q.=ZPN2D<&WFN>P+M/CJRV\.C^8?N[:5(_>;K M6X/>80NG&BO7&SJ'5H'&:NC9S2-98^6Y@WZCNV;M]28#MLR?S;@\<#=$%%%Z M55H]S=WF#U*-\CO[9FIKR@/UE)>_%NWEBW? >\R6">$HA5A695WWY<"PXFFM MR BZSM^.7J@0-,N3*\#R1J\,Y/>84O&>4154#YR3?P%02P,$% @ M(,E M65--B6P- @ (@0 !D !X;"]W;W)K&ULC51= M;]HP%/TKEE=-K;3A)*QT8DFD IW*-%I4UFVO)ER(A3\RVQ#Z[V<[(6(2K?82 M^]KWG'N.?9VT5GIK2@"+#H)+D^'2VFI(B"E*$-3T5 72[:R5%M2Z4&^(J330 M50 )3I(H&A!!F<1Y&M;F.D_5SG(F8:Z1V0E!]'( M"P(.A?4,U U[& /GGLC)^--RXJZD!Y[.C^Q?@W?G94D-C!7_Q5:VS/!GC%:P MICMNGU1]#ZV?:\]7*&["%]5-[L E%SMCE6C!3H%@LAGIH3V'$T"2O )(6D 2 M=#>%@LH)M31/M:J1]MF.S4^"U8!VXICTE[*PVNTRA[/Y]&'\.+M#/VY_WRW0 M1_3@VN"Q DTMDQOT71F#QE3KER4MMNAR I8R;J[0!6(2S1CG[F!-2JP3XNE( MT18=-4635XI^H[*'^O$'E$1)C)X7$W1YSZ5A1* +#VX7BZ [>F2 MPSF1#4T\2@?8+;7RMECX%OK.ZWD/\%4$L#!!0 ( +2#)5DNR44; MIP( %X' 9 >&PO=V]R:W-H965TP-L.W+!5;NR G\0E M7<$"S%UYK;#GMRP9*T!H)@51L)QZ)X/C663C7< W!AO=:1/KY%[*!]NYS*9> M8 4!A]18!HJ_-3:?O3,_@*GXC7X$SG#-L]#QS?\ASSW9:=&C_K1 M]BH?ZY*F,/7PKFI0:_"2]^\&4?"IS]I_(GMB=-0:'>UB3\XA T4Y4=V3E'5. MDL&3E-8GJ2\1-7ODV&T)6B?C21#$_KIK<*>$-QH[WT6:EYQATK MX>B%E9V+O=%*U%J)=EJY%*DLP+G XEGAQ76[A2N5E&5XH[?3T+M5T8NM&DS" MR>29P=ZHZ*B-JI7[G1)6@%JYRJY)*BMAZFK6CK:/QXFKF?Z?\/KEN:)JQ80F M')8(#0Z/,,6JKN9UQ\C2%<1[:;"\NF:.#R H&X#S2RG-MF,7:)_4Y#=02P,$ M% @ M(,E69T%HQOG @ 0@@ !D !X;"]W;W)K&ULK59=;]HP%/TK5UDU==+60( P=1")TE9C4C=4VFVO)KD0KXZ=V@Z4 M_?K9#J10:+I5>R'^.L?G7-OWTEL*>:=21 T/&>.J[Z5:YZ>^K^(4,Z).1([< MS,R$S(@V73GW52Z1) Z4,3]H-$(_(Y1[4<^-C674$X5FE.-8@BJRC,C5&3*Q M['M-;S-P3>>IM@-^U,O)'">H;_.Q-#V_8DEHAEQ1P4'BK.\-FJ?#KEWO%GRG MN%1;;;!.ID+FW#@[A06F1KL%&0 M45Y^R<,Z#EL PW,8$*P!P5- ^QE :PUH.:.E,F?KG&@2]:18@K2K#9MMN-@X MM'%#N3W%B99FEAJS1F*SLY0%S70#O"ZI7D*%.16(NR *5MI.' M E"RAH[5IJ1%U&HU@YZ_V#96N_4KC74J8YU:8]=HDR7EB,-\I883'>-!,N&>F:0K)$S_A MWED&S:U%.SJ[E2<<@4,9P;:..F:R,NR8I4= M+7*7]*="FQ+BFJDI\BCM C,_$T)O.G:#ZF]#] =02P,$% @ M(,E61S+ MG+R1 P V@P !D !X;"]W;W)K&ULK5=K;]LV M%/TKA!H,"=!93^N1V0)B644[(%F0-.MG1J(M(A+IDI3=_ON1E*S9,F.D6_(A M%JESS[WGD":O9SO*7GB%D _FIKPN54)L;FV;5Y4J(%\0C>(R# :/2+QM+EGZ.XSZO5,%5]!:Z[_@UV/=2Q0M%S0I@^6%328=)_P M1^_#08#D,0=X?8 W#@A>"?#[ /^M&8(^('AKAFD?H*7;G79MW!(*F,X8W0&F MT))-/6CW=;3T"Q.U3QX%DV^QC!/I7?X5?+G+_KK-P7W^ !X_WSSDX'*)!,0U MOP*_@Z?');B\N (7P :\@@QQ@ EX(ECPCP<37RO:B;>E/8-'WMZCA7>6\,^VG@#?_0@\ MQPL,]61O#_=-9,OW),O?B>QH*8)A*8)S[.F=O$8P*6B#3 O0Q88Z M5MT6V]2-W22>V=M#9PTH+PJC8]3R%.6%3NP5[)6P,7)C^Z--/#ZOS \4=^ MO FU-*%\WQWY8>:*S7Z$@Q_A63_RU4K>L5SK%[1X 7 'F?F8#4_R!]%H9;-3 MC.LG([6G&#\)1UI-/*^L?#0HC=YUY4M/]F)M0T\$9NF%"1 M-_(U-W,%9D?BP9'XK",+M;?!I;Q>2UK7D'&PD7YH,ZY,LCNVZ+"(B3]:N>P4 MY$R2Z4BTB>ED#YA KFN6G R2D[.2E]VB_H+HQ"1Z]-7,3D%2M)\<_8TL,/&. M,+D),S; /FC6&L36NDOFH* M$=TU/,P.C?B-[C]'\POW.G,-\TO9N'=]]K_T M7==_"]D:$PYJM)*IG$DD]R?K.NEN(.A&MXK/5,C&4S]6\L<'8@H@WZ\H%?N! M2C#\G$G_ 5!+ P04 " "T@R59%19@%Y$" #+!P &0 'AL+W=O3:6'/L8COM^/?83AJZ+JL&[$OC.]_SW)M[E^RXN),E@$+W%65R[)1*;4:N M*_,2*BS/^ :8OEEQ46&E1;%VY48 +BRHHF[@>0.WPH0Y:6)U"Y$FO%:4,%@( M).NJPN+7%"C?C1W?V2N69%TJHW#39(/7< /JVV8AM.1V+ 6I@$G"&1*P&CL3 M?Y1%QMX:?">PDP=G9#*YY?S.")?%V/%,0$ A5X8!Z\\69D"I(=)A_&PYG]^R?;.XZEULL8<;I#U*H%S/40M('JNA[@%V-3= M)G=;N#E6.$T$WR%AK#6;.=CJ6[2N%V'FG=PHH6^)QJGT.ON*+J]G7ZXRM,B6 MZ.9BLLS0>S0I"F(:B2DBK'F-IJUOYJ PH?*M-I$E%B 35^DH#)>;MQZGC>:GJ'0?X<"+XAZXID] M'Q[VI?-_WK-_]OZ@&&'W'D++%_[%>^CK<<,2];.8X3:2&YS#V-'32X+8@I.^ M?N4/O(]]!7Y)LOE+DF4O1/:@%5'7BN@4>SIABA2$UF:2HIQ7E?X#ZGF0W_7U MHZ&*+979#=OT/(H]+W&WAX7NL1K&_N#\H=G\L5G@?0CB([;LL=G0'\:>WYDU M:;L'TZD"L;9K0>J,:J::A]EIN\TSL0/W2#_U1S._1S_7FZI9+'_HFS5WA<6: M,(DHK+0K[^QRSUM@5A#/3]BG.U%XR#;G^GOP%0 M2P,$% @ M(,E609!N+-H!@ NSD !D !X;"]W;W)K&ULM9MKS:FHG-)6F;27QKIQ\W8BV8 M< NL+.??=[D8A(36PGGK#Q8@SG,6S@N[O&+/-DGV+?<9X^0Q"N/\?.1SGIY. M)OG29Q'-QTG*8O'-?9)%E(O5;#7)TXQ1KPR*PHFF*,8DHD$\6IR5V[YDB[-D MS<,@9E\RDJ^CB&8_+EB8;,Y'ZNAIPW6P\GFQ8;(X2^F*W3!^EW[)Q-JDH7A! MQ.(\2&*2L?OST7OUU-7,(J#4GNE,>O#B8KS1GETGX3^!Q_WPT'Q&/W=-U MR*^3S0=6']"LX"V3,"__DTVUKVF.R'*=\R2J@T4+HB"N/NEC?2*V @2G/T"K M [1C _0Z0#\V8%H'3(\-F-4!LV,#C#K V V8'@@PZX"R^I/J[):EL2BGB[,L MV9"LV%O0BH6ROF6TJ$@0%U*\X9GX-A!Q?'%S^_GRSP^?_[+LZYO?B'UU]_'V M7_+:8IP&8?Z&O"-W-Q9Y_>H->44F)/=IQG(2Q.0N#GC^5FP4R[=^LLYI[.5G M$RY:5' GRSK[195=.Y!=)Y^2F/LYL6./>3WQCCS>D,1/Q)EH3H?V=#HN-"GP MCW4X)KKZEFB*-NUISZ4\_'V:B7#E8+AU?':])]P^/GM?N/-SQ^Z^N/&=4NB- M,O62IQ]29B$V<;=+U]G2%S>;7GE5B&D_HKB-G^8I7;+SD;A/YRQ[8*/%K[^H MAO)[7VV1, L)LY$P!PES0;".0J:-0J8R^N*:K=8ASO8O):=!E51_*FKR)2ZM K&@FS MD# ;"7,JV&RK?#-#479JO+^3:IR8\WE_F8VFS,9+RMS7EU](24-+BX19%Z,C-WKDID1F<_HSK?2>CN[V.8^H%ZF4V]3%B]I*2A]4+"+"3,1L(E=O* M[K%\PO:*$4PJGOQI\>#>5S%IMJ$7*1)F(6$V$N:<['6%4]6*.\J$:3T1\1BWON +:4,%0"49D%I-I3FU+3MJ]N8CY6ITO[MZ@'5 M@*X@MIP:52J(VXS1?)W]J#MOGI"<<1ZR>CU)2V^//;)L&10#;2H>AA+NL_I^ M4DN);FAVP*J1IA^L)"3-@M)L*,VI:=NW$\U0#'VWV^_9;Z[.9VI_?Z)JK2XT MJ2ZNU.;AM[>LTNC!9472+"C-AM(<*,U%T;H::;TT%6"FJ5 W#4JSH#0;2G.@ M-!=%ZRJE]=34_]U4DV<8K*,C/#H+FM*&TAPHS471NO)H73U5;NM9^XJHQJ;$ MH[SWD5(.'*P&>?/*GT T[2TY^ L,M#DVE.9 :2Z*UE5*:PRJK:FJREW5%PQ+Y,#F;8:#;X+( 8.5 M G5+H30'2G-1M.[[/:VMJLEMU2M=.BR11P_M;* T"TJSH30'2G-1M*Y&6J=5 M4W]^6*)![5(HS8+2;"C-@=)<%*VKE-9[U>3>*V!8(L\P6$=0?Q9*LVN:_.4G M!YK31=&Z^FA]5TWJUKU@7"('#I8#U(2%TNQG3EUEY]Z-96/2Z">*I1F06DVE.9 :2Z*UM5(:[YJ,\"X!.JW0FD6E&9#:0Z4 MYJ)H7:6TYJLF-U\1XQ*H00NE637MF=>HH3D=*,U%T;KZ:(U73?X:Z O&)5 7 M%DJSGCG8CI?3/Z\&:KQ":2Z*5BEELC55+&+9JIP%F(N;P3KFU=R<9FLST_!] M.;]N9_N%>FJK/=L=]=2MYA&V^&I:XR>:K8(X)R&[%ZF4L2END5DU4[!:X4E: M3E3[FG">1.6BSZC'LF('\?U]DO"GE2)!,U]S\1]02P,$% @ M(,E69CJ MZD+Q" ,&X !D !X;"]W;W)K&ULM9UM;^HV M',6_2L2D:9.V0IYHZ5JD%MNZG=0'M;W;ZQ3Z5]^#DAQ=AU#"F' M-_=":O_^28XY30]V\GF4'Z6O/!$_ M>4ZS>52(M]E+-W_->#2I.LUG7:_7ZW?G49QTAF?5MKML>)8NBEF<\+O,R1?S M>93]N.2S='G><3OO&^[CEVE1;N@.SUZC%_[ BZ^O=YEXUUU3)O&<)WF<)D[& MG\\[%^XI"P=EAZK%7S%?YANOG?)0GM+T6_GF:G+>Z95[Q&=\7)2(2/SWQD=\ M-BM)8C_^K:&==%-/SSDG'F?#G:#$K[M/E M%UX?4%CRQNDLK_YUEG7;7L<9+_(BG=>=Q1[,XV3U?_2]/A$;'03'W,&K.WAZ MAZ"A@U]W\'>M$-0=@ETKA'6'4._0;^C0KSOTJW._.EG5F291$0W/LG3I9&5K M02M?5')5O<4)CI-R9#T4F?AI+/H5P]'7A\?;:WKOC&YO1O3F\?[B\>KVYL'Y MA? BBF?YK\[O]6[P[*Q;B(IEO^ZXIE^NZ%X#W7>NTZ28Y@Y-)GQBZ$_L_?O; M^C-[?]>S +KB5*W/E_=^OBX]*_'/Q>S(\=W?'*_G!88=&NW>W3>=C_VJT_VJ MLRW=HZ2ING(N_?78\RM>T#3VZG'EC-)DS),BBRJSN8_S;\Y_SL5XG"Z2(G?N M^9C';]'3C)L&H+5$Z MF)2QTMLJ@X01)(PB80P$4_0^7NM]C/+28Z2T2!A!PB@2QD P1=J3M;0G""^U M0MK*BH21DP_F%FI>BBS'/I;SS%XZ6 LPV,-+KZ-_4O&C]S:W"=_]BM5:MZUF M2!A!PB@2QD P922X/?DW<@_ELS4)I"Z41J T"J4Q%$U5>",%<:V?]CN>E<)& M+[RTW'GUZ5X;KR/>Y/QE+AJ8-;>R6VN.I)&:-M@PQMZ1IULQM"8SUG3[9C]V M/:F1AW;D[9>\]IJMM4/2")1&H32&HJEC029'K@]S9&A"!*41*(U":0Q%4Q66 M,9%KC2KV=&1H= 2ED9K6Z(ZUEM!4R%C3'S0XLLQ[7'O@T\J1'Y?I[M?(]L*M M!82F1% :A=(8BJ8.")D_N7V8+4/#)BB-0&D42F,HFJJP3)Q<:^JQIRU#4R@H MC=0T[4+9U6T9&C 9:[I!@RW+Z,BU9T>?L.4=+I2A41.41J T"J4Q%$T="S+% M<@-*."T@B4 M1J$TAJ*I"LN,RK-/;]K/F*&I%91&:IIFS/I4"6A-9J[9<*GLR93)LZ=,GS+F M[1?+]JJMU8/F3U :A=(8BJ:.!IEG>2',DZ$!%91&H#0*I3$43558!E2>?8;4 M?IX,C:R@-%+3MGDR-(I"T50M913EV:.H5M[-TD6VFW5#,RHHC4!I%$IC*)HZ M&&3FY9W K!N:9$%I!$JC4!I#T52%99+EV2=D[6?=T&P+2B,U3;-N/7F&UF0H MFKKN0V96OCVS:F?=\=MN5]WVHJW7@D##+"B-0FD,15,'@PS'?!=EW3XTZX+2 M")1&H32&HJD*RZS+M\_S6FD/3KYJVQ;JA-1F*IFJYL69O2ZJ5+L5' M]2J9"/VR'\Z#*!"/>2X,^BY+)POAST9/O^=O/%F85_!AE_!AU_!A%_%A5_$= M8H*6+Z,S/X#9-C0.@]((E$:A-(:BJ0K+.,RW3^_:S[97;-=5O/&XKTT]'C6T M"[1VI*&=?Z*;K;F=_KTALQ_[9\^M#*+\+4%4HXW:KXUM/@J-IZ T J51*(VA M:.I(D#&6#UO$YT.S*2B-0&D42F,HFJJPS*9\R%H^_^,:-E\WRZU-R/8F='L3 M9C^BSYXQF?7X6[*>3[JC<1&(S3*AL1"41J T"J4Q%$V]@X2,CP+8>KP F@E! M:01*HU :0]%4A64F%!QP/5Y@7/-VK'FIN97VMSLQM](O.HVMW(%FJO9C_NPY ME2E,L"6%P9CJ:L*PQ53MN]'Z(P<-;* T"J4Q%$T='C+8"6!+Z@)H8@.E$2B- M0FD,15,5WKCSDGVRTWZF&M@G8-5:FEIYNJ<:4?I5JKG5L>ZIAXA( AF1!%LB M$I"GUC/+;*X*G7 $I1$HC4)I#$53!XC,>0+8BK@ FM] :01*HU :0]%4A65^ M$QQP15Q@7 'FZ:ZZ2RMB;J6[JK&1J[OJ(0*30 8F@3TPJ?TTCF;EQT:\6JQN M0POXLLE>N?6'##KY!TJC4!I#T=01(0.A +:,+8!F.E :@=(HE,90-/76D3+3 M"0^XC*UF:U_Z>/I?X*.&=KYNI0WM@@^W@S2W"_6K5/NQ?_;>!M[YVUH@@2E,11-55@F2.$!EZS9V:TUAV9*4!H- MC0O@/KCZ(;*B4&9%H3TK>BR?J)/.YXLD'J_<^BIYSJ*5O2\RCD@X[+O06G+H M)"$HC4)I#$53AX;,O$+8 K80FF%!:01*HU :0]%4A66&%1YP 5O-UI*&GCZM M==30SM.GB37Q!GK"T<#[D'! TZ/NQ@.MQ-EYJ1X]ECO5_7!6SQ=:;UT_WNRB M>JB7MOW2/1VYANW$/:6KAY=)_.I9:M=1]A(GN3/CSZ)4[^A8_/;/5H\G6[TI MTM?J<5I/:2&DJUY.>33A6=E _/PY38OW-V6!]4/BAO\#4$L#!!0 ( +2# M)5D;L$#X- X $UN 9 >&PO=V]R:W-H965TO3D^; MR]MR,6U^KN[*9?>;ZZI>3-ONV_KFM+FKR^G5NM%B?LKC6)\NIK/ER?G9^F%2;M&ZP1_YJ5]\W.UU$?RD55_=%_ M\^[J]4G<_T7EO+QL>XII]]_7;QFWW#WZP?V8AU\%\S% MM"DGU?S?LZOV]O5)?7@;_9B5[70V;WZ*?HAFR^C+;;5JILNKYNRT[:[7 MMSJ]W'*_V7#S ]PB>E\MV]LFRI=7Y172/J/;:Z+]:1?G8[#\(=@WG"3\YVK^ M=#=NB]#E8?ZJ8H!FNAS2 M:$][\3C0Q)I7'!IHF[BB3^5=5;>SY4WT;KF9&+L)!AM;&SJ)T_43[JOF;GI9 MOC[I9M2FK+^6)^=__QO3\3^P#@U)EH4DRT.2%8'(]CI8/G:PI-C/?[LKZ^FZ M8[=#./J+&,QO2+)CNSWUF7KL,T7V MV:?R:[ECHFHGU8 M048U4C/]J)DF-9M431M5U]VRZK!VVAU"J4I9#+1#8,SH&(B2N3 AE)8)T,Z% M\=C$"L *,KJ1VIE'[0RIW=NZ:IKHKJZN9^BD8-Q(&8OAD'-17!C)@6HN2J8Q M')0<O.).R(^2):ENBMO:7:#4CI&,0S M05"2,3!8,P3%8I'""1&!"9F &:"@8QRKX8[_8D<,Q8NR6Q.7#Y*VTV_X/;WE MW!M#W3W-H)HNC!FAX+,9@0FE4@GE1"X:"RV@GF2\8_7D5D_NHVW_U@^0?G$X M6[;3Y 45"SY[ AS/H01AN1CW6_9FF_OXCNYM/. M;O?KPO+/U>QN;;ZG5U>S@\L9AG@%Q[--$)1(--03H=(&.F8$U0G*H*#/X4V8 M-2>,=B>355VOI6N:LL5U<^V"-C)5SC(&,1]*=8M!*)X?7^[)5VQQ>N\A8YBQ M/;LOC?4@C#8A#]+,9].+V;P;6 ?F-7?I+YGJ9G^H#V81NN6@,[C\^')/O@+! MB9AWCYT#^E@_P6A#\;:JKNYG\SDJ"K+@3V+AS%Y>L,P/EOO!BD'8?I[=.@-. M.X,O5=L[U8,W$G>7YH9K!?W-!,&I6)D8SNJ>?+DG7['%[=U(:<+Y@1N)V^4^ M'UKNMV7=+;#NILOO43Z?=3;^L.NDN8Y-D@9ERX*RY4'9BE!L^WUL+0CG8;*!5_[:?0[)E0=GRH&Q%*+;]?K9NB=-NB<\RVQ# !3%_@Z*[RN68>])I% M*+;]+K"^B].^:U+5W3TV; ME*T(Q;;?T]8A;'[+]Y;GIPUZN^9(YUFV PSIT]) PF3.JLEA"8T0IFKNAX1^HIK-T6M-T> M2I\*9,,,R#8,R1 (N,_S84A!AS)6*FO !6W AY-\ MDUZXM5X-2'X!(=&YBP M\:3+_>@*.KRQ\EEO*^CM-<]$H'!WNYAR'AX8RLW8>W'E7EP%'=U8]79J(&G' M.)06$YB#ZT:+<[.ZN"1EQE'.CR[WHROHX,:*9[V>H+W>Q^J^>^R^6UZMNH7@ M]^AS=X'99=E$?T6V]'#K$G!Q@QJ_H&Q94+8\*%L1BFV_VZWQ$X&-GPAJ_(*R M94'9\J!L12BV_7ZVQD_0QH_*I@ED^] (HV$^#2P M"HN.<*R"UM()VM(-%:8*K/)1.?N:"(PE'+J%#($)FCE!>[FG)FR$Z[ ,@T%.$)12L(HE0U!," Y-'09C I9G%W3@8X]36%,G:5-W M=,I&(A9."UBV,L%@7"LX1R(PWJVHG;,0V$5- @M8+:WKD[3K.R9E(UTC M)@TLRI\@*.&6[B.HQ&A8J(J@E',VHJ!#'"NA=7[2J[#RN)R-=%T99S&LU9\@ ML#ZW!;.("$S$W*GIQR[*I8&/'#K>L7I:+RAI+SB4LY%HX2,4#JNUA#80 ?$$ M/J@QD(*)5SJDL9+MG# ;<(#C*]XD5@0IG9L:04'-,P3$.7,&H8M2PKFEG\-: M26NM)%UU.9P+DTA)I=$I3 63"_;)C$ M"BFE=,Z/(#B6" FS]YDG7^[)5]!1CE71VA=AI/NH='6J\V[+H[.*]+7.?HHJAU[@L $-W!UG"&P5 AX M_C-'8%K$SCDZ.JRQLEF[IP8V^CQRB@HY'R>X4^6(P'@2.P]G!):P&-JV'($I MJ07*=G=#"47EVBTMW8'GHJ2&1^0R!,6XXYYS!)9(F+ MZ+C& MZF8MGJ(MWE.SB0H][.:\M +S>;#,*$-0(H$#+4=0/'5.GM!ACY5UYST?M-,[ M.I>H$*/F&A8$);B >P4(JAMX\&@&@E(*VNJ"CG.LCM;P*=KP'9-'I*F.7B^$ M9,L4X@QA?X2\8!&*;;_?K,54QY0_>B8O%7+J#KD'D%>((/< LJWF3+XY@L+N M@>?PG M]44Z2 &D1CR/21A\>&"P)'72YGYLN1];04*$R+U3NA2KHD,9*9EV1IEW14*I7NQ[$, /?+C-!8%K$\)!TYL>6^[$5=&AC MI;/.1]/.YTO_$N-JL5@M9Y<;N]/G^>KI)N&[ZI:!1R=\Z2L>N[ /RI8%9'^-8)*&"P;Q:A2^$*F'$-)6"-5 MT%&-?0VL-72&-G1/3?,:UV9I#=]?A8 ,+-G-$!#CSJ8#AI+P7B_HH,>*:GV= M.>95DAY)7H,X+F>QC8 2N&)$,$[%9(Z G-06'>%8!:VY,[2Y.R:]:Y!B1"B= M"WD)CP<.T^0>- 4=V%CAK*H8N 4OC&5P3#G>,'& @NE0HZHK&*67=G:'?W MA,2@;F(:)00P$UX$8QGV #!,5=*QCM;3^R/@5,QY.,QAWUT@ZU803#.4D M2C,OKMR+JZ #&RO@\S4 ,8S(/3.Z!*>A0QDIEO8:AO<90&G#;?/>MA29V-CLP M%(<[/ID75^[%5=!A'2O;Z?_KXV6>_K#_Q M"_S\#7LU8 [O?75=4^?--?X/$3Y,[_#U!+ P04 " "T M@R59"A!F!P &0 'AL+W=O M^I+8SCGWGG,=7_0% [S4I(R8CF7Y9H;3W(AZ>FW"HAXM!4ESF##$RRS#[.T&"-WT#=O8+4S3 MET2H!3/J%?@%9B">BPF3,[.)LDPSR'E*<\1@U3<&]O4P4'@-^)7"AN^-D7*R MH/1534;+OF$I04 @%BH"EJ\U#($0%4C*^%/'-)J4BK@_WD6_U]ZEEP7F,*3D M=[H42=\(#;2$%2Z)F-+-#ZC]=%2\F!*NGVA38RT#Q247-*O)4D&6YM4;;^LZ M[!%L[P3!J0G._Q+L6"QSU&-T@IM RFAKHVFBV=)/F:A=G@LFO MJ>2):/8\F3S4)+CO,E[YE":E49S;C6 M=5/IX ME'LKWS&D:[P@@.1>(YFTP.E2[O\.":W[7^7Q=1[5:]:1'3IAV#/7^UY;47[0 MH-Z9\!H3WED34[R19T@ 2S'A4NA:_LR4O;6IK )U]O*'CNT=B#P&=;MAIUUC MI]'8.:MQ4I<1MK)A\_82=EK$^8<5/ ;YEGM"G-^(\\^*TVV@39%_E,SV;,L^ MD'2,\KJ!TRXI:"0%9R7-J< $4=V?XKH_8=V?VG0&1[^5%X;!H9>]U4WWR-F+VG.$8&5Y%E7@33*JMNDF@A:Z(:\H$*V=SU,Y 4,3 'D]Q6E M8C=1/;ZYTJ._4$L#!!0 ( +2#)5D5WSBFPP( +0' 9 >&PO=V]R M:W-H965T4YJ)OI%( MF5^9IH@32+&X9#ED:F?)>(JEFO*5*7(.>%&(4FHZEA68*2:9$?6*M0F/>FPM M*"TD2RNQ(DA)5O[CUZH.>P+;.R)P*H'S7H%;"=PBT9*L2.L&2QSU M.-LBKJ.5FQX4M2G4*AN2Z:/3P^#V>AQC+ZB01SS-2S0[:MZC00(='X#$A,J+M3F\_0&G9]= MH#-$,C1+V%K@;"%ZIE2<^C0SKIBN2R;G"-./-;U$KOT%.9;CM%<.M"N*?5W; M]>NH-XQ>S>B]BS%FJ7Y#L>X5;8BEB[]WN-VQ;/\ L1GEV(X5M"/Z-:)_$O$> M5-M!E. YH402:"VAWSC9#;K! 5XSR F=(W1!31>A2I*7=T0YD2POVNR<2=6TBV&BKE7@.D#M+QF3NXGN MW/5%'?T#4$L#!!0 ( +2#)5DA&!9,-@, ,@3 - >&POVS?$,*K-2K"[.6,F6)9"UBF9&U-]",-Z-F]7AR6E$LR'LE%>5.:.IBIA30IB;M0 MX&Z?LY3TX_@_GU_OQLP8X)Z%7]/(% MHA<]7-=BF'2\*]T.MTIK)D:\\A!/.]XI1AN^:"K/S 033KP3V;($G88L>&.1"= 8'Q 7&HXH:P[2\L9UF%IJO^X))L",W-)IDJG3'=I>F3=6@\$BP'.YH7<[@;584 &J-*V\@X M+92DC8P._YCO8RW]JW'NR:[)K64-MT,JX#^MMJ3GM;-GJ5 M;E#Q1V4^+>QT9-.'0F.WFN5\V?27>6< 4^_CZK2JQ.JCX(4LF9O\BQ..1W3- M"^9*\U\V&Y3*S :8)L$CTX;/MB,_-:WNV=*LRVF9XYX'1^CY[ZYSP2335&R; MMK5_R*O\:L?1U;^RW/Q6V3?L]=B^5@_=Y.4QF(R/P>11U.3P&$PFAV\R.DR/ M87O(V#K)[)QCNF@ Y\64?(/3I]@D#:8++@R7;6_.LXS))\<9*V_HU/Z9LJ-O MQV7&5NR;-)V=3%M MFH%MV*SM!81]Y*:Y_ C&<9@? 0S+@SG .(Z%Y?F?YC-$Y^,PS-O0BPQ1SA#E M.)8/F30?+(^?D]C+/],DB:(XQE9T,O$ZF&#K%L?PXU?#O $#RP.9_FRM\=W& M*^3Y.L#V]+D*P6:*5R(V4WRM ?&O&S"2Q+_;6!Y@8+N U0[D]^>!FO)SH@AV M%?.&/<$XDB08 K7HK]$X1E8GAH]_?["G)(J2Q(\ YG<011@"3R..8 [ X9$ M4?,>W'L?A>OW5+CYW]WX-U!+ P04 " "T@R59EXJ[', 3 @ "P M %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6= MOZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6' MTD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T M>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 ( +2#)5G7-1R-@P4 M (8L / >&PO=V]R:V)O;VLN>&ULQ9I;;^(X%(#_BL7+SDK;!7+K3%5& M2H-IHX' )J&S^S1RB2G6Y(*L?+/8LMS=61=R(Q5:E/>]\NMY"PI-YQ7 M6=HW!@.GGS&1][Y>'LZUD'U]HZCXJA)%KG;6.VX%?RQ?C]>;Y$&4XDZDHGH> M]9KO*>^13.0B$[]X,NH->J3<%(\WA12_BKQB:;2219J.>L/]@5LN*[$ZVAW5 MD#&[*YL]%;L+F0(9]9R!.N%:R+)J6C3G9XKQ@:O&^ZU=54Q$6G$Y9A6_EL5N M*_+[^C3J*OK:931Q.'SN@W@A_T\8B_5:K/BX6.TRGE?[.$J>UH!YN1';LD=R MEO%1[]"$L#PA-*]4D(B?[T^EVM97JG[:3_9772E<+8;R0J@#TD\:<#Q(;QZ, M:1#1,5'?HOG4'[NQVHAB]3&C@09I )#&22"OW*D;>)1HD"8 :9X0\H>A05H MI'7"V]V"M %(^Y20I@;I ) .+N281E[H+V)_'I#YA,0WE%PM(S^@443<8*Q! MG@.0Y[B0(;VEP9)&9!+.9W4TX]#UXHA\]^,;XBTUR,\ Y&?DV^U&-W^0^B^A M?RW]6W=*@[@)(OZI!?@$@O^!"3EP_) IM2(':F3V M@VOBAJ%"/+ZCD$V&Z#J9S?SX" ERQQ!9'E-Z[4Z;440%C:K0T18:9(PALC*B M>.Y].[MR]]*8+90^W'IHUOD@60R1;>$'BHJ2V/V['3/(#4-D.00T)B]<"QJ2 MZ,8-6X,&I(0ALA.:^WDSGXYI&/W6:"'^1V>#3#!$5H&W5'0S%3'5$SQ:*[5^ MTO3;:D J,)!5$-'K>M10)EC,P[JGZF"0" QD$43+Q6+:#+)J%'D9?-6WKJD& M.-= UL*"/9.'DBRX;/X]7W$R%N4J+ '_7"2'+&,B6>2^C>0'5:QZ0;4QDV^B)35<, M3<@X)K)QNC*<3DC(-R9V<:L[G>CH,298W4(VSE%:T1E(R#QX0L9'_@VHU"\_-5D7$2LR="G]1I=4S(0C:ZA5J8@?J9^99+U3"_)]-" MQX0L9*-;J(49\I(SN=HT+TF-^8.."5G(1K;0&\RH2)DD-.?R_IDLI!Y-![*0 M@VRA[@I71Q[G0!)R3E&'>TWE=$Q(0LY'2.C-HF-W,"$'.=CSH/?JA7M0'1-R MD(/MH.-Z85FK?/)\6+#F\1GMX!?CKOU!+ P04 M " "T@R59R%S!4B " #0)P &@ 'AL+U]R96QS+W=O3EL4]^NW]MM2;IGVYG+EX_^_(_$[O-9K\N/[OU M[V,YC?\8G/YTPWO=E3(VB]=VV)9QU:2/P_5T39>#W)TG-XN7MU4SO+Q)D^8. M4@C2^8,,@FS^((<@GS\H("CF#\H0E.@^_F#'B#H8?Z@1PAZG#](EBCC MDB!I@C6!UH)<"X'7@F +@=B"9 N!V8)H"X':@FP+@=N"< N!W()T"X'=@G@+ M@=Z*>BN!WHIZ*X'>.GG9)M!;46\ET%M1;R706U%O)=!;46\ET%M1;R706U%O M)=!;46\ET-M0;R/0VU!O(]#;4&\CT-LFFR4$>AOJ;01Z&^IM!'H;ZFT$>AOJ M;01Z&^IM!'H;ZFT$>COJ[01Z.^KM!'H[ZNT$>COJ[01Z^V2SFT!O1[V=0&]' MO9U ;T>]G4!O1[V=0&]'O9U [T"]@T#O0+V#0.] O8- [T"]@T#O0+V#0.^8 M?*PDT#M0[R#0.U#O(- [4.\@T#M0[R#0.Z/>F4#OC'IG KTSZIT)],ZH=R;0 M.Z/>F4#OC'IG KWSY&<3 KTSZIV_4^\Z?AY*O?9\K?'YWTGU>+ZW7!]_67Z= MG+!SP3G=5M3GOU!+ P04 " "T@R59XB$R0O$! 9)P $P %M#;VYT M96YT7U1Y<&5S72YX;6S-VLM.PS 0!=!?J;)%C>LG#]%N@"VPX =,,J51D]BR M72A_CY,"$@@J4)&XFT:M[;D3CW16/;][]A0GVZ[MX[Q8I>3/&(O5BCH;2^>I MSRM+%SJ;\M?PP+RMUO:!F)C-#*M/C4=Y0L"\3AI7O U[/ MW3Q2"$U-DUL;TK7M\BZV;5E,SRW%VJ39>/E-$'LG5<$:6N M+7=%C_8GIWS#M/OD!^>/9?8%YIVWP?F8)Q;H]W%O(QE.3WTN1"$U^U_Q/3&7 M/OC]:)AV3?4/L_/U/KFP'N<1V?@X_(X_SOB]_B_[$"!]2) ^%$@?&J0/ ]+' M,4@?)R!]G(+TP6L]\ZM M_SA^?):=;?JW?#;^(V[Q E!+ 0(4 Q0 ( +2#)5D'04UB@0 +$ 0 M " 0 !D;V-0&UL4$L! A0#% @ MM(,E61M$'HSO *P( !$ ( !KP &1O8U!R;W!S+V-O M&UL4$L! A0#% @ M(,E69E&PO=V]R:W-H965T&UL4$L! A0#% @ M(,E68RO-=U7!@ 1QP !@ M ("!!@X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ M(,E60^33Z<%"P RF0 !@ ("!C1X 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ M(,E6?<56/E?"@ M2!L !@ ("!9#L 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MM(,E623W@;+> P L@H !D ("!B58 'AL+W=O&UL4$L! A0#% @ M(,E62]X+WC\ @ ME 8 !D ("!+&4 'AL+W=O&PO=V]R:W-H965T0EAPD +X; 9 " @3QP !X;"]W;W)K&UL4$L! A0#% @ M(,E6?W5;BW) P RPP !D M ("!^GD 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ M(,E63Q'RS%D"0 "BL !D ("!;H8 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M(,E M6:)N#AQ$ @ B@8 !D ("!2)8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M(,E6;MOB;/H P D0\ M !D ("!TJ4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M(,E62W(D+M0! ^PX !D M ("!Q[ 'AL+W=O&PO=V]R:W-H965T M&PO=V]R:W-H965T&UL4$L! A0#% @ M(,E6<=A M!KS= P )!0 !D ("!,\L 'AL+W=O&PO=V]R:W-H965T5:RW%0, )4* 9 " @9#3 !X;"]W;W)K&UL4$L! A0#% @ M(,E6;2;H8Q5 @ 704 !D M ("!W-8 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ M(,E69@#KXR @ ?08 !D ("! MX=\ 'AL+W=O&PO=V]R:W-H965T[I !X;"]W;W)K&UL4$L! A0#% M @ M(,E6?:OOH+N P ^Q, !D ("!Q.P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M(,E6:2 Z#RN M P Z0\ !D ("! /< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M(,E66L=O_5Y @ B04 !D M ("!0@(! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ M(,E694=7OHH P IPD !D ("!.0P! M 'AL+W=O M6FX# E"P &0 @(&8#P$ >&PO=V]R:W-H965T&UL4$L! A0#% @ MM(,E68>^:1Y[! [!0 !D ("!QQD! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M(,E69T%HQOG @ M0@@ !D ("!FR,! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M(,E609!N+-H!@ NSD !D M ("!22T! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ M(,E60H09G+: @ W@< !D ("!>TL! 'AL M+W=O&PO=V]R:W-H965T7!E&UL4$L%!@ !+ $L A!0 /I? 0 $! end XML 81 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 82 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 84 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.2.u1 html 201 296 1 false 59 0 false 6 false false R1.htm 995200090 - Document - Document and Entity Information Sheet http://www.arganinc.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 995200100 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS Sheet http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS Statements 2 false false R3.htm 995200200 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets CONDENSED CONSOLIDATED BALANCE SHEETS Statements 3 false false R4.htm 995200205 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS(Parenthetical) Sheet http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS(Parenthetical) Statements 4 false false R5.htm 995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 5 false false R6.htm 995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 995210101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION Sheet http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION Notes 7 false false R8.htm 995210201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS Sheet http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers REVENUES FROM CONTRACTS WITH CUSTOMERS Notes 8 false false R9.htm 995210301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS Sheet http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments CASH, CASH EQUIVALENTS AND INVESTMENTS Notes 9 false false R10.htm 995210401 - Disclosure - FAIR VALUE MEASUREMENTS Sheet http://www.arganinc.com/role/DisclosureFairValueMeasurements FAIR VALUE MEASUREMENTS Notes 10 false false R11.htm 995210501 - Disclosure - ACCOUNTS RECEIVABLE Sheet http://www.arganinc.com/role/DisclosureAccountsReceivable ACCOUNTS RECEIVABLE Notes 11 false false R12.htm 995210601 - Disclosure - INTANGIBLE ASSETS Sheet http://www.arganinc.com/role/DisclosureIntangibleAssets INTANGIBLE ASSETS Notes 12 false false R13.htm 995210701 - Disclosure - FINANCING ARRANGEMENTS Sheet http://www.arganinc.com/role/DisclosureFinancingArrangements FINANCING ARRANGEMENTS Notes 13 false false R14.htm 995210801 - Disclosure - COMMITMENTS Sheet http://www.arganinc.com/role/DisclosureCommitments COMMITMENTS Notes 14 false false R15.htm 995210901 - Disclosure - LEGAL CONTINGENCIES Sheet http://www.arganinc.com/role/DisclosureLegalContingencies LEGAL CONTINGENCIES Notes 15 false false R16.htm 995211001 - Disclosure - STOCK-BASED COMPENSATION Sheet http://www.arganinc.com/role/DisclosureStockBasedCompensation STOCK-BASED COMPENSATION Notes 16 false false R17.htm 995211101 - Disclosure - INCOME TAXES Sheet http://www.arganinc.com/role/DisclosureIncomeTaxes INCOME TAXES Notes 17 false false R18.htm 995211201 - Disclosure - NET INCOME PER SHARE Sheet http://www.arganinc.com/role/DisclosureNetIncomePerShare NET INCOME PER SHARE Notes 18 false false R19.htm 995211301 - Disclosure - STOCKHOLDERS' EQUITY Sheet http://www.arganinc.com/role/DisclosureStockholdersEquity STOCKHOLDERS' EQUITY Notes 19 false false R20.htm 995211401 - Disclosure - CUSTOMER CONCENTRATIONS Sheet http://www.arganinc.com/role/DisclosureCustomerConcentrations CUSTOMER CONCENTRATIONS Notes 20 false false R21.htm 995211501 - Disclosure - SEGMENT REPORTING Sheet http://www.arganinc.com/role/DisclosureSegmentReporting SEGMENT REPORTING Notes 21 false false R22.htm 995211601 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION Sheet http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION Notes 22 false false R23.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 23 false false R24.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 24 false false R25.htm 99920102 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies) Sheet http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies) Policies 25 false false R26.htm 99930203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables) Sheet http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables) Tables http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers 26 false false R27.htm 99930303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables) Sheet http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables) Tables http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments 27 false false R28.htm 99930403 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) Sheet http://www.arganinc.com/role/DisclosureFairValueMeasurementsTables FAIR VALUE MEASUREMENTS (Tables) Tables http://www.arganinc.com/role/DisclosureFairValueMeasurements 28 false false R29.htm 99930603 - Disclosure - INTANGIBLE ASSETS (Tables) Sheet http://www.arganinc.com/role/DisclosureIntangibleAssetsTables INTANGIBLE ASSETS (Tables) Tables http://www.arganinc.com/role/DisclosureIntangibleAssets 29 false false R30.htm 99931003 - Disclosure - STOCK-BASED COMPENSATION (Tables) Sheet http://www.arganinc.com/role/DisclosureStockBasedCompensationTables STOCK-BASED COMPENSATION (Tables) Tables http://www.arganinc.com/role/DisclosureStockBasedCompensation 30 false false R31.htm 99931103 - Disclosure - INCOME TAXES (Tables) Sheet http://www.arganinc.com/role/DisclosureIncomeTaxesTables INCOME TAXES (Tables) Tables http://www.arganinc.com/role/DisclosureIncomeTaxes 31 false false R32.htm 99931203 - Disclosure - NET INCOME PER SHARE (Tables) Sheet http://www.arganinc.com/role/DisclosureNetIncomePerShareTables NET INCOME PER SHARE (Tables) Tables http://www.arganinc.com/role/DisclosureNetIncomePerShare 32 false false R33.htm 99931403 - Disclosure - CUSTOMER CONCENTRATIONS (Tables) Sheet http://www.arganinc.com/role/DisclosureCustomerConcentrationsTables CUSTOMER CONCENTRATIONS (Tables) Tables http://www.arganinc.com/role/DisclosureCustomerConcentrations 33 false false R34.htm 99931503 - Disclosure - SEGMENT REPORTING (Tables) Sheet http://www.arganinc.com/role/DisclosureSegmentReportingTables SEGMENT REPORTING (Tables) Tables http://www.arganinc.com/role/DisclosureSegmentReporting 34 false false R35.htm 99931603 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables) Sheet http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables) Tables http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation 35 false false R36.htm 99940201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details) Sheet http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details) Details 36 false false R37.htm 99940202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Contract Termination (Details) Sheet http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails REVENUES FROM CONTRACTS WITH CUSTOMERS - Contract Termination (Details) Details 37 false false R38.htm 99940203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Contract Assets and Liabilities (Details) Sheet http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractAssetsAndLiabilitiesDetails REVENUES FROM CONTRACTS WITH CUSTOMERS - Contract Assets and Liabilities (Details) Details 38 false false R39.htm 99940204 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Variable Consideration (Details) Sheet http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersVariableConsiderationDetails REVENUES FROM CONTRACTS WITH CUSTOMERS - Variable Consideration (Details) Details 39 false false R40.htm 99940205 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details) Sheet http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details) Details 40 false false R41.htm 99940301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Details) Sheet http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails CASH, CASH EQUIVALENTS AND INVESTMENTS (Details) Details http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables 41 false false R42.htm 99940302 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details) Sheet http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details) Details 42 false false R43.htm 99940303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details) Sheet http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details) Details 43 false false R44.htm 99940304 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Earnings on Investments (Details) Sheet http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsEarningsOnInvestmentsDetails CASH, CASH EQUIVALENTS AND INVESTMENTS - Earnings on Investments (Details) Details 44 false false R45.htm 99940401 - Disclosure - FAIR VALUE MEASUREMENTS - Financial Instruments on a Recurring Basis (Details) Sheet http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails FAIR VALUE MEASUREMENTS - Financial Instruments on a Recurring Basis (Details) Details 45 false false R46.htm 99940501 - Disclosure - ACCOUNTS RECEIVABLE (Details) Sheet http://www.arganinc.com/role/DisclosureAccountsReceivableDetails ACCOUNTS RECEIVABLE (Details) Details http://www.arganinc.com/role/DisclosureAccountsReceivable 46 false false R47.htm 99940601 - Disclosure - INTANGIBLE ASSETS - Additional Information (Details) Sheet http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails INTANGIBLE ASSETS - Additional Information (Details) Details 47 false false R48.htm 99940602 - Disclosure - INTANGIBLE ASSETS - Components of Intangible Assets (Details) Sheet http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails INTANGIBLE ASSETS - Components of Intangible Assets (Details) Details 48 false false R49.htm 99940603 - Disclosure - INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details) Sheet http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details) Details 49 false false R50.htm 99940701 - Disclosure - FINANCING ARRANGEMENTS (Details) Sheet http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails FINANCING ARRANGEMENTS (Details) Details http://www.arganinc.com/role/DisclosureFinancingArrangements 50 false false R51.htm 99940801 - Disclosure - COMMITMENTS - Performance Bonds and Guarantees (Details) Sheet http://www.arganinc.com/role/DisclosureCommitmentsPerformanceBondsAndGuaranteesDetails COMMITMENTS - Performance Bonds and Guarantees (Details) Details 51 false false R52.htm 99940802 - Disclosure - COMMITMENTS - Warranties (Details) Sheet http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails COMMITMENTS - Warranties (Details) Details 52 false false R53.htm 99941001 - Disclosure - STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details) Sheet http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details) Details 53 false false R54.htm 99941002 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details) Sheet http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details) Details 54 false false R55.htm 99941003 - Disclosure - STOCK-BASED COMPENSATION - Summary of changes in the maximum number of shares of common stock (Details) Sheet http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails STOCK-BASED COMPENSATION - Summary of changes in the maximum number of shares of common stock (Details) Details 55 false false R56.htm 99941004 - Disclosure - STOCK-BASED COMPENSATION - Additional Information (Details) Sheet http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails STOCK-BASED COMPENSATION - Additional Information (Details) Details 56 false false R57.htm 99941101 - Disclosure - INCOME TAXES - Income Tax Expense Reconciliation (Details) Sheet http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails INCOME TAXES - Income Tax Expense Reconciliation (Details) Details 57 false false R58.htm 99941102 - Disclosure - INCOME TAXES - Net Operating Loss Carryback (Details) Sheet http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails INCOME TAXES - Net Operating Loss Carryback (Details) Details 58 false false R59.htm 99941103 - Disclosure - INCOME TAXES - Research and Development Tax Credits (Details) Sheet http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails INCOME TAXES - Research and Development Tax Credits (Details) Details 59 false false R60.htm 99941104 - Disclosure - INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details) Sheet http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details) Details 60 false false R61.htm 99941201 - Disclosure - NET INCOME PER SHARE (Details) Sheet http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails NET INCOME PER SHARE (Details) Details http://www.arganinc.com/role/DisclosureNetIncomePerShareTables 61 false false R62.htm 99941202 - Disclosure - NET INCOME PER SHARE - Additional information (Details) Sheet http://www.arganinc.com/role/DisclosureNetIncomePerShareAdditionalInformationDetails NET INCOME PER SHARE - Additional information (Details) Details 62 false false R63.htm 99941301 - Disclosure - STOCKHOLDERS' EQUITY (Details) Sheet http://www.arganinc.com/role/DisclosureStockholdersEquityDetails STOCKHOLDERS' EQUITY (Details) Details http://www.arganinc.com/role/DisclosureStockholdersEquity 63 false false R64.htm 99941401 - Disclosure - CUSTOMER CONCENTRATIONS (Details) Sheet http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails CUSTOMER CONCENTRATIONS (Details) Details http://www.arganinc.com/role/DisclosureCustomerConcentrationsTables 64 false false R65.htm 99941501 - Disclosure - SEGMENT REPORTING (Details) Sheet http://www.arganinc.com/role/DisclosureSegmentReportingDetails SEGMENT REPORTING (Details) Details http://www.arganinc.com/role/DisclosureSegmentReportingTables 65 false false R66.htm 99941601 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details) Sheet http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details) Details 66 false false R67.htm 99941602 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details) Sheet http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details) Details 67 false false All Reports Book All Reports agx-20240731.xsd agx-20240731_cal.xml agx-20240731_def.xml agx-20240731_lab.xml agx-20240731_pre.xml agx-20240731x10q.htm agx-20240731x10q001.jpg http://fasb.org/us-gaap/2024 http://xbrl.sec.gov/dei/2024 http://xbrl.sec.gov/ecd/2024 true true JSON 87 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "agx-20240731x10q.htm": { "nsprefix": "agx", "nsuri": "http://www.arganinc.com/20240731", "dts": { "schema": { "local": [ "agx-20240731.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/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/2023/calculation-1.1.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/ebp/elts/us-gaap-ebp-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd", "https://xbrl.sec.gov/country/2024/country-2024.xsd", "https://xbrl.sec.gov/dei/2024/dei-2024.xsd", "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd", "https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd", "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd" ] }, "calculationLink": { "local": [ "agx-20240731_cal.xml" ] }, "definitionLink": { "local": [ "agx-20240731_def.xml" ] }, "labelLink": { "local": [ "agx-20240731_lab.xml" ] }, "presentationLink": { "local": [ "agx-20240731_pre.xml" ] }, "inline": { "local": [ "agx-20240731x10q.htm" ] } }, "keyStandard": 247, "keyCustom": 49, "axisStandard": 22, "axisCustom": 0, "memberStandard": 33, "memberCustom": 24, "hidden": { "total": 22, "http://www.arganinc.com/20240731": 3, "http://xbrl.sec.gov/dei/2024": 6, "http://fasb.org/us-gaap/2024": 13 }, "contextCount": 201, "entityCount": 1, "segmentCount": 59, "elementCount": 560, "unitCount": 6, "baseTaxonomies": { "http://fasb.org/us-gaap/2024": 839, "http://xbrl.sec.gov/dei/2024": 29, "http://xbrl.sec.gov/ecd/2024": 4 }, "report": { "R1": { "role": "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation", "longName": "995200090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings", "longName": "995200100 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "unique": true } }, "R3": { "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets", "longName": "995200200 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "longName": "995200205 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS(Parenthetical)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS(Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_JENev-AR0Ea7AjSAh5g7LQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_JENev-AR0Ea7AjSAh5g7LQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R5": { "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "longName": "995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_p8Qx2HRBiUK-y9mpwi_gCA", "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_p8Qx2HRBiUK-y9mpwi_gCA", "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R6": { "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "longName": "995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:IncreaseDecreaseInAccruedInterestReceivableNet", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "unique": true } }, "R7": { "role": "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation", "longName": "995210101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION", "shortName": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "7", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers", "longName": "995210201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS", "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments", "longName": "995210301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS", "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.arganinc.com/role/DisclosureFairValueMeasurements", "longName": "995210401 - Disclosure - FAIR VALUE MEASUREMENTS", "shortName": "FAIR VALUE MEASUREMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.arganinc.com/role/DisclosureAccountsReceivable", "longName": "995210501 - Disclosure - ACCOUNTS RECEIVABLE", "shortName": "ACCOUNTS RECEIVABLE", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "agx:TradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "agx:TradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.arganinc.com/role/DisclosureIntangibleAssets", "longName": "995210601 - Disclosure - INTANGIBLE ASSETS", "shortName": "INTANGIBLE ASSETS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.arganinc.com/role/DisclosureFinancingArrangements", "longName": "995210701 - Disclosure - FINANCING ARRANGEMENTS", "shortName": "FINANCING ARRANGEMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.arganinc.com/role/DisclosureCommitments", "longName": "995210801 - Disclosure - COMMITMENTS", "shortName": "COMMITMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:CommitmentsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:CommitmentsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.arganinc.com/role/DisclosureLegalContingencies", "longName": "995210901 - Disclosure - LEGAL CONTINGENCIES", "shortName": "LEGAL CONTINGENCIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensation", "longName": "995211001 - Disclosure - STOCK-BASED COMPENSATION", "shortName": "STOCK-BASED COMPENSATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.arganinc.com/role/DisclosureIncomeTaxes", "longName": "995211101 - Disclosure - INCOME TAXES", "shortName": "INCOME TAXES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.arganinc.com/role/DisclosureNetIncomePerShare", "longName": "995211201 - Disclosure - NET INCOME PER SHARE", "shortName": "NET INCOME PER SHARE", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.arganinc.com/role/DisclosureStockholdersEquity", "longName": "995211301 - Disclosure - STOCKHOLDERS' EQUITY", "shortName": "STOCKHOLDERS' EQUITY", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.arganinc.com/role/DisclosureCustomerConcentrations", "longName": "995211401 - Disclosure - CUSTOMER CONCENTRATIONS", "shortName": "CUSTOMER CONCENTRATIONS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.arganinc.com/role/DisclosureSegmentReporting", "longName": "995211501 - Disclosure - SEGMENT REPORTING", "shortName": "SEGMENT REPORTING", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation", "longName": "995211601 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R23": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true }, "uniqueAnchor": null }, "R24": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies", "longName": "99920102 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies)", "shortName": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "25", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables", "longName": "99930203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables)", "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables", "longName": "99930303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables)", "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:InvestmentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:InvestmentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.arganinc.com/role/DisclosureFairValueMeasurementsTables", "longName": "99930403 - Disclosure - FAIR VALUE MEASUREMENTS (Tables)", "shortName": "FAIR VALUE MEASUREMENTS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.arganinc.com/role/DisclosureIntangibleAssetsTables", "longName": "99930603 - Disclosure - INTANGIBLE ASSETS (Tables)", "shortName": "INTANGIBLE ASSETS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationTables", "longName": "99931003 - Disclosure - STOCK-BASED COMPENSATION (Tables)", "shortName": "STOCK-BASED COMPENSATION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesTables", "longName": "99931103 - Disclosure - INCOME TAXES (Tables)", "shortName": "INCOME TAXES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.arganinc.com/role/DisclosureNetIncomePerShareTables", "longName": "99931203 - Disclosure - NET INCOME PER SHARE (Tables)", "shortName": "NET INCOME PER SHARE (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.arganinc.com/role/DisclosureCustomerConcentrationsTables", "longName": "99931403 - Disclosure - CUSTOMER CONCENTRATIONS (Tables)", "shortName": "CUSTOMER CONCENTRATIONS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.arganinc.com/role/DisclosureSegmentReportingTables", "longName": "99931503 - Disclosure - SEGMENT REPORTING (Tables)", "shortName": "SEGMENT REPORTING (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables", "longName": "99931603 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables)", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails", "longName": "99940201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details)", "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_srt_StatementGeographicalAxis_country_US_2qA1wiNLZEiV4wLrwC6o9w", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "unique": true } }, "R37": { "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails", "longName": "99940202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Contract Termination (Details)", "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS - Contract Termination (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:ContractWithCustomerAssetNetCurrent", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_5_4_2024_To_5_4_2024_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_Djv83Scj_k-4P5u2pE3Vew", "name": "us-gaap:ProceedsFromLinesOfCredit", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "unique": true } }, "R38": { "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractAssetsAndLiabilitiesDetails", "longName": "99940203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Contract Assets and Liabilities (Details)", "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS - Contract Assets and Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersVariableConsiderationDetails", "longName": "99940204 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Variable Consideration (Details)", "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS - Variable Consideration (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "agx:NPricedChangeOrdersIncludedInTransactionPrices", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "agx:NPricedChangeOrdersIncludedInTransactionPrices", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails", "longName": "99940205 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details)", "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "As_Of_7_31_2024_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20240801_JrQvjIU-0kurCwjK3vVlBA", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-8", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20240801_JrQvjIU-0kurCwjK3vVlBA", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-8", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails", "longName": "99940301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Details)", "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "agx:AccruedInvestmentIncomeDividendReceivable", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "agx:AccruedInvestmentIncomeDividendReceivable", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails", "longName": "99940302 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details)", "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:ShortTermInvestments", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:InvestmentTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:ShortTermInvestments", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:InvestmentTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "longName": "99940303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details)", "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsEarningsOnInvestmentsDetails", "longName": "99940304 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Earnings on Investments (Details)", "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS - Earnings on Investments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:InvestmentIncomeNonoperating", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:InvestmentIncomeNonoperating", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails", "longName": "99940401 - Disclosure - FAIR VALUE MEASUREMENTS - Financial Instruments on a Recurring Basis (Details)", "shortName": "FAIR VALUE MEASUREMENTS - Financial Instruments on a Recurring Basis (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_Sgl7PLxGiUSBJbsxEWucgQ", "name": "us-gaap:AssetsFairValueDisclosure", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "unique": true } }, "R46": { "role": "http://www.arganinc.com/role/DisclosureAccountsReceivableDetails", "longName": "99940501 - Disclosure - ACCOUNTS RECEIVABLE (Details)", "shortName": "ACCOUNTS RECEIVABLE (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "agx:TradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "agx:TradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails", "longName": "99940601 - Disclosure - INTANGIBLE ASSETS - Additional Information (Details)", "shortName": "INTANGIBLE ASSETS - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_us-gaap_BusinessAcquisitionAxis_agx_GemmaPowerSystemLlcMember_j5D30ti4xEWcP5zTGfVxUg", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "unique": true } }, "R48": { "role": "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails", "longName": "99940602 - Disclosure - INTANGIBLE ASSETS - Components of Intangible Assets (Details)", "shortName": "INTANGIBLE ASSETS - Components of Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails", "longName": "99940603 - Disclosure - INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details)", "shortName": "INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails", "longName": "99940701 - Disclosure - FINANCING ARRANGEMENTS (Details)", "shortName": "FINANCING ARRANGEMENTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "As_Of_5_31_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_QEM4JEWSNUS726oVXA6GIg", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_5_31_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_QEM4JEWSNUS726oVXA6GIg", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.arganinc.com/role/DisclosureCommitmentsPerformanceBondsAndGuaranteesDetails", "longName": "99940801 - Disclosure - COMMITMENTS - Performance Bonds and Guarantees (Details)", "shortName": "COMMITMENTS - Performance Bonds and Guarantees (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "agx:RemainingBondedPerformanceObligations", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-8", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "agx:RemainingBondedPerformanceObligations", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-8", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "longName": "99940802 - Disclosure - COMMITMENTS - Warranties (Details)", "shortName": "COMMITMENTS - Warranties (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": null, "uniqueAnchor": null }, "R53": { "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails", "longName": "99941001 - Disclosure - STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details)", "shortName": "STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "As_Of_1_31_2024_QsmryGFFHUWhOpkodHf7ug", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Unit_Standard_shares_KZqLQHMC60ayhCwvhyxFZw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "unitRef": "Unit_Standard_shares_KZqLQHMC60ayhCwvhyxFZw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "unique": true } }, "R54": { "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails", "longName": "99941002 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details)", "shortName": "STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "As_Of_1_31_2024_QsmryGFFHUWhOpkodHf7ug", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares", "unitRef": "Unit_Standard_shares_KZqLQHMC60ayhCwvhyxFZw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_1_31_2024_QsmryGFFHUWhOpkodHf7ug", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares", "unitRef": "Unit_Standard_shares_KZqLQHMC60ayhCwvhyxFZw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails", "longName": "99941003 - Disclosure - STOCK-BASED COMPENSATION - Summary of changes in the maximum number of shares of common stock (Details)", "shortName": "STOCK-BASED COMPENSATION - Summary of changes in the maximum number of shares of common stock (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "As_Of_1_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_rCDxE9udOESnLpY--asCdw", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Unit_Standard_shares_KZqLQHMC60ayhCwvhyxFZw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_1_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_rCDxE9udOESnLpY--asCdw", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Unit_Standard_shares_KZqLQHMC60ayhCwvhyxFZw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "longName": "99941004 - Disclosure - STOCK-BASED COMPENSATION - Additional Information (Details)", "shortName": "STOCK-BASED COMPENSATION - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:ShareBasedCompensation", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "unique": true } }, "R57": { "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails", "longName": "99941101 - Disclosure - INCOME TAXES - Income Tax Expense Reconciliation (Details)", "shortName": "INCOME TAXES - Income Tax Expense Reconciliation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "unitRef": "Unit_Standard_pure_lX2ph8G_lkW7cImPXRK9Iw", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "unitRef": "Unit_Standard_pure_lX2ph8G_lkW7cImPXRK9Iw", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails", "longName": "99941102 - Disclosure - INCOME TAXES - Net Operating Loss Carryback (Details)", "shortName": "INCOME TAXES - Net Operating Loss Carryback (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "As_Of_1_31_2021_ca8ExWAeKEij4uhd7L-dZQ", "name": "us-gaap:DeferredIncomeTaxesAndOtherTaxReceivableCurrent", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_1_31_2021_ca8ExWAeKEij4uhd7L-dZQ", "name": "us-gaap:DeferredIncomeTaxesAndOtherTaxReceivableCurrent", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails", "longName": "99941103 - Disclosure - INCOME TAXES - Research and Development Tax Credits (Details)", "shortName": "INCOME TAXES - Research and Development Tax Credits (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:IncomeTaxReconciliationTaxCreditsResearch", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:IncomeTaxReconciliationTaxCreditsResearch", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails", "longName": "99941104 - Disclosure - INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details)", "shortName": "INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:PaymentsToAcquireEquityMethodInvestments", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "agx:CashInvestmentCommitments", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "unique": true } }, "R61": { "role": "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails", "longName": "99941201 - Disclosure - NET INCOME PER SHARE (Details)", "shortName": "NET INCOME PER SHARE (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "Unit_Standard_shares_KZqLQHMC60ayhCwvhyxFZw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "unique": true } }, "R62": { "role": "http://www.arganinc.com/role/DisclosureNetIncomePerShareAdditionalInformationDetails", "longName": "99941202 - Disclosure - NET INCOME PER SHARE - Additional information (Details)", "shortName": "NET INCOME PER SHARE - Additional information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Unit_Standard_shares_KZqLQHMC60ayhCwvhyxFZw", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Unit_Standard_shares_KZqLQHMC60ayhCwvhyxFZw", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R63": { "role": "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails", "longName": "99941301 - Disclosure - STOCKHOLDERS' EQUITY (Details)", "shortName": "STOCKHOLDERS' EQUITY (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "Duration_5_1_2024_To_7_31_2024_6pJ5Ha4QhkOJssOUKaZQNw", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "Unit_Divide_USD_shares_JENev-AR0Ea7AjSAh5g7LQ", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "agx:StockRepurchasedIncludingExciseTaxDuringPeriodValue", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "unique": true } }, "R64": { "role": "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails", "longName": "99941401 - Disclosure - CUSTOMER CONCENTRATIONS (Details)", "shortName": "CUSTOMER CONCENTRATIONS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_l5YmKY8FqE6E7wUY50vgiQ", "name": "agx:NumberOfMajorCustomers", "unitRef": "Unit_Standard_customer_v5LyTlQ2FkK_RO83XYwynw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_l5YmKY8FqE6E7wUY50vgiQ", "name": "agx:NumberOfMajorCustomers", "unitRef": "Unit_Standard_customer_v5LyTlQ2FkK_RO83XYwynw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R65": { "role": "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "longName": "99941501 - Disclosure - SEGMENT REPORTING (Details)", "shortName": "SEGMENT REPORTING (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Unit_Standard_segment_yvx7leyQE0KtjP97wuEOWQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_2_1_2024_To_7_31_2024_lsXKUJvU7km3rMBdYgh4wQ", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Unit_Standard_segment_yvx7leyQE0KtjP97wuEOWQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } }, "R66": { "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails", "longName": "99941601 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details)", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "agx:IncomeTaxRefundsAndPrepaidIncomeTaxes", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "us-gaap:InventoryRawMaterials", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "unique": true } }, "R67": { "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails", "longName": "99941602 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details)", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "agx:AccruedProjectCostsCurrent", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2024_2WFUYd4GxEaUvNvB9F3Qow", "name": "agx:AccruedProjectCostsCurrent", "unitRef": "Unit_Standard_USD_vamZ4hP8tUaGuZY8l1y52g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "agx-20240731x10q.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AccountsNotesAndLoansReceivableLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsNotesAndLoansReceivableLineItems", "presentation": [ "http://www.arganinc.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Accounts, Notes, Loans and Financing Receivable [Line Items]", "terseLabel": "ACCOUNTS AND NOTES RECEIVABLE", "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." } } }, "auth_ref": [ "r218", "r928" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsPayableCurrent", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "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)." } } }, "auth_ref": [ "r49", "r771" ] }, "us-gaap_AccountsReceivableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable [Member]", "terseLabel": "Accounts Receivable", "documentation": "Due from customers or clients for goods or services that have been delivered or sold." } } }, "auth_ref": [ "r703" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Net, Current", "verboseLabel": "Accounts receivable, net", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r927" ] }, "us-gaap_AccruedEmployeeBenefitsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedEmployeeBenefitsCurrent", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Employee Benefits, Current", "terseLabel": "Accrued compensation", "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r52" ] }, "agx_AccruedInvestmentIncomeDividendReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "AccruedInvestmentIncomeDividendReceivable", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Dividends earned but not yet received by the entity on its investments.", "label": "Accrued Investment Income, Dividend Receivable", "terseLabel": "Accrued dividends" } } }, "auth_ref": [] }, "agx_AccruedLeaseLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "AccruedLeaseLiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for lease liabilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Lease Liabilities, Current", "terseLabel": "Lease liabilities" } } }, "auth_ref": [] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses", "totalLabel": "Total accrued expenses", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r52" ] }, "agx_AccruedProjectCostsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "AccruedProjectCostsCurrent", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for projects costs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Project Costs, Current", "terseLabel": "Accrued project costs" } } }, "auth_ref": [] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r14", "r15", "r68", "r123", "r584", "r621", "r622" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Loss", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r1", "r7", "r15", "r458", "r461", "r502", "r617", "r618", "r907", "r908", "r909", "r914", "r915", "r916", "r918" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r839" ] }, "us-gaap_AdditionalFinancialInformationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalFinancialInformationDisclosureTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation" ], "lang": { "en-us": { "role": { "label": "Additional Financial Information Disclosure [Text Block]", "terseLabel": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION", "documentation": "The entire disclosures of supplemental information, including descriptions and amounts, related to the balance sheet, income statement, and/or cash flow statement." } } }, "auth_ref": [] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital", "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." } } }, "auth_ref": [ "r62" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Additional Paid-in Capital", "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." } } }, "auth_ref": [ "r633", "r914", "r915", "r916", "r918", "r966", "r1016" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r852" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r852" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r852" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r852" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Stock compensation expense", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r36", "r37", "r383" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "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" } } }, "auth_ref": [] }, "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]", "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table" } } }, "auth_ref": [ "r885" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r811", "r821", "r831", "r863" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r814", "r824", "r834", "r866" ] }, "ecd_AggtPnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtPnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Pension Adjustments Service Cost [Member]", "terseLabel": "Aggregate Pension Adjustments Service Cost" } } }, "auth_ref": [ "r886" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r852" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r859" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r815", "r825", "r835", "r859", "r867", "r871", "r879" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r877" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Provision for credit losses", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r124", "r219", "r258" ] }, "us-gaap_AllowanceForNotesAndLoansReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AllowanceForNotesAndLoansReceivableCurrent", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Financing Receivable, Allowance for Credit Loss, Current", "terseLabel": "Allowance for uncollectible accounts", "documentation": "Amount of allowance for credit loss on financing receivable, classified as current." } } }, "auth_ref": [ "r124", "r219", "r258" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "AmendmentFlag", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "terseLabel": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "agx_AmortizationOfEquityInvestmentsInSolarEnergyProjects": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "AmortizationOfEquityInvestmentsInSolarEnergyProjects", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of amortization of equity investments in solar energy projects.", "label": "Amortization of Equity Investments in Solar Energy Projects", "terseLabel": "Amortization related to STC investment" } } }, "auth_ref": [] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of intangibles", "verboseLabel": "Amortization of intangible assets", "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." } } }, "auth_ref": [ "r5", "r284", "r291", "r738" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "verboseLabel": "Antidilutive common stock", "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." } } }, "auth_ref": [ "r177" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Assets", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "terseLabel": "Total assets", "totalLabel": "TOTAL ASSETS", "documentation": "Amount of asset recognized for present right to economic benefit." } } }, "auth_ref": [ "r95", "r105", "r122", "r148", "r181", "r187", "r205", "r209", "r255", "r317", "r318", "r320", "r321", "r322", "r323", "r324", "r326", "r327", "r451", "r455", "r485", "r580", "r660", "r730", "r731", "r771", "r802", "r957", "r958", "r977" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrent", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "terseLabel": "Current assets", "totalLabel": "TOTAL CURRENT ASSETS", "documentation": "Amount of asset recognized for present right to economic benefit, classified as current." } } }, "auth_ref": [ "r117", "r127", "r148", "r255", "r317", "r318", "r320", "r321", "r322", "r323", "r324", "r326", "r327", "r451", "r455", "r485", "r771", "r957", "r958", "r977" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "CURRENT ASSETS" } } }, "auth_ref": [] }, "us-gaap_AssetsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Assets, Fair Value Disclosure", "terseLabel": "Totals", "documentation": "Fair value portion of asset recognized for present right to economic benefit." } } }, "auth_ref": [ "r469", "r470", "r760" ] }, "us-gaap_AssetsTotalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsTotalMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Contract Asset", "documentation": "Total assets, when it serves as a benchmark in a concentration of risk calculation, representing the sum of all reported assets as of the balance sheet date." } } }, "auth_ref": [] }, "agx_AtlanticProjectsCompanyLimitedMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "AtlanticProjectsCompanyLimitedMember", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertains to Atlantic Projects Company Limited.", "label": "APC", "terseLabel": "Atlantic Projects Company Limited" } } }, "auth_ref": [] }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax", "terseLabel": "Gross Unrealized Gains", "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r225" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax", "terseLabel": "Gross Unrealized Losses", "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r226" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale, Amortized Cost", "terseLabel": "Amortized Cost", "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r222", "r264", "r579" ] }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AvailableForSaleSecuritiesDebtSecurities", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails", "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale", "terseLabel": "Available-for-sale securities", "verboseLabel": "Fair Value", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r223", "r264", "r469", "r571", "r760", "r763", "r930", "r970", "r971", "r972" ] }, "us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "en-US Debt Securities, Available-for-Sale, Fair Value to Amortized Cost, after Allowance for Credit Loss [Abstract]", "terseLabel": "Available-for-sale securities" } } }, "auth_ref": [] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r874" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r875" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r870" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r870" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r870" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r870" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r870" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r870" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AwardTypeAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r873" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r872" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r871" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r871" ] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation and Significant Accounting Policies", "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)." } } }, "auth_ref": [] }, "agx_BondsOutstandingCoveringOtherRisks": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "BondsOutstandingCoveringOtherRisks", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsPerformanceBondsAndGuaranteesDetails" ], "lang": { "en-us": { "role": { "documentation": "The aggregate amount of bonds covering other risks including warranty obligations.", "label": "Bonds Outstanding Covering Other Risks", "terseLabel": "Outstanding amount of bonds covering other risks including warranty obligations" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsPerformanceBondsAndGuaranteesDetails", "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Acquiree [Domain]", "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." } } }, "auth_ref": [ "r285", "r286", "r287", "r288", "r289", "r447", "r752", "r753" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsPerformanceBondsAndGuaranteesDetails", "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r38", "r39", "r285", "r286", "r287", "r288", "r289", "r447", "r752", "r753" ] }, "us-gaap_CashAndCashEquivalentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsAbstract", "lang": { "en-us": { "role": { "label": "CASH, CASH EQUIVALENTS AND INVESTMENTS" } } }, "auth_ref": [] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "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." } } }, "auth_ref": [ "r21", "r119", "r719" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash equivalents", "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." } } }, "auth_ref": [ "r968", "r969" ] }, "us-gaap_CashAndCashEquivalentsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsLineItems", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Line Items]", "verboseLabel": "Cash and Cash Equivalents", "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." } } }, "auth_ref": [] }, "us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsAndShortTermInvestmentsTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, and Short-term Investments [Text Block]", "verboseLabel": "CASH, CASH EQUIVALENTS AND INVESTMENTS", "documentation": "The entire disclosure of the components of cash, cash equivalents, and short-term investments. Short-term investments may include current marketable securities." } } }, "auth_ref": [ "r929" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "CASH AND CASH EQUIVALENTS, END OF PERIOD", "periodStartLabel": "CASH AND CASH EQUIVALENTS, BEGINNING OF PERIOD", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r21", "r78", "r145" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "NET INCREASE IN CASH AND CASH EQUIVALENTS", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r0", "r78" ] }, "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]", "terseLabel": "NON-CASH INVESTING AND FINANCING ACTIVITIES" } } }, "auth_ref": [] }, "agx_CashInvestmentCommitments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "CashInvestmentCommitments", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of cash investment commitments.", "label": "Cash Investment Commitments", "terseLabel": "Remaining cash investment commitments" } } }, "auth_ref": [] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r850" ] }, "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]", "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year" } } }, "auth_ref": [ "r847" ] }, "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]", "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested" } } }, "auth_ref": [ "r845" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CityAreaCode", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r851" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r851" ] }, "agx_CommitmentDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "CommitmentDisclosureAbstract", "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "COMMITMENTS" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies", "terseLabel": "COMMITMENTS AND CONTINGENCIES (see Notes 8 and 9)", "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." } } }, "auth_ref": [ "r57", "r96", "r581", "r647" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "LEGAL CONTINGENCIES" } } }, "auth_ref": [] }, "us-gaap_CommitmentsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsDisclosureTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitments" ], "lang": { "en-us": { "role": { "label": "Commitments Disclosure [Text Block]", "terseLabel": "COMMITMENTS", "documentation": "The entire disclosure for significant arrangements with third parties, which includes operating lease arrangements and arrangements in which the entity has agreed to expend funds to procure goods or services, or has agreed to commit resources to supply goods or services, and operating lease arrangements. Descriptions may include identification of the specific goods and services, period of time covered, minimum quantities and amounts, and cancellation rights." } } }, "auth_ref": [ "r85" ] }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Common stock allocated for issuance", "terseLabel": "Number of shares of common stock reserved for issuance", "documentation": "Aggregate number of common shares reserved for future issuance." } } }, "auth_ref": [ "r60" ] }, "us-gaap_CommonStockDividendsPerShareDeclared": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockDividendsPerShareDeclared", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Common Stock, Dividends, Per Share, Declared", "terseLabel": "Regular cash dividend declared per common stock", "verboseLabel": "CASH DIVIDENDS PER SHARE", "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding." } } }, "auth_ref": [ "r89" ] }, "us-gaap_CommonStockDividendsShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockDividendsShares", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Common Stock Dividends, Shares", "terseLabel": "Cash dividends deemed paid on shares", "documentation": "Number of shares of common stock issued as dividends during the period. Excludes stock splits." } } }, "auth_ref": [ "r8" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockMember", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock [Member]", "terseLabel": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r792", "r793", "r794", "r796", "r797", "r798", "r799", "r914", "r915", "r918", "r966", "r1015", "r1016" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value (in dollars per share)", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r60" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r60", "r648" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued", "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." } } }, "auth_ref": [ "r60" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r8", "r60", "r648", "r666", "r1016", "r1017" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockValue", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "terseLabel": "Common stock, par value $0.15 per share - 30,000,000 shares authorized; 15,828,289 shares issued; 13,497,550 and 13,242,520 shares outstanding at July 31, 2024 and January 31, 2024, respectively", "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." } } }, "auth_ref": [ "r60", "r583", "r771" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r856" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r855" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r857" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r854" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "COMPREHENSIVE INCOME", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r16", "r133", "r135", "r139", "r572", "r593", "r594" ] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r25", "r26", "r46", "r47", "r216", "r703" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r25", "r26", "r46", "r47", "r216", "r624", "r703" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Axis]", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r25", "r26", "r46", "r47", "r216", "r703", "r893" ] }, "us-gaap_ConcentrationRiskDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskDisclosureTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrations" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Disclosure [Text Block]", "terseLabel": "CUSTOMER CONCENTRATIONS", "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date." } } }, "auth_ref": [ "r81" ] }, "us-gaap_ConcentrationRiskLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskLineItems", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Line Items]", "terseLabel": "Customer Concentrations", "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." } } }, "auth_ref": [ "r703" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Percentage", "verboseLabel": "Percentage of major customers or segments", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r25", "r26", "r46", "r47", "r216" ] }, "us-gaap_ConcentrationRiskTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskTable", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Table]", "documentation": "Disclosure of information about concentration risk. Includes, but is not limited to, percentage of concentration risk and benchmark serving as denominator in calculation of percentage of concentration risk." } } }, "auth_ref": [ "r24", "r25", "r26", "r27", "r46", "r94", "r703" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Domain]", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r25", "r26", "r46", "r47", "r216", "r703" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r103", "r150", "r181", "r189", "r203", "r204", "r205", "r206", "r207", "r209", "r210", "r211", "r317", "r318", "r319", "r320", "r322", "r323", "r324", "r325", "r326", "r730", "r731", "r957", "r958" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r103", "r150", "r181", "r189", "r203", "r204", "r205", "r206", "r207", "r209", "r210", "r211", "r317", "r318", "r319", "r320", "r322", "r323", "r324", "r325", "r326", "r730", "r731", "r957", "r958" ] }, "us-gaap_ConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConsolidationPolicyTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies" ], "lang": { "en-us": { "role": { "label": "Consolidation, Policy [Policy Text Block]", "terseLabel": "Description of the Business", "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary." } } }, "auth_ref": [ "r44", "r721" ] }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "terseLabel": "Schedule of revenues recognized contract liabilities", "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability." } } }, "auth_ref": [ "r961" ] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, Net, Current", "terseLabel": "Contract assets", "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." } } }, "auth_ref": [ "r356", "r358", "r369" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Current", "terseLabel": "Contract liabilities", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r356", "r357", "r369" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Revenue Recognized", "verboseLabel": "Revenues recognized from contract liabilities", "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." } } }, "auth_ref": [ "r370" ] }, "us-gaap_CorporateNonSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CorporateNonSegmentMember", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "label": "Corporate, Non-Segment [Member]", "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment." } } }, "auth_ref": [ "r11", "r204", "r205", "r206", "r207", "r210", "r923" ] }, "us-gaap_CostOfRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostOfRevenue", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Cost of Revenue", "terseLabel": "Cost of revenues", "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period." } } }, "auth_ref": [ "r71", "r148", "r255", "r317", "r318", "r320", "r321", "r322", "r323", "r324", "r326", "r327", "r485", "r730", "r957" ] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CreditFacilityAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Axis]", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [ "r316", "r955" ] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CreditFacilityDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Domain]", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [ "r316", "r955", "r956" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Customer Concentration Risk", "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer." } } }, "auth_ref": [ "r82", "r216" ] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Customer relationships", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r41", "r941", "r942", "r943", "r944", "r946", "r947", "r950", "r951" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "FINANCING ARRANGEMENTS" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangements" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "verboseLabel": "FINANCING ARRANGEMENTS", "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." } } }, "auth_ref": [ "r87", "r146", "r300", "r301", "r302", "r303", "r304", "r315", "r316", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r336", "r337", "r338", "r340", "r496" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Interest rate margin on referred rate", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentVariableInterestRateTypeExtensibleEnumeration", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]", "documentation": "Indicates type of variable interest rate on debt instrument." } } }, "auth_ref": [ "r576" ] }, "us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current", "terseLabel": "Interest receivable", "documentation": "Amount, after allowance for credit loss, of accrued interest on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current." } } }, "auth_ref": [ "r228", "r264", "r265" ] }, "us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes accrued interest, after allowance for credit loss, on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current." } } }, "auth_ref": [ "r265" ] }, "agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughThree": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughThree", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax after Year One Through Three", "terseLabel": "Gross Unrealized Gains, Due in one to three years" } } }, "auth_ref": [] }, "agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearThreeThroughFive": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearThreeThroughFive", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, Before Tax After Year Three Through Five", "terseLabel": "Gross Unrealized Gains, Due in three to five years" } } }, "auth_ref": [] }, "agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxWithinOneYear": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxWithinOneYear", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax Within One Year", "terseLabel": "Gross Unrealized Gains, Due within one year" } } }, "auth_ref": [] }, "agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterWithinOneYear": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterWithinOneYear", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) maturing in first and second fiscal year following current fiscal year.", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax after within one year", "terseLabel": "Gross Unrealized Losses, Due within one year" } } }, "auth_ref": [] }, "agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughThree": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughThree", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) maturing in first and third fiscal year following current fiscal year.", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax after Year One Through Three", "terseLabel": "Gross Unrealized Losses, Due in one to three years" } } }, "auth_ref": [] }, "agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToThree": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToThree", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year to third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One to Three", "terseLabel": "Amortized cost, Due in one to three years" } } }, "auth_ref": [] }, "agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearThreeToFive": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearThreeToFive", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in third fiscal year though five fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year Three to Five", "terseLabel": "Amortized Cost, Due in three to five years" } } }, "auth_ref": [] }, "agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearWithinOneYear": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearWithinOneYear", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year to second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year within one year", "terseLabel": "Amortized cost, Due within one year" } } }, "auth_ref": [] }, "agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToThree": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToThree", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year to third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One to Three", "terseLabel": "Fair Value, Due in one to three years" } } }, "auth_ref": [] }, "agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearThreeToFive": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearThreeToFive", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in third fiscal year through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year Three to Five", "terseLabel": "Fair Value, Due in three to five years" } } }, "auth_ref": [] }, "agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearWithinOneYear": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearWithinOneYear", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year to second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year within one year", "terseLabel": "Fair Value, Due in within one year" } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred taxes, net", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting." } } }, "auth_ref": [ "r419", "r420" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit)", "verboseLabel": "Deferred income tax expense (benefit)", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r5", "r110", "r913" ] }, "us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxesAndOtherTaxReceivableCurrent", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Income Taxes and Other Tax Receivable, Current", "terseLabel": "Income tax receivable", "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and other tax receivables expected to be realized or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Depreciation", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation", "terseLabel": "Depreciation", "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." } } }, "auth_ref": [ "r5", "r31" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenues", "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." } } }, "auth_ref": [ "r368", "r742", "r743", "r744", "r745", "r746", "r747", "r748" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenues [Table]", "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." } } }, "auth_ref": [ "r368", "r742", "r743", "r744", "r745", "r746", "r747", "r748" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of consolidated revenues disaggregated by geographical area", "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." } } }, "auth_ref": [ "r962" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensation" ], "lang": { "en-us": { "role": { "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]", "verboseLabel": "STOCK-BASED COMPENSATION", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r381", "r386", "r413", "r414", "r416", "r755" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "STOCK-BASED COMPENSATION" } } }, "auth_ref": [] }, "agx_DisputedBilledAndBillableContractsReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "DisputedBilledAndBillableContractsReceivables", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "documentation": "Monetary Instant Debit\nAmounts due from disputed billed and billable 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": "Disputed Billed And Billable Contracts Receivables", "terseLabel": "Disputed billable amount" } } }, "auth_ref": [] }, "us-gaap_DividendPayableDateToBePaidDayMonthAndYear": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DividendPayableDateToBePaidDayMonthAndYear", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Dividends Payable, Date to be Paid", "terseLabel": "Dividend declared payment date", "documentation": "Date the declared dividend will be paid, in YYYY-MM-DD format." } } }, "auth_ref": [ "r23" ] }, "us-gaap_DividendsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DividendsAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Dividends [Axis]", "documentation": "Information by distribution of earnings to shareholder. Includes, but is not limited to, distribution paid and declared." } } }, "auth_ref": [] }, "us-gaap_DividendsCommonStockCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DividendsCommonStockCash", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Dividends, Common Stock, Cash", "negatedLabel": "Cash dividends", "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash." } } }, "auth_ref": [ "r89" ] }, "us-gaap_DividendsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DividendsDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Dividends [Domain]", "documentation": "Distributions of earnings to shareholders including but not limited to cash, property or capital stock." } } }, "auth_ref": [] }, "agx_DocumentAndEntityInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "DocumentAndEntityInformationAbstract", "lang": { "en-us": { "role": { "documentation": "Document and entity information.", "label": "Document And Entity Information" } } }, "auth_ref": [] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY 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." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "terseLabel": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r806" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentTransitionReport", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r838" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentType", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "terseLabel": "Document Type", "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'." } } }, "auth_ref": [] }, "us-gaap_DomesticCorporateDebtSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DomesticCorporateDebtSecuritiesMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Debt Security, Corporate, US [Member]", "terseLabel": "U.S. corporate debt security", "documentation": "Debt security issued by corporation domiciled in United States of America (US)." } } }, "auth_ref": [ "r751", "r931", "r932", "r963" ] }, "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]", "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year" } } }, "auth_ref": [ "r849" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "NET INCOME PER SHARE", "terseLabel": "NET INCOME PER SHARE" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)", "verboseLabel": "Basic (in dollars per share)", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r140", "r156", "r157", "r158", "r159", "r160", "r161", "r167", "r169", "r174", "r175", "r176", "r180", "r445", "r449", "r466", "r467", "r573", "r595", "r723" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "verboseLabel": "Diluted (in dollars per share)", "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." } } }, "auth_ref": [ "r140", "r156", "r157", "r158", "r159", "r160", "r161", "r169", "r174", "r175", "r176", "r180", "r445", "r449", "r466", "r467", "r573", "r595", "r723" ] }, "agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "EarningsPerSharePerformanceBasedRestrictedStockUnitsMember", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to earnings per share performance-based restricted stock units.", "label": "Earnings Per Share Performance Based Restricted Stock Units [Member]", "terseLabel": "Earnings per share performance-based restricted stock units" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShare" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Text Block]", "verboseLabel": "NET INCOME PER SHARE", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r166", "r177", "r178", "r179" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "verboseLabel": "EFFECTS OF EXCHANGE RATE CHANGES ON CASH", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r488" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "verboseLabel": "Federal corporate income tax rate (as percent)", "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)." } } }, "auth_ref": [ "r149", "r422", "r436", "r757" ] }, "agx_EffectiveIncomeTaxRateReconciliationDeductionShareBasedCompensationWindfall": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "EffectiveIncomeTaxRateReconciliationDeductionShareBasedCompensationWindfall", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to favorable changes in tax laws or regulations regarding stock-based compensation that creates a windfall.", "label": "Effective Income Tax Rate Reconciliation, Deduction, Share Based Compensation Windfall", "negatedLabel": "Stock-based compensation windfall" } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationGiltiAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectiveIncomeTaxRateReconciliationGiltiAmount", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, GILTI, Amount", "terseLabel": "GILTI", "documentation": "Amount of reported income tax expense from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to global intangible low-taxed income (GILTI)." } } }, "auth_ref": [ "r757", "r964", "r965" ] }, "agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for excess executive compensation.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Excess Executive Compensation, Amount", "terseLabel": "Excess executive compensation" } } }, "auth_ref": [] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized", "terseLabel": "Unrecognized compensation cost", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r415" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition", "terseLabel": "Compensation expense recognize, period", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r415" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "verboseLabel": "Stock Plans", "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "terseLabel": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r804" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding", "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." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "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." } } }, "auth_ref": [] }, "dei_EntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails" ], "lang": { "en-us": { "role": { "label": "Entity [Domain]", "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r804" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityFileNumber", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityFilerCategory", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "terseLabel": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r804" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r888" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityRegistrantName", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "terseLabel": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r804" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityShellCompany", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r804" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntitySmallBusiness", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r804" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r804" ] }, "ecd_EqtyAwrdsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments, Footnote [Text Block]", "terseLabel": "Equity Awards Adjustments, Footnote" } } }, "auth_ref": [ "r843" ] }, "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]", "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table" } } }, "auth_ref": [ "r884" ] }, "ecd_EqtyAwrdsAdjsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments [Member]", "terseLabel": "Equity Awards Adjustments" } } }, "auth_ref": [ "r884" ] }, "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]", "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table" } } }, "auth_ref": [ "r884" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EquityComponentDomain", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "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." } } }, "auth_ref": [ "r8", "r113", "r136", "r137", "r138", "r151", "r152", "r153", "r155", "r160", "r162", "r164", "r182", "r256", "r257", "r298", "r355", "r434", "r435", "r442", "r443", "r444", "r446", "r448", "r449", "r457", "r458", "r459", "r460", "r461", "r462", "r465", "r490", "r491", "r492", "r493", "r494", "r495", "r497", "r499", "r502", "r591", "r617", "r618", "r619", "r633", "r685" ] }, "us-gaap_EquityMethodInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EquityMethodInvestments", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "label": "Equity Method Investments", "terseLabel": "Investment account balances", "documentation": "This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized." } } }, "auth_ref": [ "r181", "r197", "r209", "r254", "r903", "r937" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r853" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r811", "r821", "r831", "r863" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r808", "r818", "r828", "r860" ] }, "agx_EstimatedLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "EstimatedLoss", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of estimated loss.", "label": "Estimated Loss", "terseLabel": "Estimated loss" } } }, "auth_ref": [] }, "agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of estimated loss including reversal of net gross profit recorded in previous years.", "label": "Estimated Loss, Including Reversal Of Net Gross Profit Recorded In Previous Years", "terseLabel": "Estimated loss, including reversal of net gross profit" } } }, "auth_ref": [] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r859" ] }, "agx_ExpiresOnMay312027Member": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "ExpiresOnMay312027Member", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to letters of credit expire on May 31, 2027.", "label": "Expires on May 31, 2027 [Member]", "terseLabel": "Expires on May 31, 2027" } } }, "auth_ref": [] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair value of assets and liabilities measured on recurring and nonrecurring basis", "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." } } }, "auth_ref": [ "r469", "r470", "r478", "r760" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r469", "r470", "r478", "r760" ] }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]", "terseLabel": "Schedule of financial instruments recorded at fair value on a recurring basis", "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class 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)." } } }, "auth_ref": [ "r968", "r969" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r335", "r373", "r374", "r375", "r376", "r377", "r378", "r468", "r470", "r471", "r472", "r473", "r477", "r478", "r479", "r506", "r507", "r508", "r739", "r740", "r749", "r750", "r751", "r760", "r763" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r469", "r470", "r471", "r473", "r760", "r971", "r974" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "FAIR VALUE MEASUREMENTS" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurements" ], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Text Block]", "terseLabel": "FAIR VALUE MEASUREMENTS", "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." } } }, "auth_ref": [ "r474", "r475", "r476", "r477", "r479", "r480", "r481", "r482", "r483", "r569", "r760", "r764" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Level 1 Inputs", "terseLabel": "Level 1 Inputs", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r335", "r373", "r378", "r470", "r478", "r506", "r749", "r750", "r751", "r760" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Level 2 Inputs", "terseLabel": "Level 2 Inputs", "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." } } }, "auth_ref": [ "r335", "r373", "r378", "r470", "r471", "r478", "r507", "r739", "r740", "r749", "r750", "r751", "r760" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [ "r469", "r470", "r471", "r473", "r760", "r971", "r974" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r335", "r373", "r374", "r375", "r376", "r377", "r378", "r468", "r470", "r471", "r472", "r473", "r477", "r478", "r479", "r506", "r507", "r508", "r739", "r740", "r749", "r750", "r751", "r760", "r763" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair value, recurring", "terseLabel": "Fair value, recurring", "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value." } } }, "auth_ref": [ "r760", "r968", "r969", "r970", "r971", "r972", "r974" ] }, "us-gaap_FinancialGuaranteeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinancialGuaranteeMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsPerformanceBondsAndGuaranteesDetails" ], "lang": { "en-us": { "role": { "label": "Financial guarantee", "documentation": "An agreement (contract) that requires the guarantor to make payments to the guaranteed party based on another entity's failure to pay specified obligations, such as debt, to a lender." } } }, "auth_ref": [] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinancialInstrumentAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Financial Instrument [Axis]", "documentation": "Information by type of financial instrument." } } }, "auth_ref": [ "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r259", "r260", "r261", "r262", "r263", "r266", "r267", "r268", "r339", "r353", "r463", "r484", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r592", "r736", "r760", "r762", "r763", "r764", "r765", "r766", "r767", "r768", "r769", "r772", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r933", "r934", "r935", "r936", "r967", "r970", "r971", "r972", "r973", "r974" ] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Useful Life", "verboseLabel": "Estimated Useful Life (in years)", "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r121", "r271", "r290", "r738" ] }, "agx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, after Year Four", "terseLabel": "Thereafter" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months", "terseLabel": "2026", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r292", "r716", "r738" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "terseLabel": "2025 (remainder)", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year." } } }, "auth_ref": [ "r1019" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four", "terseLabel": "2029", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r292", "r716", "r738" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three", "terseLabel": "2028", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r292", "r716", "r738" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two", "terseLabel": "2027", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r292", "r716", "r738" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r283", "r285", "r286", "r287", "r289", "r290", "r293", "r294", "r537", "r538", "r716" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Amounts", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r271", "r290", "r538", "r738" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets [Line Items]", "verboseLabel": "Indefinite-Lived Intangible Assets", "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." } } }, "auth_ref": [ "r283", "r290", "r293", "r294", "r296", "r537", "r716", "r738" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r283", "r285", "r286", "r287", "r289", "r290", "r293", "r294", "r716" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails", "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Net Amounts", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r537", "r947" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r815", "r825", "r835", "r867" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r815", "r825", "r835", "r867" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r815", "r825", "r835", "r867" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r815", "r825", "r835", "r867" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r815", "r825", "r835", "r867" ] }, "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]", "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year" } } }, "auth_ref": [ "r848" ] }, "country_GB": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "GB", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "lang": { "en-us": { "role": { "label": "United Kingdom", "terseLabel": "United Kingdom" } } }, "auth_ref": [] }, "agx_GemmaPowerSystemLlcMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "GemmaPowerSystemLlcMember", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The Gemma Power System, LLC.", "label": "GPS." } } }, "auth_ref": [] }, "agx_GemmaPowerSystemsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "GemmaPowerSystemsMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsPerformanceBondsAndGuaranteesDetails" ], "lang": { "en-us": { "role": { "documentation": "Gemma power systems.", "label": "GPS" } } }, "auth_ref": [] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Goodwill", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "terseLabel": "Goodwill", "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r120", "r272", "r570", "r731", "r737", "r761", "r771", "r939", "r940" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INTANGIBLE ASSETS" } } }, "auth_ref": [] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GrossProfit", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Gross Profit", "terseLabel": "Gross profit", "totalLabel": "GROSS PROFIT", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r69", "r71", "r104", "r148", "r255", "r317", "r318", "r320", "r321", "r322", "r323", "r324", "r326", "r327", "r485", "r725", "r730", "r920", "r922", "r924", "r925", "r926", "r957" ] }, "us-gaap_GuaranteeObligationsByNatureAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GuaranteeObligationsByNatureAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsPerformanceBondsAndGuaranteesDetails" ], "lang": { "en-us": { "role": { "label": "Guarantor Obligations, Nature [Axis]", "documentation": "Information by nature of guarantee." } } }, "auth_ref": [ "r311", "r312", "r313", "r314" ] }, "us-gaap_GuaranteeObligationsMaximumExposure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GuaranteeObligationsMaximumExposure", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsPerformanceBondsAndGuaranteesDetails" ], "lang": { "en-us": { "role": { "label": "Guarantor Obligations, Maximum Exposure, Undiscounted", "terseLabel": "Guarantor obligation maximum exposure", "documentation": "Maximum potential amount of future payments (undiscounted) the guarantor could be required to make under the guarantee or each group of similar guarantees before reduction for potential recoveries under recourse or collateralization provisions." } } }, "auth_ref": [ "r312" ] }, "us-gaap_GuaranteeObligationsNatureDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GuaranteeObligationsNatureDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsPerformanceBondsAndGuaranteesDetails" ], "lang": { "en-us": { "role": { "label": "Guarantor Obligations, Nature [Domain]", "documentation": "Represents a description of the nature of the guarantee or each group of similar guarantees." } } }, "auth_ref": [ "r311", "r312", "r313", "r314" ] }, "us-gaap_HeldtomaturitySecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "HeldtomaturitySecuritiesMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Held-to-maturity Securities", "terseLabel": "Held-to-maturity Securities", "documentation": "Investments in debt securities classified as held-to-maturity." } } }, "auth_ref": [ "r106" ] }, "country_IE": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "IE", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "lang": { "en-us": { "role": { "label": "Republic of Ireland", "terseLabel": "Republic of Ireland" } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest", "totalLabel": "INCOME BEFORE INCOME TAXES", "verboseLabel": "Income (loss) before income taxes", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r70", "r100", "r104", "r574", "r588", "r725", "r730", "r920", "r922", "r924", "r925", "r926" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INCOME TAXES" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "verboseLabel": "INCOME TAXES", "documentation": "The entire disclosure for income tax." } } }, "auth_ref": [ "r149", "r418", "r422", "r427", "r428", "r429", "r430", "r431", "r437", "r439", "r440", "r441", "r630", "r757" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails", "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit)", "totalLabel": "Income tax expense", "verboseLabel": "Income tax expense", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r107", "r111", "r163", "r164", "r181", "r195", "r209", "r421", "r422", "r438", "r596", "r757" ] }, "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount", "verboseLabel": "Foreign tax rate differential", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit)." } } }, "auth_ref": [ "r423", "r426", "r757", "r964" ] }, "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount", "verboseLabel": "Computed expected income tax expense", "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations." } } }, "auth_ref": [ "r422", "r757" ] }, "us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxReconciliationNondeductibleExpenseOther", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Amount", "verboseLabel": "Other permanent differences and adjustments, net", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other nondeductible expenses." } } }, "auth_ref": [ "r757", "r964", "r965" ] }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount", "terseLabel": "State income taxes, net of federal tax effect", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit)." } } }, "auth_ref": [ "r425", "r757", "r964" ] }, "us-gaap_IncomeTaxReconciliationTaxCreditsResearch": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxReconciliationTaxCreditsResearch", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount", "terseLabel": "Federal research and development tax credits", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit." } } }, "auth_ref": [ "r757", "r964", "r965" ] }, "agx_IncomeTaxRefundsAndPrepaidIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "IncomeTaxRefundsAndPrepaidIncomeTaxes", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails", "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of income tax refunds and prepaid income taxes .", "label": "Income Tax Refunds And Prepaid Income Taxes", "terseLabel": "Income tax refunds and prepaid income taxes", "verboseLabel": "Income tax refunds receivable and prepaid income taxes" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid, Net", "verboseLabel": "Cash paid for income taxes, net of refunds", "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax." } } }, "auth_ref": [ "r22", "r144", "r432", "r433" ] }, "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities", "terseLabel": "Accounts payable and accrued expenses", "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." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable", "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." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccruedInterestReceivableNet", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accrued Interest Receivable, Net", "negatedLabel": "Changes in accrued interest on investments", "documentation": "The increase (decrease) during the reporting period in the amount due from borrowers for interest payments." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInContractWithCustomerAsset", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Contract with Customer, Asset", "negatedLabel": "Contract assets", "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." } } }, "auth_ref": [ "r910" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Contract with Customer, Liability", "verboseLabel": "Contract liabilities", "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r535", "r910" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOtherOperatingAssets", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Operating Assets", "negatedLabel": "Other assets", "documentation": "Amount of increase (decrease) in operating assets classified as other." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements", "terseLabel": "Effects of stock awards", "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." } } }, "auth_ref": [ "r170", "r171", "r172", "r176", "r385" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r815", "r825", "r835", "r859", "r867", "r871", "r879" ] }, "agx_IndustrialConstructionServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "IndustrialConstructionServicesMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails", "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to industrial construction services.", "label": "Industrial Construction Services [Member]", "terseLabel": "Industrial Construction Services" } } }, "auth_ref": [] }, "us-gaap_InformationByCategoryOfDebtSecurityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InformationByCategoryOfDebtSecurityAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Security Category [Axis]", "documentation": "Information by category of debt security, either available-for-sale or held-to-maturity." } } }, "auth_ref": [] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r877" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r807", "r883" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r807", "r883" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r807", "r883" ] }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssets" ], "lang": { "en-us": { "role": { "label": "Intangible Assets Disclosure [Text Block]", "terseLabel": "INTANGIBLE ASSETS", "documentation": "The entire disclosure for all or part of the information related to intangible assets." } } }, "auth_ref": [ "r282", "r295", "r297", "r715", "r716" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangible assets, net", "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." } } }, "auth_ref": [ "r283", "r947", "r949" ] }, "us-gaap_InterestReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestReceivable", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Interest Receivable", "terseLabel": "Accrued interest", "documentation": "Carrying amount as of the balance sheet date of interest earned but not received. Also called accrued interest or accrued interest receivable." } } }, "auth_ref": [ "r904", "r1018" ] }, "us-gaap_IntersegmentEliminationMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IntersegmentEliminationMember", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "label": "Intersegment Eliminations [Member]", "terseLabel": "Intercompany Eliminations", "documentation": "Eliminating entries used in operating segment consolidation." } } }, "auth_ref": [ "r103", "r181", "r189", "r203", "r204", "r205", "r206", "r207", "r209", "r210", "r730" ] }, "us-gaap_InventoryRawMaterials": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InventoryRawMaterials", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Inventory, Raw Materials, Gross", "terseLabel": "Raw materials inventory", "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r905" ] }, "us-gaap_InvestmentIncomeNonoperating": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InvestmentIncomeNonoperating", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsEarningsOnInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Investment Income, Nonoperating", "terseLabel": "Earnings on investments", "documentation": "The aggregate amount of income from investments (for example, dividends) not considered a component of the entity's core operations." } } }, "auth_ref": [ "r74" ] }, "agx_InvestmentMaturityPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "InvestmentMaturityPeriod", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the maturity period of investments.", "label": "Investment Maturity Period", "terseLabel": "Maturity period" } } }, "auth_ref": [] }, "us-gaap_InvestmentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InvestmentTableTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables" ], "lang": { "en-us": { "role": { "label": "Investment [Table Text Block]", "terseLabel": "Investments", "documentation": "Tabular disclosure of investment." } } }, "auth_ref": [ "r894", "r895", "r929" ] }, "us-gaap_Investments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Investments", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Investments", "terseLabel": "Investments", "totalLabel": "Total investments", "documentation": "Sum of the carrying amounts as of the balance sheet date of all investments." } } }, "auth_ref": [ "r577", "r578", "r789", "r791" ] }, "agx_KilrootProjectMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "KilrootProjectMember", "presentation": [ "http://www.arganinc.com/role/DisclosureAccountsReceivableDetails", "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to kilroot project.", "label": "Kilroot Project [Member]", "terseLabel": "Kilroot Project" } } }, "auth_ref": [] }, "dei_LegalEntityAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "LegalEntityAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails" ], "lang": { "en-us": { "role": { "label": "Legal Entity [Axis]", "documentation": "The set of legal entities associated with a report." } } }, "auth_ref": [] }, "us-gaap_LegalMattersAndContingenciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LegalMattersAndContingenciesTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureLegalContingencies" ], "lang": { "en-us": { "role": { "label": "Legal Matters and Contingencies [Text Block]", "verboseLabel": "LEGAL CONTINGENCIES", "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies." } } }, "auth_ref": [ "r86" ] }, "agx_LettersOfCreditExpireOnMay312024Member": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "LettersOfCreditExpireOnMay312024Member", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to letters of credit expire on May 31, 2024.", "label": "Expires on May 31, 2024" } } }, "auth_ref": [] }, "us-gaap_LettersOfCreditOutstandingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LettersOfCreditOutstandingAmount", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Letters of Credit Outstanding, Amount", "terseLabel": "Letters of credit outstanding amount", "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date." } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Liabilities", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "TOTAL LIABILITIES", "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others." } } }, "auth_ref": [ "r13", "r51", "r52", "r53", "r55", "r56", "r57", "r58", "r148", "r255", "r317", "r318", "r320", "r321", "r322", "r323", "r324", "r326", "r327", "r452", "r455", "r456", "r485", "r646", "r724", "r802", "r957", "r977", "r978" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r66", "r97", "r586", "r771", "r912", "r938", "r975" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "terseLabel": "Current liabilities", "totalLabel": "TOTAL CURRENT LIABILITIES", "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." } } }, "auth_ref": [ "r53", "r118", "r148", "r255", "r317", "r318", "r320", "r321", "r322", "r323", "r324", "r326", "r327", "r452", "r455", "r456", "r485", "r771", "r957", "r977", "r978" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "CURRENT LIABILITIES" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesNoncurrent", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Noncurrent", "terseLabel": "Noncurrent liabilities", "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer." } } }, "auth_ref": [ "r13", "r55", "r56", "r57", "r58", "r148", "r255", "r317", "r318", "r320", "r321", "r322", "r323", "r324", "r326", "r327", "r452", "r455", "r456", "r485", "r957", "r977", "r978" ] }, "agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "documentation": "The contingent increase above the maximum borrowing capacity under the credit facility, if any one or more of the existing banks or new banks agree to provide such increased commitment amount.", "label": "Line of Credit Facility Contingent Increase, Additional Borrowing Capacity", "terseLabel": "Additional commitment amount" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityLineItems", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility [Line Items]", "terseLabel": "Financing Arrangements", "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." } } }, "auth_ref": [ "r316", "r911", "r955" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Borrowing available under financing arrangements", "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." } } }, "auth_ref": [ "r50", "r54" ] }, "us-gaap_LineOfCreditFacilityTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityTable", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility [Table]", "documentation": "Disclosure of information about short-term and long-term contractual arrangements with lender under which borrowing can occur up to maximum amount. Includes, but is not limited to, letter of credit, standby letter of credit, and revolving credit arrangement." } } }, "auth_ref": [ "r50", "r54", "r316", "r911", "r955" ] }, "us-gaap_LineOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditMember", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit [Member]", "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars." } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "LocalPhoneNumber", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "agx_MajorCustomerFiveMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "MajorCustomerFiveMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Major customer five.", "label": "Major Customer Five" } } }, "auth_ref": [] }, "agx_MajorCustomerFourMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "MajorCustomerFourMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Major customer four.", "label": "Major Customer Four" } } }, "auth_ref": [] }, "agx_MajorCustomerOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "MajorCustomerOneMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Major customer one.", "label": "Major Customer One" } } }, "auth_ref": [] }, "agx_MajorCustomerThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "MajorCustomerThreeMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Major customer three.", "label": "Major Customer Three" } } }, "auth_ref": [] }, "agx_MajorCustomerTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "MajorCustomerTwoMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Major customer two.", "label": "Major Customer Two" } } }, "auth_ref": [] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MajorCustomersAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "auth_ref": [ "r216", "r744", "r782", "r787", "r962", "r986", "r987", "r988", "r990", "r991", "r992", "r993", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MaximumMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Maximum", "terseLabel": "Maximum" } } }, "auth_ref": [ "r307", "r308", "r309", "r310", "r379", "r417", "r473", "r534", "r615", "r616", "r623", "r638", "r639", "r690", "r692", "r694", "r695", "r697", "r713", "r714", "r735", "r741", "r754", "r763", "r764", "r768", "r769", "r783", "r959", "r979", "r980", "r981", "r982", "r983", "r984" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r851" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r851" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MinimumMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Minimum", "terseLabel": "Minimum" } } }, "auth_ref": [ "r307", "r308", "r309", "r310", "r379", "r417", "r473", "r534", "r615", "r616", "r623", "r638", "r639", "r690", "r692", "r694", "r695", "r697", "r713", "r714", "r735", "r741", "r754", "r763", "r764", "r768", "r783", "r959", "r979", "r980", "r981", "r982", "r983", "r984" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r870" ] }, "us-gaap_MoneyMarketFundsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "MoneyMarketFundsMember", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Money market funds", "terseLabel": "Money market funds", "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities." } } }, "auth_ref": [ "r963" ] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r878" ] }, "agx_NPricedChangeOrdersIncludedInTransactionPrices": { "xbrltype": "decimalItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "NPricedChangeOrdersIncludedInTransactionPrices", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersVariableConsiderationDetails" ], "lang": { "en-us": { "role": { "documentation": "Amounts of unpriced change orders included in transaction prices.", "label": "N Priced Change Orders Included In Transaction Prices", "terseLabel": "Amounts of unpriced change orders included in transaction prices" } } }, "auth_ref": [] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]" } } }, "auth_ref": [ "r216", "r744", "r782", "r787", "r962", "r986", "r987", "r988", "r990", "r991", "r992", "r993", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r852" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash used in financing activities", "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." } } }, "auth_ref": [ "r143" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash (used in) provided by investing activities", "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." } } }, "auth_ref": [ "r143" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivities", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities", "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." } } }, "auth_ref": [ "r78", "r79", "r80" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "NET INCOME", "verboseLabel": "Net income", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r72", "r80", "r101", "r116", "r132", "r134", "r138", "r148", "r154", "r156", "r157", "r158", "r159", "r160", "r163", "r164", "r173", "r255", "r317", "r318", "r320", "r321", "r322", "r323", "r324", "r326", "r327", "r445", "r449", "r467", "r485", "r590", "r668", "r683", "r684", "r800", "r957" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recently Issued Accounting Pronouncements", "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." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r851" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r815", "r825", "r835", "r859", "r867" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r842" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r841" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r859" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r878" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r878" ] }, "agx_NoticePeriodOfBreachOfContractOwnersToBeConsideredAsContractTermination": { "xbrltype": "durationItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "NoticePeriodOfBreachOfContractOwnersToBeConsideredAsContractTermination", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails" ], "lang": { "en-us": { "role": { "documentation": "The notice period given to owners breaches of contract to decide as contract termination.", "label": "Notice Period Of Breach of Contract, Owners, To Be Considered as Contract Termination", "terseLabel": "Termination period" } } }, "auth_ref": [] }, "agx_NumberOfMajorCustomers": { "xbrltype": "integerItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "NumberOfMajorCustomers", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of major customers.", "label": "Number Of Major Customers", "terseLabel": "Number of customers" } } }, "auth_ref": [] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "label": "Number of Operating Segments", "terseLabel": "Operating segment", "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues." } } }, "auth_ref": [ "r731", "r921" ] }, "agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of shares issuable under restricted stock units awarded during the period.", "label": "The Number Of Shares Issuable Under Restricted Stock Units Awarded During The Period", "terseLabel": "The number of shares issuable under restricted stock units awarded during the period" } } }, "auth_ref": [] }, "agx_O2023Q1DividendsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "O2023Q1DividendsMember", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information relating to O 2023 Q1 dividend.", "label": "O 2023 Q1 Dividends [Member]", "terseLabel": "Q3 dividend" } } }, "auth_ref": [] }, "agx_O2023Q2DividendsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "O2023Q2DividendsMember", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information relating to O 2023 Q2 dividend.", "label": "O 2023 Q2 Dividends [Member]", "terseLabel": "Q4 dividend" } } }, "auth_ref": [] }, "agx_O2024Q1DividendsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "O2024Q1DividendsMember", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information relating to O 2024 Q1 dividend.", "label": "O 2024 Q1 Dividends [Member]", "terseLabel": "Q1 dividend" } } }, "auth_ref": [] }, "agx_O2024Q2DividendsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "O2024Q2DividendsMember", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information relating to O 2024 Q2 dividend.", "label": "O 2024 Q2 Dividends [Member]", "terseLabel": "Q2 dividend" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingIncomeLoss", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Operating Income (Loss)", "totalLabel": "INCOME FROM OPERATIONS", "verboseLabel": "Income (loss) from operations", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r104", "r725", "r920", "r922", "r924", "r925", "r926" ] }, "us-gaap_OperatingLeaseExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseExpense", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Expense", "verboseLabel": "Lease expense", "documentation": "Amount of operating lease expense. Excludes sublease income." } } }, "auth_ref": [ "r976" ] }, "agx_OperatingLeaseRightOfUseAssetAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "OperatingLeaseRightOfUseAssetAndOtherAssets", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "documentation": "The amount of lessee's right to use underlying asset under operating lease, and asset classified as other.", "label": "Operating Lease Right Of Use Asset, and Other Assets", "terseLabel": "Right-of-use and other assets" } } }, "auth_ref": [] }, "agx_OperatingLeasesPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "OperatingLeasesPaid", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Cash paid for operating leases.", "label": "Operating Leases Paid", "terseLabel": "Cash paid for operating leases" } } }, "auth_ref": [] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "label": "Operating Segments [Member]", "terseLabel": "Operating Segments", "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r203", "r204", "r205", "r206", "r207", "r210", "r730", "r731" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION" } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation" ], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "verboseLabel": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION", "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure." } } }, "auth_ref": [ "r48", "r93", "r625", "r626" ] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Other Accrued Liabilities, Current", "terseLabel": "Other", "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r52" ] }, "us-gaap_OtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherAssetsCurrent", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Current", "terseLabel": "Other current assets", "totalLabel": "Total other current assets", "documentation": "Amount of current assets classified as other." } } }, "auth_ref": [ "r126", "r771" ] }, "us-gaap_OtherAssetsMiscellaneousCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherAssetsMiscellaneousCurrent", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Other Assets, Miscellaneous, Current", "terseLabel": "Other", "documentation": "Amount of other miscellaneous assets expected to be realized or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss), before Reclassification and Tax", "terseLabel": "Foreign currency translation gain (loss)", "documentation": "Amount before tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature." } } }, "auth_ref": [ "r2", "r68", "r486", "r487", "r489" ] }, "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax", "verboseLabel": "Net unrealized gains (losses) on available-for-sale securities", "documentation": "Amount, after tax and adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale." } } }, "auth_ref": [ "r128", "r129", "r130", "r591" ] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Foreign currency translation adjustments", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature." } } }, "auth_ref": [ "r2", "r591" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]", "terseLabel": "OTHER COMPREHENSIVE INCOME, NET OF TAXES" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax", "terseLabel": "Amounts of gains or losses reclassified out of other comprehensive income", "documentation": "Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities." } } }, "auth_ref": [ "r3", "r68", "r131", "r253" ] }, "us-gaap_OtherNoncashIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherNoncashIncomeExpense", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Other Noncash Income (Expense)", "negatedLabel": "Other", "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other." } } }, "auth_ref": [ "r80" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income (loss), net", "verboseLabel": "Other income, net", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r75" ] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r851" ] }, "us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Other than Temporary Impairment, Credit Losses Recognized in Earnings, Categories of Investments [Domain]", "documentation": "Provides the categories of debt securities, available-for-sale or held-to-maturity, on which an entity may recognize other than temporary impairments (OTTI) for which a portion related to credit losses has been recognized in earnings and a portion related to all other factors has been recognized in other comprehensive income." } } }, "auth_ref": [ "r12" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r813", "r823", "r833", "r865" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r816", "r826", "r836", "r868" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r816", "r826", "r836", "r868" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r840" ] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Common stock repurchases", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r77" ] }, "us-gaap_PaymentsOfDividendsCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsOfDividendsCommonStock", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments of Ordinary Dividends, Common Stock", "negatedLabel": "Payments of cash dividends", "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity." } } }, "auth_ref": [ "r77" ] }, "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Debt Securities, Available-for-Sale", "negatedLabel": "Purchases of available-for-sale securities", "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r18", "r141", "r220" ] }, "us-gaap_PaymentsToAcquireEquityMethodInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireEquityMethodInvestments", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Equity Method Investments", "negatedLabel": "Investments in solar energy projects", "verboseLabel": "Payment for equity method investment", "documentation": "The cash outflow associated with the purchase of or advances to an equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence." } } }, "auth_ref": [ "r19" ] }, "us-gaap_PaymentsToAcquireHeldToMaturitySecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireHeldToMaturitySecurities", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Held-to-maturity Securities", "negatedLabel": "Purchases of short-term investments", "documentation": "Amount of cash outflow through purchase of long-term held-to-maturity securities." } } }, "auth_ref": [ "r18", "r220" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchases of property, plant and equipment", "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." } } }, "auth_ref": [ "r76" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r850" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r850" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r842" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r859" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r852" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r841" ] }, "agx_PerformanceBasedRestrictedStockUnitsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "PerformanceBasedRestrictedStockUnitsMember", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to performance-based restricted stock units.", "label": "Performance-based restricted stock units" } } }, "auth_ref": [] }, "ecd_PnsnAdjsPrrSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsPrrSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Adjustments Prior Service Cost [Member]", "terseLabel": "Pension Adjustments Prior Service Cost" } } }, "auth_ref": [ "r843" ] }, "ecd_PnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Adjustments Service Cost [Member]", "terseLabel": "Pension Adjustments Service Cost" } } }, "auth_ref": [ "r887" ] }, "ecd_PnsnBnftsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnBnftsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Benefits Adjustments, Footnote [Text Block]", "terseLabel": "Pension Benefits Adjustments, Footnote" } } }, "auth_ref": [ "r842" ] }, "agx_PowerIndustryServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "PowerIndustryServicesMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails", "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "documentation": "Power industry services.", "label": "Power Industry Services" } } }, "auth_ref": [] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value (in dollars per share)", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r59", "r342" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized", "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." } } }, "auth_ref": [ "r59", "r648" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock, shares issued", "documentation": "Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt." } } }, "auth_ref": [ "r59", "r342" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding", "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." } } }, "auth_ref": [ "r59", "r648", "r666", "r1016", "r1017" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockValue", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Value, Issued", "terseLabel": "Preferred stock, par value $0.10 per share - 500,000 shares authorized; no shares issued and outstanding", "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." } } }, "auth_ref": [ "r59", "r582", "r771" ] }, "us-gaap_PrepaidExpenseCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PrepaidExpenseCurrent", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense, Current", "terseLabel": "Prepaid expenses", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r125", "r269", "r270", "r720" ] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails", "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails" ], "lang": { "en-us": { "role": { "label": "Proceeds from Lines of Credit", "terseLabel": "Amounts drawn against this letter of credit.", "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r20", "r911" ] }, "us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromSaleAndMaturityOfMarketableSecurities", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Sale and Maturity of Marketable Securities", "verboseLabel": "Maturities of available-for-sale securities", "documentation": "The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities (held-to-maturity or available-for-sale) during the period." } } }, "auth_ref": [] }, "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Proceeds from Sale of Debt Securities, Available-for-Sale", "terseLabel": "Proceeds from sale of debt securities, available-for-sale", "documentation": "Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r17", "r141", "r220", "r252" ] }, "us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromSaleOfHeldToMaturitySecurities", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Sale of Held-to-maturity Securities", "terseLabel": "Maturities of short-term investments", "documentation": "The cash inflow associated with the sale of securities that had been designated as held-to-maturity. Excludes proceeds from maturities, prepayments and calls by the issuer." } } }, "auth_ref": [ "r17", "r220" ] }, "agx_ProceedsFromShareBasedAwardSettlementsNetOfWithholdingTaxesPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "ProceedsFromShareBasedAwardSettlementsNetOfWithholdingTaxesPaid", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from share-based award settlements, net of withholding taxes paid.", "label": "Proceeds From Share-Based Award Settlements, Net Of Withholding Taxes Paid", "terseLabel": "Proceeds from share-based award settlements, net of withholding taxes paid" } } }, "auth_ref": [] }, "us-gaap_ProductConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProductConcentrationRiskMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Product Concentration Risk", "documentation": "Reflects the percentage that revenues during the period from a specified product are to a specified benchmark, such as total net revenues, segment revenues or product line revenues. May also reflect the percentage contribution the product made to operating results. Risk is materially adverse effects of a loss of sales of a significant product or line of products, which could occur upon loss of rights to sell, distribute or license others; loss of patent or copyright protection; or technological obsolescence." } } }, "auth_ref": [ "r83" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureAccountsReceivableDetails", "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails", "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails" ], "lang": { "en-us": { "role": { "label": "Products and Services [Axis]" } } }, "auth_ref": [ "r212", "r536", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r717", "r742", "r781", "r783", "r784", "r788", "r790", "r953", "r954", "r962", "r986", "r987", "r988", "r989", "r990", "r991", "r992", "r993", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureAccountsReceivableDetails", "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails", "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails" ], "lang": { "en-us": { "role": { "label": "Products and Services [Domain]" } } }, "auth_ref": [ "r212", "r536", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r717", "r742", "r781", "r783", "r784", "r788", "r790", "r953", "r954", "r962", "r986", "r987", "r988", "r989", "r990", "r991", "r992", "r993", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProfitLoss", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income", "verboseLabel": "Net income", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r116", "r132", "r134", "r142", "r148", "r154", "r160", "r163", "r164", "r255", "r317", "r318", "r320", "r321", "r322", "r323", "r324", "r326", "r327", "r445", "r449", "r450", "r453", "r454", "r467", "r485", "r574", "r589", "r632", "r668", "r683", "r684", "r758", "r759", "r801", "r909", "r957" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net", "verboseLabel": "Property, plant and equipment, net", "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." } } }, "auth_ref": [ "r6", "r501", "r575", "r587", "r771" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r840" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r840" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Range [Axis]" } } }, "auth_ref": [ "r307", "r308", "r309", "r310", "r372", "r379", "r409", "r410", "r411", "r417", "r473", "r509", "r518", "r534", "r615", "r616", "r623", "r638", "r639", "r690", "r692", "r694", "r695", "r697", "r713", "r714", "r735", "r741", "r754", "r763", "r764", "r768", "r769", "r783", "r794", "r952", "r959", "r971", "r980", "r981", "r982", "r983", "r984" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Range [Domain]" } } }, "auth_ref": [ "r307", "r308", "r309", "r310", "r372", "r379", "r409", "r410", "r411", "r417", "r473", "r509", "r518", "r534", "r615", "r616", "r623", "r638", "r639", "r690", "r692", "r694", "r695", "r697", "r713", "r714", "r735", "r741", "r754", "r763", "r764", "r768", "r769", "r783", "r794", "r952", "r959", "r971", "r980", "r981", "r982", "r983", "r984" ] }, "us-gaap_ReceivablesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ReceivablesAbstract", "lang": { "en-us": { "role": { "label": "ACCOUNTS RECEIVABLE" } } }, "auth_ref": [] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r808", "r818", "r828", "r860" ] }, "agx_RemainingBondedPerformanceObligations": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "RemainingBondedPerformanceObligations", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsPerformanceBondsAndGuaranteesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to remaining bonded performance obligations.", "label": "Remaining Bonded Performance Obligations", "terseLabel": "Unsatisfied bonded performance obligations" } } }, "auth_ref": [] }, "agx_RenewablePerformanceBasedRestrictedStockUnitsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "RenewablePerformanceBasedRestrictedStockUnitsMember", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Renewable Performance Based Restricted Stock Units.", "label": "Renewable Performance-Based Restricted Stock Units", "terseLabel": "Renewable energy performance-based restricted stock units" } } }, "auth_ref": [] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r809", "r819", "r829", "r861" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r810", "r820", "r830", "r862" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r817", "r827", "r837", "r869" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Restricted Stock Units", "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met." } } }, "auth_ref": [] }, "agx_RetainedAmountUnderConstructionContracts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "RetainedAmountUnderConstructionContracts", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "The amounts retained by project owners under construction contracts.", "label": "Retained Amount Under Construction Contracts", "terseLabel": "Retained amounts by project owners" } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r63", "r89", "r585", "r620", "r622", "r629", "r649", "r771" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsMember", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r113", "r151", "r152", "r153", "r155", "r160", "r162", "r164", "r256", "r257", "r298", "r434", "r435", "r442", "r443", "r444", "r446", "r448", "r449", "r457", "r459", "r460", "r462", "r465", "r497", "r499", "r617", "r619", "r633", "r1016" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "REVENUES FROM CONTRACTS WITH CUSTOMERS" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails", "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "netLabel": "Revenues", "terseLabel": "Consolidated Revenues", "verboseLabel": "REVENUES", "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." } } }, "auth_ref": [ "r102", "r103", "r181", "r188", "r189", "r203", "r209", "r212", "r214", "r216", "r367", "r368", "r536" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "REVENUES FROM CONTRACTS WITH CUSTOMERS", "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." } } }, "auth_ref": [ "r112", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r371" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation", "terseLabel": "Contract backlog amount", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r108" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails", "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction", "terseLabel": "REVENUES FROM CONTRACTS WITH CUSTOMERS", "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." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Performance period", "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." } } }, "auth_ref": [ "r109" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r109" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersContractTerminationDetails", "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationPercentage", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Percentage", "terseLabel": "Contract backlog (as percent)", "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue." } } }, "auth_ref": [ "r891" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Revolving Credit Facility", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "verboseLabel": "Right-of-use assets obtained in exchange for lease obligations", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r500", "r770" ] }, "us-gaap_RisksAndUncertaintiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RisksAndUncertaintiesAbstract", "lang": { "en-us": { "role": { "label": "CUSTOMER CONCENTRATIONS" } } }, "auth_ref": [] }, "agx_RobertsCompanyIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "RobertsCompanyIncMember", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The Roberts Company Inc.", "label": "TRC." } } }, "auth_ref": [] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r878" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r878" ] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue", "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation." } } }, "auth_ref": [ "r216", "r892" ] }, "srt_ScenarioUnspecifiedDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ScenarioUnspecifiedDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Scenario, Unspecified [Domain]" } } }, "auth_ref": [ "r165", "r380", "r889", "r917" ] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable", "presentation": [ "http://www.arganinc.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]", "terseLabel": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]", "documentation": "Disclosure of information about accounts and financing receivables. Includes, but is not limited to, amount of receivable and allowance for credit loss." } } }, "auth_ref": [ "r61", "r67", "r218", "r928" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of accrued expenses", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Available-for-Sale Securities Reconciliation [Table Text Block]", "terseLabel": "Schedule of available-for-sale securities", "documentation": "Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfCashAndCashEquivalentsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfCashAndCashEquivalentsTable", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Cash and Cash Equivalents [Table]", "terseLabel": "Schedule of Cash and Cash Equivalents [Table]", "documentation": "Disclosure of information about cash and cash equivalent by type. Excludes restricted cash and cash equivalent." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of computations of basic and diluted net income per share", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r919" ] }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "verboseLabel": "Schedule of actual income tax expense amounts", "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations." } } }, "auth_ref": [ "r424", "r757", "r964" ] }, "agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of amortizable finite-lived intangible assets, in total and by major class, including the gross carrying amount and accumulated amortization, and indefinite-lived intangible assets not subject to amortization, excluding goodwill, in total and by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Schedule Of Finite-Lived and Indefinite-Lived Intangible Assets by Major Class [Table Text Block]", "terseLabel": "Schedule of company's purchased intangible assets, other than goodwill" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Disclosure of information about finite-lived intangible asset. Excludes indefinite-lived intangible asset." } } }, "auth_ref": [ "r283", "r290", "r293", "r294", "r296", "r537", "r716", "r738" ] }, "us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfNonvestedShareActivityTableTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Nonvested Share Activity [Table Text Block]", "terseLabel": "Schedule of changes in the number of non-vested options to purchase shares of common stock", "documentation": "Tabular disclosure of the changes in outstanding nonvested shares." } } }, "auth_ref": [ "r91" ] }, "us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfOtherCurrentAssetsTableTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Other Current Assets [Table Text Block]", "terseLabel": "Schedule of other current assets", "documentation": "Tabular disclosure of the carrying amounts of other current assets." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table]", "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "Disclosure of information about profit (loss) and total assets by reportable segment." } } }, "auth_ref": [ "r28", "r29", "r30" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of operating results and financial position data of the Company's reportable business segments", "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r28", "r29", "r30" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r382", "r384", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412" ] }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]", "verboseLabel": "Schedule of changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units", "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year." } } }, "auth_ref": [ "r90" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation, Stock Options, Activity [Table Text Block]", "verboseLabel": "Schedule of stock option activity under the Company's stock plans", "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value." } } }, "auth_ref": [ "r9", "r10", "r90" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of expected amortization expense", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r738", "r948" ] }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsTables" ], "lang": { "en-us": { "role": { "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "terseLabel": "schedule of the percentage of consolidated revenues", "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r24", "r25", "r26", "r27", "r46", "r94" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "Security12bTitle", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r803" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "SecurityExchangeName", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r805" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Domain]", "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." } } }, "auth_ref": [ "r102", "r103", "r104", "r105", "r181", "r184", "r187", "r188", "r189", "r190", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r198", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r209", "r210", "r211", "r216", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r296", "r305", "r306", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r727", "r730", "r731", "r737", "r786", "r986", "r987", "r988", "r989", "r990", "r991", "r992", "r993", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014" ] }, "us-gaap_SegmentExpenditureAdditionToLongLivedAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentExpenditureAdditionToLongLivedAssets", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "label": "Segment, Expenditure, Addition to Long-Lived Assets", "terseLabel": "Property, plant and equipment additions", "documentation": "Amount of expenditure for addition to long-lived assets included in determination of segment assets by chief operating decision maker (CODM) or otherwise regularly provided to CODM. Excludes expenditure for addition to financial instrument, long-term customer relationship of financial institution, mortgage and other servicing rights, deferred policy acquisition cost, and deferred tax assets." } } }, "auth_ref": [ "r181", "r198", "r209", "r730", "r731" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "auth_ref": [ "r214", "r215", "r539", "r540", "r541", "r542", "r543", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r635", "r636", "r637", "r691", "r693", "r696", "r698", "r702", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r718", "r743", "r773", "r774", "r775", "r776", "r777", "r778", "r779", "r780", "r785", "r794", "r962", "r986", "r987", "r988", "r990", "r991", "r992", "r993", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "SEGMENT REPORTING" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReporting" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "verboseLabel": "SEGMENT REPORTING", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r105", "r181", "r183", "r184", "r185", "r186", "r187", "r199", "r201", "r202", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r216", "r726", "r728", "r729", "r730", "r732", "r733", "r734" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Reporting Information", "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." } } }, "auth_ref": [] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative expenses", "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." } } }, "auth_ref": [ "r73" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation", "terseLabel": "Stock compensation expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r4" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Forfeited (in shares)", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r403" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited, Fair value (Per share)", "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event." } } }, "auth_ref": [ "r403" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "verboseLabel": "Granted (in shares)", "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r401" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "verboseLabel": "Granted, Fair value (Per share)", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r401" ] }, "agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date of equity instruments other than options issued during the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Issued in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Issued, Fair value (Per share)" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Outstanding, Ending balance (in shares)", "periodStartLabel": "Outstanding, Beginning balance (in shares)", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r398", "r399" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Shares", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Outstanding, Ending balance Fair value (Per share)", "periodStartLabel": "Outstanding, Beginning balance Fair value (Per share)", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r398", "r399" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted Average Grant Date Fair Value Per Share" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Issued (in shares)", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r402" ] }, "agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Share based compensation arrangement by share based payment award equity instruments stock option exercisable weighted average grant date fair value.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Stock Option Exercisable Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value Per Share, Exercisable" } } }, "auth_ref": [] }, "agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Share based compensation arrangement by share based payment award equity instruments stock option outstanding weighted average grant date fair value.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Stock Option Outstanding Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value Per Share, Outstanding" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award", "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." } } }, "auth_ref": [ "r382", "r384", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Number of shares of common stock available for award", "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable." } } }, "auth_ref": [ "r34" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "verboseLabel": "Shares, Exercisable", "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan." } } }, "auth_ref": [ "r392" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "verboseLabel": "Weighted Average Exercise Price Per Share, Exercisable", "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan." } } }, "auth_ref": [ "r392" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Intrinsic value of the stock options exercised", "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares." } } }, "auth_ref": [ "r405" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period", "negatedLabel": "Shares, Forfeited", "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan." } } }, "auth_ref": [ "r396" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Shares, Granted", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r394" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value Per Share, Granted", "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology." } } }, "auth_ref": [ "r404" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Intrinsic value of outstanding stock options", "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding." } } }, "auth_ref": [ "r34" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Shares, Outstanding, Ending balance", "periodStartLabel": "Shares, Outstanding, Beginning balance", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r390", "r391" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Weighted Average Exercise Price Per Share, Outstanding, Ending balance", "periodStartLabel": "Weighted Average Exercise Price Per Share, Outstanding, Beginning balance", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r390", "r391" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number", "terseLabel": "Shares, Vested or expected to vest", "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r406" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "terseLabel": "Weighted Average Exercise Price Per Share, Vested or expected to vest", "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r406" ] }, "agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingsWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingsWeightedAverageGrantDateFairValue", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Weighted average grant-date fair value of options vested and expected to vest.", "label": "Share Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstandings, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value Per Share, Vested or expected to vest" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangesInMaximumNumberOfSharesOfCommonStockDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Weighted Average Exercise Price Per Share, Exercised", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r395" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price", "terseLabel": "Weighted Average Exercise Price Per Share, Forfeited", "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated." } } }, "auth_ref": [ "r396" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Weighted Average Exercise Price Per Share, Granted", "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options." } } }, "auth_ref": [ "r394" ] }, "agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation": { "xbrltype": "perShareItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Average price of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Average Price Per Share Of Shares Withheld for Tax Withholding Obligation", "terseLabel": "Share-based payment" } } }, "auth_ref": [] }, "us-gaap_SharePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharePrice", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Share Price", "terseLabel": "Share price", "documentation": "Price of a single share of a number of saleable stocks of a company." } } }, "auth_ref": [] }, "srt_ShareRepurchaseProgramLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ShareRepurchaseProgramLineItems", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program [Line Items]", "terseLabel": "Share repurchases" } } }, "auth_ref": [ "r960" ] }, "srt_ShareRepurchaseProgramTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ShareRepurchaseProgramTable", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program [Table]" } } }, "auth_ref": [ "r960" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period", "terseLabel": "Incentive stock option award maximum expiration period", "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r756" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Intrinsic value of exercisable stock options", "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable." } } }, "auth_ref": [ "r34" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted Average Remaining Contractual Term (Years), Exercisable", "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r34" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Number of Shares", "periodEndLabel": "Shares, Non-vested, Ending balance", "periodStartLabel": "Shares, Non-vested, Beginning balance", "documentation": "Number of non-vested options outstanding." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Weighted Average Grant Date Fair Value Per Share, Non-vested, Ending balance", "periodStartLabel": "Weighted Average Grant Date Fair Value Per Share, Non-vested, Beginning balance", "documentation": "Weighted average grant-date fair value of non-vested options outstanding." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted Average Remaining Contractual Term (Years), Outstanding", "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r92" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted Average Remaining Contractual Term (Years), Vested or expected to vest", "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r406" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Number of Shares", "negatedLabel": "Shares, Vested", "documentation": "Number of options vested." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value Per Share, Vested", "documentation": "Weighted average grant-date fair value of options vested." } } }, "auth_ref": [] }, "us-gaap_SharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharesOutstanding", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares, Outstanding", "periodEndLabel": "Balances (in shares)", "periodStartLabel": "Balances (in shares)", "documentation": "Number of shares issued which are neither cancelled nor held in the treasury." } } }, "auth_ref": [] }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "terseLabel": "Shares paid for tax withholding for share based compensation", "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_ShortTermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShortTermInvestments", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Short-Term Investments", "terseLabel": "Short-term investments", "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current." } } }, "auth_ref": [ "r98", "r99", "r906" ] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r102", "r103", "r104", "r105", "r115", "r181", "r184", "r187", "r188", "r189", "r190", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r198", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r209", "r210", "r211", "r216", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r296", "r299", "r305", "r306", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r727", "r730", "r731", "r737", "r786", "r986", "r987", "r988", "r989", "r990", "r991", "r992", "r993", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r8", "r60", "r64", "r65", "r113", "r136", "r137", "r138", "r151", "r152", "r153", "r155", "r160", "r162", "r164", "r182", "r256", "r257", "r298", "r355", "r434", "r435", "r442", "r443", "r444", "r446", "r448", "r449", "r457", "r458", "r459", "r460", "r461", "r462", "r465", "r490", "r491", "r492", "r493", "r494", "r495", "r497", "r499", "r502", "r591", "r617", "r618", "r619", "r633", "r685" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "auth_ref": [ "r214", "r215", "r539", "r540", "r541", "r542", "r543", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r635", "r636", "r637", "r691", "r693", "r696", "r698", "r702", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r718", "r743", "r773", "r774", "r775", "r776", "r777", "r778", "r779", "r780", "r785", "r794", "r962", "r986", "r987", "r988", "r990", "r991", "r992", "r993", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementLineItems", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsPerformanceBondsAndGuaranteesDetails", "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "terseLabel": "Statement", "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." } } }, "auth_ref": [ "r151", "r152", "r153", "r182", "r499", "r536", "r627", "r634", "r640", "r641", "r642", "r643", "r644", "r645", "r648", "r651", "r652", "r653", "r654", "r655", "r656", "r657", "r658", "r659", "r661", "r662", "r663", "r664", "r665", "r667", "r669", "r670", "r671", "r672", "r673", "r674", "r675", "r676", "r677", "r678", "r679", "r680", "r681", "r682", "r685", "r795" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "srt_StatementScenarioAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "StatementScenarioAxis", "presentation": [ "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]" } } }, "auth_ref": [ "r165", "r380", "r889", "r890", "r917" ] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementTable", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsPerformanceBondsAndGuaranteesDetails", "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "terseLabel": "Statement [Table]", "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity." } } }, "auth_ref": [ "r151", "r152", "r153", "r182", "r217", "r499", "r536", "r627", "r634", "r640", "r641", "r642", "r643", "r644", "r645", "r648", "r651", "r652", "r653", "r654", "r655", "r656", "r657", "r658", "r659", "r661", "r662", "r663", "r664", "r665", "r667", "r669", "r670", "r671", "r672", "r673", "r674", "r675", "r676", "r677", "r678", "r679", "r680", "r681", "r682", "r685", "r795" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r812", "r822", "r832", "r864" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture", "terseLabel": "Stock option exercises and restricted stock unit settlements, net (in shares)", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r8", "r59", "r60", "r89" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "negatedLabel": "Shares, Exercised", "verboseLabel": "Stock option exercises and restricted stock unit settlements (in shares)", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r8", "r59", "r60", "r89", "r395" ] }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture", "terseLabel": "Stock option exercises and restricted stock unit settlements, net", "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r35", "r59", "r60", "r89" ] }, "us-gaap_StockRepurchasedDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockRepurchasedDuringPeriodShares", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased During Period, Shares", "negatedLabel": "Common stock repurchases (in shares)", "terseLabel": "Common stock repurchases (in shares)", "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r8", "r59", "r60", "r89", "r628", "r685", "r699" ] }, "us-gaap_StockRepurchasedDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockRepurchasedDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased During Period, Value", "negatedLabel": "Common stock repurchases", "verboseLabel": "Common stock repurchased", "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r8", "r59", "r60", "r89", "r633", "r685", "r699", "r801" ] }, "agx_StockRepurchasedIncludingExciseTaxDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "StockRepurchasedIncludingExciseTaxDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased including excise tax during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.", "label": "Stock Repurchased Including Excise Tax During Period, Value", "verboseLabel": "Common stock repurchased" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquity", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent", "totalLabel": "TOTAL STOCKHOLDERS' EQUITY", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r60", "r64", "r65", "r84", "r650", "r666", "r686", "r687", "r771", "r802", "r912", "r938", "r975", "r1016" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest", "periodEndLabel": "Balances", "periodStartLabel": "Balances", "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity." } } }, "auth_ref": [ "r42", "r43", "r45", "r113", "r114", "r137", "r151", "r152", "r153", "r155", "r160", "r162", "r256", "r257", "r298", "r355", "r434", "r435", "r442", "r443", "r444", "r446", "r448", "r449", "r457", "r458", "r459", "r460", "r461", "r462", "r465", "r490", "r491", "r495", "r498", "r502", "r618", "r619", "r631", "r650", "r666", "r686", "r687", "r700", "r801", "r912", "r938", "r975", "r1016" ] }, "us-gaap_StockholdersEquityNoteAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityNoteAbstract", "lang": { "en-us": { "role": { "label": "STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity [Text Block]", "terseLabel": "STOCKHOLDERS' EQUITY", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r88", "r147", "r341", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r354", "r355", "r464", "r688", "r689", "r701" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "SUPPLEMENTAL CASH FLOW INFORMATION" } } }, "auth_ref": [] }, "agx_SupplementalFinancialStatementInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "SupplementalFinancialStatementInformationAbstract", "lang": { "en-us": { "role": { "documentation": "Na", "label": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r858" ] }, "agx_TaxCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "TaxCredits", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of tax credits.", "label": "Tax credits", "negatedLabel": "Tax credits" } } }, "auth_ref": [] }, "agx_TelecommunicationInfrastructureServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "TelecommunicationInfrastructureServicesMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Telecommunication Infrastructure Services.", "label": "Telecommunication Infrastructure Services" } } }, "auth_ref": [] }, "agx_TelecommunicationsInfrastructureServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "TelecommunicationsInfrastructureServicesMember", "presentation": [ "http://www.arganinc.com/role/DisclosureSegmentReportingDetails" ], "lang": { "en-us": { "role": { "documentation": "Telecommunications infrastructure services.", "label": "Telecommunications Infrastructure Services" } } }, "auth_ref": [] }, "agx_TimeBasedRestrictedStockUnitsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "TimeBasedRestrictedStockUnitsMember", "presentation": [ "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Time based Restricted Stock Units.", "label": "Time Based Restricted Stock Units", "terseLabel": "Time-based restricted stock units" } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r850" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r857" ] }, "agx_TradeAndOtherReceivablesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "TradeAndOtherReceivablesDisclosureTextBlock", "presentation": [ "http://www.arganinc.com/role/DisclosureAccountsReceivable" ], "lang": { "en-us": { "role": { "documentation": "The disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include trade accounts receivables. Includes disclosure for allowance for credit losses.", "label": "Trade And Other Receivables Disclosure Text Block", "terseLabel": "ACCOUNTS RECEIVABLE" } } }, "auth_ref": [] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TradeNamesMember", "presentation": [ "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Trade name", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r40", "r941", "r942", "r943", "r944", "r945", "r946", "r947", "r949", "r950", "r951" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r877" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r879" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "TradingSymbol", "presentation": [ "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails", "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Financial Instruments [Domain]", "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms." } } }, "auth_ref": [ "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r339", "r353", "r463", "r484", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r592", "r760", "r762", "r763", "r764", "r765", "r766", "r767", "r768", "r769", "r772", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r933", "r934", "r935", "r936", "r967", "r970", "r971", "r972", "r973", "r974" ] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r880" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r881" ] }, "ecd_TrdArrExpirationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrExpirationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Expiration Date", "terseLabel": "Expiration Date" } } }, "auth_ref": [ "r881" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r879" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r879" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r882" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r880" ] }, "us-gaap_TreasuryStockCommonMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TreasuryStockCommonMember", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Treasury Stock", "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r32" ] }, "us-gaap_TreasuryStockCommonShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TreasuryStockCommonShares", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Shares", "terseLabel": "Treasury stock, shares", "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r32" ] }, "agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards": { "xbrltype": "sharesItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards", "presentation": [ "http://www.arganinc.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of treasury stock used to settle stock option exercises and other stock share based awards.", "label": "Treasury Stock, Settlement of Stock Option Exercises and Other Share Based Awards", "terseLabel": "Treasury stock to settle stock option exercises and other share-based awards" } } }, "auth_ref": [] }, "us-gaap_TreasuryStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TreasuryStockValue", "crdr": "debit", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Value", "negatedLabel": "Less treasury stock, at cost - 2,330,739 and 2,585,769 shares at July 31, 2024 and January 31, 2024, respectively", "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." } } }, "auth_ref": [ "r32", "r33", "r60", "r64" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "US", "presentation": [ "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" ], "lang": { "en-us": { "role": { "label": "United States", "terseLabel": "United States" } } }, "auth_ref": [] }, "us-gaap_USTreasuryNotesSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "USTreasuryNotesSecuritiesMember", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "US Treasury Notes Securities [Member]", "terseLabel": "US Treasury notes", "documentation": "This category includes information about negotiable debt securities issued by the United States Department of the Treasury which generally have maturities of one to ten years, are interest bearing, and are backed by the full faith and credit of the United States government." } } }, "auth_ref": [ "r985" ] }, "us-gaap_USTreasurySecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "USTreasurySecuritiesMember", "presentation": [ "http://www.arganinc.com/role/DisclosureFairValueMeasurementsFinancialInstrumentsOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "US Treasury Securities [Member]", "terseLabel": "U.S. Treasury notes", "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years)." } } }, "auth_ref": [ "r722", "r749", "r751", "r760", "r985" ] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r876" ] }, "agx_UnrecognizedTaxLossBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "UnrecognizedTaxLossBenefit", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of unrecognized tax loss benefit.", "label": "Unrecognized tax loss benefit", "negatedLabel": "Unrecognized tax loss benefit" } } }, "auth_ref": [] }, "agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit": { "xbrltype": "monetaryItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit", "crdr": "credit", "presentation": [ "http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax benefits\n resulting from research and development tax credit.", "label": "UnrecognizedTaxBenefitsIncreaseResultingFromResearchAndDevelopmentTaxCredit", "terseLabel": "Development tax credit" } } }, "auth_ref": [] }, "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]", "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year" } } }, "auth_ref": [ "r846" ] }, "agx_WarrantyPeriodForConstructionContracts": { "xbrltype": "stringItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "WarrantyPeriodForConstructionContracts", "presentation": [ "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to warranty provisions covering defects in equipment, materials etc.. after the completion of construction.", "label": "Warranty Period for Construction Contracts", "terseLabel": "Warranty period" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "totalLabel": "Weighted average number of shares outstanding - diluted", "verboseLabel": "Diluted (in shares)", "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." } } }, "auth_ref": [ "r168", "r176" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails", "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (in shares)", "verboseLabel": "Weighted average number of shares outstanding - basic", "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." } } }, "auth_ref": [ "r167", "r176" ] }, "agx_WeightedAverageRateDepositCertificatesOfDeposit": { "xbrltype": "percentItemType", "nsuri": "http://www.arganinc.com/20240731", "localname": "WeightedAverageRateDepositCertificatesOfDeposit", "presentation": [ "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Weighted average interest rate for certificates of deposit liabilities in banking offices.", "label": "Weighted Average Rate Deposit Certificates Of Deposit", "terseLabel": "Weighted average annual interest rates of CDs (as a percent)" } } }, "auth_ref": [] }, "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]", "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested" } } }, "auth_ref": [ "r844" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-15" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-4" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "SubTopic": "10", "Topic": "320", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-8" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-5" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-16" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-21" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481549/505-30-45-1" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-12" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-13" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-15" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-16" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "55", "Paragraph": "4I", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4I" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-20" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/205/tableOfContent" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/275/tableOfContent" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/440/tableOfContent" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/450/tableOfContent" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/470/tableOfContent" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/505/tableOfContent" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(e)(1)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/810/tableOfContent" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-8B" }, "r107": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2" }, "r108": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r109": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r110": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9" }, "r111": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r112": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/606/tableOfContent" }, "r113": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6" }, "r114": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6" }, "r115": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-1" }, "r116": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-7" }, "r117": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r118": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-5" }, "r119": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r120": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r121": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r122": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r123": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r124": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r125": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r126": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r127": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-17A" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-11" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-2" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-5" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/260/tableOfContent" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-22" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-23" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-28A" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/280/tableOfContent" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-15" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26A" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481830/320-10-45-11" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2A" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-9" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-9" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481664/323-10-45-1" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-11" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-14" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-16" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-5" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479130/326-30-45-1" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-3A" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-4" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-7" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-9" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482955/340-10-05-5" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483032/340-10-45-1" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/350-30/tableOfContent" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-4" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4.d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-16" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-1" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-2" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-3" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-15" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-9" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/718/tableOfContent" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-1D" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-2" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-3" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480454/718-10-45-1" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/740/tableOfContent" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12A", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-14" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-21" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.1.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-2" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-5" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-6" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "54B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6B" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481839/830-10-45-9" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482014/830-20-35-3" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-12" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "12A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481444/860-30-45-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(4)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478345/912-310-45-11" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "280", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "940", "SubTopic": "820", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478119/940-820-50-1" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "470", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(1)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(1)(h))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r621": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r622": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r623": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.W.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1" }, "r624": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B" }, "r625": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-1" }, "r626": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-2" }, "r627": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r628": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-13" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3" }, "r632": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r634": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r639": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r643": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r644": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r647": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r654": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r656": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r657": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r660": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r661": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r663": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r664": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r665": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r666": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r667": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3" }, "r668": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7" }, "r669": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r670": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r671": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r672": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r673": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r674": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r675": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r676": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r677": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r678": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r679": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r680": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r681": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r682": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r683": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r684": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r685": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r686": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r687": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r688": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r689": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r690": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r691": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r692": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r693": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r694": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r695": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r696": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r697": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r698": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r699": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2" }, "r700": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-3" }, "r701": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-6" }, "r702": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1" }, "r703": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2" }, "r704": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r705": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r706": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r707": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r708": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r709": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r710": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r711": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r712": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r713": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1" }, "r714": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1" }, "r715": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/985-20/tableOfContent" }, "r716": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" }, "r717": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r718": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r719": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r720": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r721": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4" }, "r722": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r723": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52" }, "r724": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r725": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31" }, "r726": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r727": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r728": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r729": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r730": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "48", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48" }, "r731": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "49", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49" }, "r732": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r733": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r734": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r735": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A" }, "r736": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479081/326-30-55-8" }, "r737": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24" }, "r738": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40" }, "r739": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B" }, "r740": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C" }, "r741": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r742": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r743": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r744": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r745": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r746": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r747": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r748": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r749": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r750": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r751": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17" }, "r752": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-11" }, "r753": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-6" }, "r754": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8" }, "r755": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r756": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r757": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "231", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231" }, "r758": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J" }, "r759": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K" }, "r760": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r761": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r762": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "101", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-101" }, "r763": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "103", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103" }, "r764": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r765": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r766": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r767": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r768": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r769": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r770": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53" }, "r771": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10" }, "r772": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481395/860-30-55-4" }, "r773": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17" }, "r774": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21" }, "r775": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29" }, "r776": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3" }, "r777": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2" }, "r778": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4" }, "r779": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5" }, "r780": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6" }, "r781": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2" }, "r782": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r783": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F" }, "r784": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r785": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r786": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r787": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r788": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E" }, "r789": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-14" }, "r790": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18" }, "r791": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-9" }, "r792": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r793": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r794": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1" }, "r795": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1" }, "r796": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r797": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r798": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r799": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r800": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10" }, "r801": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-11" }, "r802": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12" }, "r803": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r804": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r805": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r806": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r807": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r808": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r809": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r810": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r811": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r812": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r813": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r814": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r815": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r816": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r817": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r818": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r819": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r820": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r821": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r822": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r823": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r824": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r825": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r826": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r827": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r828": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r829": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r830": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r831": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r832": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r833": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r834": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r835": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r836": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r837": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r838": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r839": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r840": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r841": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r842": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r843": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "ii" }, "r844": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "i" }, "r845": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "ii" }, "r846": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iii" }, "r847": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iv" }, "r848": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "v" }, "r849": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "vi" }, "r850": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r851": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r852": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r853": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r854": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r855": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r856": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r857": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r858": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r859": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r860": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r861": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r862": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r863": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r864": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r865": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r866": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r867": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r868": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r869": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r870": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r871": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r872": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r873": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r874": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r875": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r876": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r877": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r878": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r879": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r880": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r881": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r882": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r883": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r884": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Number": "229", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1" }, "r885": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "A", "Number": "229" }, "r886": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Number": "229" }, "r887": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "i", "Number": "229" }, "r888": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r889": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-10" }, "r890": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-3" }, "r891": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r892": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r893": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B" }, "r894": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Topic": "321", "Publisher": "FASB", "URI": "https://asc.fasb.org/321/tableOfContent" }, "r895": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Topic": "325", "Publisher": "FASB", "URI": "https://asc.fasb.org/325/tableOfContent" }, "r896": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "a", "Publisher": "SEC" }, "r897": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "b", "Subparagraph": "(1)", "Publisher": "SEC" }, "r898": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "b", "Subparagraph": "(2)", "Publisher": "SEC" }, "r899": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "b", "Subparagraph": "(3)", "Publisher": "SEC" }, "r900": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "c", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r901": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "c", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r902": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "c", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r903": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r904": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r905": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r906": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r907": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4" }, "r908": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5" }, "r909": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6" }, "r910": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r911": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r912": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r913": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r914": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23" }, "r915": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24" }, "r916": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5" }, "r917": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4" }, "r918": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r919": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r920": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r921": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-18" }, "r922": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r923": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r924": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r925": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r926": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r927": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2" }, "r928": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "40", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481628/310-20-40-7" }, "r929": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/320/tableOfContent" }, "r930": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481830/320-10-45-1" }, "r931": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r932": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r933": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-9" }, "r934": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3" }, "r935": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3" }, "r936": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3" }, "r937": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3" }, "r938": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3" }, "r939": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r940": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r941": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r942": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r943": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r944": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r945": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r946": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r947": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r948": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r949": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r950": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r951": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r952": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10" }, "r953": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9" }, "r954": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r955": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r956": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r957": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r958": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r959": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r960": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "505", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4" }, "r961": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10" }, "r962": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5" }, "r963": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r964": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12" }, "r965": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A" }, "r966": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r967": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "54B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B" }, "r968": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r969": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r970": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r971": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r972": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r973": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E" }, "r974": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r975": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r976": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4" }, "r977": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r978": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r979": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r980": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r981": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r982": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r983": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r984": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r985": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-2" }, "r986": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B" }, "r987": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r988": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r989": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C" }, "r990": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D" }, "r991": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4G", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G" }, "r992": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r993": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r994": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r995": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r996": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r997": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r998": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r999": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1000": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1001": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1002": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1003": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1004": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1005": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1006": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1007": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1008": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1009": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1010": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1011": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1012": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1013": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1014": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1015": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r1016": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r1017": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r1018": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1" }, "r1019": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" } } } ZIP 88 0001558370-24-012611-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-012611-xbrl.zip M4$L#!!0 ( +2#)5GXP"24018 )[B 0 86=X+3(P,C0P-S,Q+GAS M9.U=[7,B-]+_?E7W/^C\Y?)4'<;8NTG6E0=O<&X^)&M02]W2K]5JM5KBI[_O-B9Y8D)RV_IXT;F\NB#, MTFV#6ZN/%ZZS;/UX\?>?__RGG_[2:OW2FPZ)8>ONAED.T06C#C/(,W?69&YO MM]0B#TP(;IJD)[BQ8H1TKBY_N+RZ[)!6ZV?51(]*J&);1+5U?=D)"OI^:[9U M2SZTW[>OKZ[?D1]O.YW;S@0C('D"P)2^@VTGC5NIKMJ'$H6+%G!'=,+FE M.OMXL7:<[6V[_?S\? E%U.*6?JG;&]7.U0\WG0M"'4?PA>NP>UML[MB2NJ8# M(V']UZ6FX@T#9#(<@@1!K!A&U)*WNX4P#2?DB!\O;;$"3E?OVUYA0&IRZ]>$ M:''BFS86+V#@PI8/Z)]O%'7GPX(EO7&_,,% =X4 QK,6M?7MCY(Z<$8VQ^ M[YE=OF=?6FR1;6.P,&DX="/#;NC&/F%+NHM,8BST*OS\)T+4HD4MRW;4),&O M@B^W6VXM;>\;^ [-^RW"-(?I2_"/Q^D@>\(J0.^XU$U;NH+-8%0-*HRN9?1= MZ=B;[H[+.WM#N>4C*R\(ARY6JQ)(%\AGL"6WN.H)K$E75Z1%H@;A0] F@4:) MURK!9HG7+@D:_JF]W]P>(Q?\B;'UL_H;#(2$95D-($Y3O[)/DE-1IZ;NFM7K M16)E5O._#/ Z"D48-$'O_GATIXUFVAW^-1L/!W?=.7R8S>&?!VTTGY'Q/=&ZT]%@]&G6 MX%H:UQXUT1#.UHPYI0!-5BA$\KHLDKWNL#OJ:V3V6=/F#8+U9F:?RO6]:3]7 MGII1Q4)$W]6;F_WN[#.Y'XZ_-MBFKYT( ?ZG_=?E3]1$7&#Y&EA/3#H*I=B? M=\RAW#Q82^LTD;^VOKNZN;K>7UX1RK]Y@&K_?!Q\Z0X5R-W1'1F,OFBSN0=Z MB\38D>]\AO_7P)\*_P!Z::UP.].5$DQKW]YL;=*/9Q%?$$('$)2"!"HSB%B@-?LCG=,1G^ MJ>VVN-A/F6Y;.C>YZDZFBE2L7Z ,GJH!\"# B/B>2 M9-6 7@#ZB#G>($Z8F*VIR)K_F71%(%X?@CC2Y@&0$VT*;GIWJC5 %<5#W.W6 MB^93$\P?;)PX-4/7>6 M;;%1W1D[:R;Z*DSMY*[Q)VBQ"/SO#\&?/4XF0^7+ M=X?D?C""G=H _@H]?-",^_'TH3L?C$= KG@3GWGC IQ85[JZ+EQF^+;S:$7) M:*Y82PX;%Z7K=V4#!/9EJ,URPD;*!N5Y@MG(8MAC2FT-(RT5= M&PQ3,01?$[.&Y)3I##!9F&P?M!2*0I3>'Z+4[??'CXC+5.MK %)OJ#60E IY M%@4OB^%(V;@>Q"$;,%+!\'>(UJHK!(PZ2[5KZ42%L/QP"(N_.1Q](MWI% #2 M&MN5L_[8FPW/6&EB184X_)BRIHP?'@;-PI$S^$.VHB:XY0ZH/0/E9P<8I% 4 M0O'A$(JA]JD[1,=\#M-"@\FA-9!D)9G!9DBE>N.I(^R;4CWL#*HB:#I7*=%/ MW!*UP&56.Z>'">RA&G^YU)%4SFE3,1(%)TG-Z)<[&RH\%"I&HN1Q4(-(^OJM M$E"9@#5"AQ[[>>H'2WDZ52$V[U)6]4>P6 ^ "JPF?5C;I\I:-1,F8SEA*W2@ MIFR+^0?6ZF AV2\OA"1E6SC3/JD3D*DV&4]QA6_ .#:D-K%-GN:/U6DB_[ + MS-_A85>M"!OY+F#9Q-)K!MOF&)JI'G+SJ^4#?7-UU]2B4AL3$(3%Y2$R@1L&^J8*I%PF^B9XE..6HV[?4-5^J M1N>.#8_5O1E<_CIPS<2T!MICH>T^P?#AMN'>%C,@F#'=%2!IIM-[@A:+U:%N MO+1%0NXM, DMY$\B 1IU*P; M1:F<^IJA =F$1="6RX-MD*IX1M(U#"4&3K_PNE7)J_ZY=8OP+)-(BQB'/.+W MP1J8Z^3:9EGE/-HB&$LGWC:0E4_!C>U@>K9EH$?UR:4 CL.R';&*U8N S<_D MA4_Q;99BH^YN1HP:P,L#_I7BU,MSL_-HBZ$\?%XI 6749 -:K2/LF;O94/$R M7G9UAS]QY^71,C#-;K.EULM,U1FK;*&)23,C?:=LND EJF0@8Y$G QX:!%(0 M%\4@OAQ_E41)0CQ1B)*ET:7C=*F_QM5X8(W/+A=R!ARQ/1USU) M')L$4A)/3%59">JK::.9)]!,.; >Z(YOW$V@+B?6PTH,BK6N?$I00NMT3Q94 M.V?-R,:3B%BA"LI0QW1/QV2C8[5UK,I^M$8+Q5KRKH*6-)O38U/*1LP9;]6S M^M9J:$O9!T_T94$S[4:5JD58IR1<[[TB!RQ(R(,@$Q)R:5 NC_(4^DQA18:- MZ!U[8J:]Q9T,%/4%@QF4_=9HY1:*,<]//<0S18^3VLW&>*FW!'UN#?;EL9_9 M)A6:Q<3J92+L_S!='1#%7PX+WH4N$X \3;/%6G*P"NQIB6)///XD$$#]%$!< M!((R$!2B61^.27"MXA14JURD"2D95:G)L E?@#=85_,"$Z].Y3E[J81%&*:D M$Z0]0-5 5>N.:5; ,I>X"++R%TX;U"KFH6=-KPRR(J3*W$-M,#HZRZ]ZME[Q M R&UL\D;%,MGRY1*@2G&JGQB2P-.23^CV,$HOH5?TK5H,#GN->K:[TX7(WCD M0^0-LC47M/3K<*7KY;LE-UX8O4B8%->OJCT*PP-VB>Z7>IGW5K& MD-,%-_.N99RFT:+$LOJK;.R^J?_3+7C<$A.AB1D M6U]R6RM6E(,#E=**$C F"2Q=8*K?;F-%6G'S:%VE+[@%3#& M>SO_@S\%BO];4/P=O279J6\]^M!5M^O*"K70M_K?WJAYO. MOZ&GE[N-&5 XW#&A6OSA.H(2R;\1:H94*$/F;]C?>!JX/X2^=$$35.@'K3S? MJ#8ZH QM106-V%LF(>-7_A>697M32GV' M7T&O;>$0BVZ8W%+=9RJ!:TS@ZYNX5K8ZEYT+(O4UV]"AK:OOHFI[?3VL>@EL M?4%S)("6EE0N5"NN;*THW;;88HLMOLMFKACOUU-UVEB9F8Z,MZ; +2V/:EPR M_7)E/[69;I2199\<_SB"J\%X%:X!.?Y1C>NAQG)+.GA))YUU:A7\U KJM?"K M5N>Z=5-> Q)-&HYHXU3%'EVWH*V;LEJ84E-]EM5 \/OU7GTRG-(#$53 $7A? M&X$/GLVP\.4E9I1C;@J1J(42?$ ,.M\?+T?) 8C)X-3A'Y_-V(X\P@3XTU\U M4VT^I#9XE!#*!M6300JG$O^ WN,-GXZP0.K>M7BI8H7B58(/QUG>EG07M:TO MU$WESKQ@E]JRP,+_[ZYCXF4V/4C+\^\H#?F&PU1Z8)BW?Z&$_7A1DI:;ZA&) MCQ>.<,&0>HX'6*>6LD:WAHWOT PW'"^P6OX5& M-Q>$0BENL(/FO#+P";AMS+VF7>$??&5W,^\7.+L^AZ";)6E3N^E)!S2PS?I& M7?2$_L0V&SJQGYF8O4AH509P!".027!B?/;'I4YG'NA_;!$$4\86V^]+5OFY M=V4.#G=^9Q(49]^=9SN_,U'Y&78EN":5$%E&75HD<7>B\1R82^*(/]3(7A9:/$ M'JF)W?K5=DSH7*)L7QE?K6'5ZCXQ05?L$U[IO@/O,3R'C8;N#$39!VCKIVN_ MIN)Y6QKG&T,T=AUD:\#Z^7M#5$V4LX1H#A_QGJ5K<<]UE.#+"(J]U1V5R)IN M+:K6.RL#$BH%.,V&:[+Q\AY#;FS(GP!!C,3[03COF_V'>GHOGL4WJ?1.\^=L MY_1,4(O 07R-A@N<9B<@+3VF]<9L+JC!H"MC9\U$].Z4C,X;#D:C6I4SZ6=T M^O% '7SA[F6B6@@ZE5.>X_<'G%]9^.A]D]A;87N;F *:<]F\!%W:,[!3L*UW M;&M+[O0Q^KM$,X1WV?TO@UY6KU:@?R W)O,< 6".34YUDN]M5R2WV=G%Y[BS M3DH+=B^O,_'B<^R,_[://]GO;4SN\A8]J!@>]8?:5Y;Z=+.M7K>F>+QKP339 M8%S*?Q,GIV,5Z'.ZMK$M:$>\G&(R>44+:F*0'3K-%CQWBL5?]4*?;\IPH'4P M%X1%6B85M5*-<]3=\+[OE"U=[R&SB6!;RHW$[W\&ZULYXM\5W@./.+OS MHPE@!=Z_>GYD+/!: G3$= UTP\!#@1V!4EU%%HY"Y5IY:S_3^8::K[MR3&W0 MOS#P"K(F=3B[^!P5=C\B.33WNI-'<(X=TI9+AB]^15?OT2$!E]BV=&YR57]D M@S4UT(Z"]-H.]ZKP#VB7U'9,=[%V8@NK+' P(*_)X'5G>C1\52WY$!:B\=)[ M2^*>8C>=E_#'O?'VNF!@KJ,+Y3U;"/L92OMT"^1X=Y48[J;EB]JN>HIW.^*=OI!+):''W?'IQP2.Z4 M93IJ4((FCC1ZKS$@T;MZZ#].<8T>+Q^E%_0/XN+>"4 T!)4J'64KCID697UU M/SU(UX<']6T).U%7"(9-A^E&.33GTLTBF^GW02$7NX25U==,NK?2W])7 M)*/SA=!7KU[UB.#H:\QN'\1H5?>VWG?\B1O,,J+SK@/HSGU=SNL-GA'O>-$B? M)OLT;T?KP^=X8ZH;^^[-="3IRLH)Y4:6G^L7OIFN_8.;PK8=WUO=GV/II6CI@# DH)N(!%P,,1 MH<[S)H(]<=N5_X)E,VL4ZC?W5D;O,!(=Q:G]P+(Z[0SF8K\#DZ)CVJRS/W0T^!?J;JC9>!I']\(K]P$IY@SNV9:A5 M^ZWHW!U;.-$/R>[_QJW?=SP]D6&V7=4/1?3@V.L.^?%\_A##W=5U+[C)#+6 MYW>7#JNIVO49O)$!!L.G,V:H9W?V]FO1-D_]TLDRMG2H3*:D4WIT0V_%\-YG M)Z/'5QP_2T2I!FH$YIQ&HW54(V]$M>I.K4_@VH=3Z\33-J_M9_GNX^&H(YC;>&GCE$4]P^F,,>;EU)5RN M4>?6T)W5NIJ&'\OF7 :[:"4[[3!X^N8-1"7U/IK/'WV\#S<[KZ+=)=FJ#*^PU;[Z_ZL7WU_!],;E6QO8D?1OV(AA# M5_>SN?PU%G!>>0^+-A7]V@C2; V2SRL\00D_4ZX*N'):?:5=N"E!) M*S_;KN2CDE9^AEU1J3!3MG4Q@4AB8,\_]]1VF!8#/DT\+7L_C%*G\EL)F8YL MQSN8A*;'RQ[X>_IZO QN/(^?+?Q9';L7ONP.JV;XZP!S)C;"TR,#(T,#&UL[5U;<^(X%GZ?JOT/ MWNS+;M420F[=24WWE,.EFRH"+-#=LT]3CBV"9HS%RG82YM?OD2_$8,N6S<4R M3-5N#P'=OG,^'1W=CG[^Y6UN*B^(VIA8G\X:YQ=G"K)T8F#K^=.9ZTQK'\]^ M^?RWGW[^>ZWVZ\.HIQA$=^?(-!LR$(LQ2OK\KP1_M ,2B/6O7)7OZE?7EQ>*Q_O M&XW[QITR? R3/4+#IC@CG8FM/^[9/T]0FP+X+/O^S<:?SF:.L[BOUU]?7\]? MK\X)?8;L%XWZKX^]L3Y#KV'26,J, MDN%7G))^):#//RF*+VA*3#1"4\6K]MY9+M"G,QO/%R8KU/MN1M'TTYGV_%9C MVKKXX,/^Q]@!C3,J-8EE( N( 1]L8F*#,6'UJSV8MC5J 1_M,X55]FW476NA M1I\U^%D_U\F\SA+4BY1]Z"6 M2-&[P-3"MFX2VZ6(%D&VX]4=^=A"CH9-871;5K); MG%T+NNDS?C*1:MO C2:9+XCE"W?SM\(X"U6R7YP=;&$']? +,MY_ZK@.)%7G MA#KX3\^6,W-ON";:&?2B]>Y:&M!4--'>D+WZV'Y;L*XV0CJQ=&QBKQU;X,Y; MPVX1]I'CUSM$=#S3:'$-\DO:;8O'[@*2L[ZNF< 2,-=8,U>VKFM-"9U[$ALX M,T2;+J7P]98=IBXR 4P<0 :_""'Z-ZJ$(@H^KEMC0E(B'='E5 M#U+4;7?N5U #PS _RQ1>6-J&SP4EZIJINZ9?5N/>B$)LO3D^54LY\\@;IV M[5G3%MZTH8Y,QPZ_\8CKB3;XXC_7QMM& ?S_<7EW>PH*:P-4LF!Y-?-,>85:9H[WBV0T5%_ VFK,5R)T#*[R&.DNQ0Y& M]DZ(EZ?XXZ;:UI((R'4I&;E6;AP#R6'(6IKJJSD;3J"K*\ETM3EC>$ 6FF*' MHS5.:@GUEZV0N!+SH,NTZ[4R]>D-9" /%6U*"-(D-LZH )'<-+Y+F*)2:C2C3 )\EPYL0R2ZCAXG9["\CB%/BYGK3+L/?M MAXV3#L+[#I>B^PX/:D_M-]O*^&N[/2ECO\'??^.P.?RQA%X8[.W[FX2IS0O2 M2-BGUF4;[3/9+1<9S!84$XJ=I=>#RAC9-'L&_7WST(G3U"A=@DGXKIG\$4\D MK[0Z3=-Q"/;..6I-RR*M@I/4F!N(R-A;MD*_ M$&*\8M/D+?$&/U=*4:F-KL*0N7FZ&@BV6GO,4)A(UDHILS"@*HR-+31%," 8 MJTVH%4:.>OD9*J74G# .,#+&SF[#%^]+D3VDV6C$ZAI,O]D^$V$$B SL&_K* MF;L2RML%ID"3MY)-1WM8>\*F?QS0,L8.T?^8$1.::K-!WEER>F-VMG*Q9#=[ M34E7C9O+JZNRB2>JBZ@]R4)4A=6K"(;T>5(\H=Q:3&Q=J@[38%5!E>$ZSE!; MLD41%*JEKA^5H\X9$H4A"8I/>BAC18#O)@I)W52$@IH08% MM9&TPR &KPI>,K,MQ,K4Z&:R8U*G$+8JN,*J86"_64,-&UVKJ2VPHYD1?+RI M3V;&8])W0;15<()'+"R(A8PP\@5,]]PYTPHR6FB*=>X=D>R,Q\2 @FBKL%4U MH4BS7;K,M.CQA,>D84%TF3M6)5TIB! R+5I"1LB)G*4W4NZ M>, )2QA54>H%A.MB@8^:ZOBKTND-?I02^B@>P'"$;(=B'002G*%>_R*2W4?-X*#E780;,SNX"E"$E+QBLX\/RF\U.O 31^*QG57?P M2]H^O7@!?W$Q@8M;BB_?Q'Q3W@=:.=.6WM#<(72$%BX%L=@(QNG,B7EV1@DI MM:5"$];;BDE!UGA$(9S!M(69A"S#%F="SIQGCB(40 JB-D>&%, MO$"]WAL"ZJM&C3%R'#_(JS_A8/NO;%(#4O "FK!EJ(2#B5N6>,R15^1:4S(H^:P^)O+]SB< M&>-39GX)";:E>OE#53%A"/DM9<^:UJPO=+7!-"]AA LX"<9L)XTJ[$[&.@4_ MUF\+/7&O*>8KY22XLP.19 Y19D3,C1G8($M'L)\&3;60AM,4JW=C$O40N2A=N 2=)F'S2 MR-QXE8$R'*&M;EX6G9,G%" A9:2=DXN*+]]9GI+FY%[\S)00S^\))*3(E@I* M=%?2T%9AK[&%%A3I_M-S')U&DYR"5C/Q5F&#;_V^?4;X_J2TIZ!I<>!5.&H; M'[Z"NY5A^/FUZ' <+N0KY!1(L@.)9 [M9<6)7FU2L=.(0/ZT82 Y\3K>VX\? M[JZ/C@$YD%\.\D[NIF4Z!!04DD.^\;DF.0O 0C0["RO/63RS] M*7 @'_A _1\$5PW*T7\LHI;0&W,9N4Z!"T5$$##BH\S#0Z*_LQ%=.(_SN)%U M32[7'V\:M[='1XW"<@CX<2?U.F,<'3<*L3!/N"6<)EWRB2-<9[J0>J#A=XH@ MO!-[=R46#"BWI4DK[#3)5%@R(:^D7L 4ZSRKH$);6:15*:=)I/PB"1DD]3&@ M.%#/S7^77-J\6"SSNG#N;AHW=R? %V%)A#1)/^QSP)NM+6SK)K%=BA*V%<& M1HX81#ZVV"5^4_2.Z]WUQ=7%I5)3WBMC=US5\==_^Y=8V__YUOVN]KR+K6J_ MI73[W]OCB7_1M:9$ZE7^&=3\KQ*NO.9[.Z>L=4Y"G0FB\^S&)B65L/=NR#1I MS5(0AZ1/3J:?&,P\72>:O8JJW0J;<"2V ]C6S354MKI.+/]&U>9ON6WK;=RV M=OL3M?^E^]!K*^IXW/;,Z'N="IDJ[[4J?K6EFM8.MH F/?SB[35M/F; 87YZ MII(,<$JC(G$QHBOL^=%Q"EKK!3<7-XV/I2]%9JLHWNEW!%S6&Z@I\+R'>_/3 MP*S/D.&:J(#QOQ(Q_GXS%*\=4=OOMT2)-D4) MVW)L(X)LW3TJ]&!'I0^JGKPB\P4]$LN9%3 & H56SE3D'24*BJ *AQCSP1ZA MN8;!@FKV0G% K*.D'2I"&O MPO'+ FBA9MY6>L'23I4W7.P'B)":&'PE'P9UZB#*@'2(NSD4;5G:NE0:-_"I M.HS8!W:1(YJ5,!\)7-FNL$I390_0)0NW&IU.!T?.D+UY^FR$=&+IV/2OK^2= M.#<:%XWXQ+DY>&PK$_77MK_OQ"I4H$8EJ%)9K[/DW:@\IQBYJW[-23F?M[LZ)+06&=K?V*W>LR@.,'%.]#R^610@ M/5OX3V1 ^]CMQ.1>D)ZXFNHM@.F0(?G\R\.K@-\!?39MMN'JWNIGXK63'S"Q MGFJQ9[QW7'IUM;]O(<@:EX9CT#J$0KNL-6&T,,B(/<.&-?YK\(5*JR9M]@&Z M"B]SX(^47SYN<(LY2G+D0UMLTGD8UR0)2?M-1[;=?D.ZRW)'QU&8;[NQ M^$1[K:N:_#F\2#)O)DI@@D0D\@6;#DZD6<%2JDF@78(5N:*X(Y,#[6M29.#8 M8=SU'ZNI$P$,0K?]#K6FV$>.CVJ(J#!E?.^RW)^'ZX; ]4L9?U5&[ MU/7!'YYDD:&^(*H]H[X[?V*[U"ULNNS)*H;;'KB.[6@6"_S%,2JY2RG!?'+: M&&L)T.U%V=VTH+:C)G5[$53A (UW=X<=.5\].NKA4QV' MXB?7B[DZ(>^+)4$T1952%A4O_>['M@4?)ZWV))=B4;=UUK2J@O=O]M1)>RM95B)_]!$+%Q:/QM..QY;P2J/:73[:O]9A<^K5X. MA$&J,Q@]JI/NH _)O48H02MDN G@-2BX).&WBM/?X@F+G?A/]-<6R27KQBUX\LML,UTEX?H7]2Z*AI-_MB M:2NHR/QX)#VW&% OF)6DFXK$M!56GC@>2=]4B@!]A,$+F:9F(>**6_RD7!56 M:!%DPJ'_9?)Y@G < 7.+.#RQJXXY'9Z@!>&)GG*=G7ATDO0>P$U?TF7'4)WS MA4F6*%P;$@/!R;3.]6L9]E53I1[OS 7P[<=!2O1L@]8-*?D=Z4Z3V#QUI2>N MKIH*X-J/"Y2F'B]*GM4_/5%W5;H%O:ZR+69;NJ>KNK8FHV9%EV*\:V/))< MO?W409.0Q"Z*4(.D;AX_JKK^^B<'GRR[O__OO_^;>__=^3D_^YF-T,'&A' M&^"' QL!*P3.X-D-UX,%W&XM?W +$'(];W"!7&<%!H/SL_<_OS][?SXX.?D[ M[>+""G 3Z ]H7Q_>GZ<_C)+>H/]E\/GTI],/9Q\^#7[Y_Q6YX>[=@ S[,)OD<+70RO)=WWYOP\TI 3AM-L9I"U1>NH'MP2!"N/D3 M\",07"&XP5B$R++#X#<\T491$,(-'A?#6JL5 BNJF]-EVN(2A);K!;)$MSID MWSQ(OUT M'%]BE6'Y(M&ZYOR&5Z77$S*ZL$/,"8!61+O 5I"M"%3;OKHN;&4 MNM2'&DB8S*>E%7FA(>S*X](NUT96L";_)RO7D^61)6WH.Q/_"00A7>!J\T"^ MYYXI&C[A8:U'#UQ!-,< &1KN:6N_=4C:"FRWT8PNJ^%MK!$H- MTO*\BQ7>7PT1PN.!9FNHN+>6UTVXV;CQ:I79B"ZP^4O6LNO(PAB$H,DBJ3I M9_3]9A%V-EOQA;VUBSGU,*BO3!0:4(,!^O-HL['0;KH5>%O(3E%/ M_BR*%@0;ZSV($-R2?R@6IR R],$_O39Q?/HQ,<[ 7P&B#UBD9YBG,Q#:-\? M&? D^8#).?_EY/S\Y$.LGL6Q)"10O1A8OF,A!^_#\?P:OF"['!(7-7$_ X4U M2KJO2DV286--I:8*WWI;GU5.:3)"7!))_HL31WIHC MA?\F)$/_Q(D%UR**C+Y;19CJ6S?X)EVW@"[MZ60#B+'4)J[Y?ILCNL8X(3MZ M!"=[-K2(+K/W#-)805S?C:>;_ST9@^#5=-IF*0 $S@'._ELW) ,+\4)I=I+=QI8&R7-FE@;;W,6Z,R!,D?;,A!_G'-TJ0#3 MO:84!C1$#PI8)5+^P)+RWTX9CJB*@]IB_$WHKG[^_/GL;' R./2,/Z2=#W#O M@[C[ >D_]6+W(S13Z #8[U?PZ=0!;JS+^(^#"N,/?]R E>6-?8SKCHQ?4&$& M1$F%.3 -IV(UYO%PE[F@4@;M[,],G(L =>>0/5C#^<8- I;F'!,[,N58 M6!U6U;86TO)IP%Z&^,,?^YS-N0U\"\]QA@YRX4I2%4+V15$R[(,?;(%-,Z&9 M*BJ$95,F@JZKO#+,A1+C]Z;/ H2)5E\3CP]U#*@Q#[:7:<.V) MRE8:J"^@PIP60E@NM5SHIG:4+/.A!"Z]31%)Y+-V%Q=IK=-EZ/P9)=8@]@ON MP'.2\X>]UGL$??RG'6=?"::/4A]#3T;HO-2+H8Q_[:_\:T3'*_]HDM4\D+O_(Q M;J[*/-9 YBB]VD@9M%*[J(".WJ7=MH%'(I# H?F(,["-D+VV A!8ROBB$S$A M(Y%YQ0+EJAH/V 2A1.,#2Q-9GM3J(+;4 :'WB<)&^G\(2P/6:W38.+;< /V M7E1ZRUPP&P0M!)%_81MSZ!9.$6$;5=K;FS!R H$*&/4^?80DY,].*E W(_1U M$06N#X(@R;Z7"GVQVE2'OGBM=% ?HR"<0CD8/G5%J-9"7!5,A@(<](6VV$AG MIT4)V=X=Z\/V-L*&'L?#+@,Q'5[3! Y4@*@_$(&5YP^W6<^,MA%P-=:$SBC:1A[]X N/E$MCA EF8 M/HY)U$)/)6.AV)M,9_6F1UN,8.->\$34PA%RA$<=OH$1R>^:=A 2@+"Z]3S4^\MG) M)$:Z=W/O'D$GLL,IF@/TY-H\@X\%QK2.>(#]DD/*020(L(-E0E@186SH)G9? M!6NAQ/"]FGYL?%/C3XBGOHRM:P!7R-JN\?[E565M%6'%F5LLZ+ZHBYW%+ ;\ M["T>+)LZ$70KV5L")D,)'/1D<)61WF=QB9#5'!?>EQ2YV(TP(2M(ZJUD,M59 MJ;2*K04Q4^GV&GA#KXTLUI:_ )LM1!;:339;RT6T:B<"CHMWZ" I&H77/GN MOX S\<<6(D7W@H08%]#*4(>2=")[J[/QN/SO=,3F\6Y5Y8(]4:;!39-D1=:4 M[)0%>AVW)% ZM/^*7&[4I@*:[\/PX0VAE?R)@#B1HK*=$OVEEHU=N4JA0$6, M^G?H>"3D_#D9U+5.IBM"%[AQG\C\SY%HJ]E*'7[Q^FD[9>F*&C7#N?5(K$9F=Z#6(TVSX)]0WFOJ*O0@< M >5^S..9PC)0HZ>ZO.MJ.:@O>M@8=PT&N"*Q^0.26D3V'@[+/D!!;U-B\Y\3 M#>.!,L-%(F"-I'WQ@:?+:"8=)@S 7Q&Y M9_:$_T.R$T0Y76QH?KX3']X,6L4Y73QX%7I;S/6J9#Z4Q*3_C"\>ZKE<+Q'* M6B=)'#RZLFQ2;$H4'BX#-!#R&%:/W[ORLQ#.ZCT/ M4:TJ_\U"+BGI,Q/?YRJ"<;6!!:B9+*&JEP&E2&M/S06^HX@?L/>=>\_R*T/970S%CRAT-%CC>@ < MS8#=H]Y_H8 \K;F814J+XSZY3L3-"F7",:/$7$A=%)'78F? MBPVCM;M=0$$1RAH]R'&ANH\F ?0J\<#:6/4:4N>0D<;3:Z"O=:M-Y[=@I\V" M<#>#(I!&4H0[I.3>UOZNQ.$B%(W9^W:21S*[F_2Q#ZA8B'@..:X7D1MMARK> MXQ?;BQS@Q"]Q;[91F+Q7GZ92W@,4;WD[=@[.[$?G6:[=C&B.WREE;U4R1 M@RW;F[UH!E0CJG]+M$LNY$I=25"O]T@N^UCIS V^7^PJ?%E!"_X9EKB-"717 MGF(+6LC3W>Y)MIPHH#0^_1_IB0C(G>V)$>_=S8M3KY('?WFY3F4@IFO#!NN) M$+(43962980NHEO)F0KE!B\5Q>,A6WJ?PFQ-&U;N "^O=Y8Z+O: MWI!KIK)!E!H:P884*;6MHM!,@0WEAAUL&CP9B78.!F8F;!\%4H1["(,$C:FS M&*E)"#;5B;-9P(J\TB*H-J(D4F;SH)*$M9TNR^%M*5FV/+ZF5-D\PN5$V3*B M6O>5^(F%B1\"!()P$@01<*:(_$L26RI]#]GFW 56I0/CV%/IHL@VK\F>=IV7 M&K(L/3 BAVGO^Y(\:>7G1^1(TAN&1W +4+@C85;R2B9!?$OK4%;-7XF6_"BW M7%N3^%$Y825:JO.CW6FJ)C*HC%__QP8R!.5.$^0(,:!*]\)Z&4;AFKX167%. MQF\@N"XH:F(,T177)_E-% EO\T*DA"Q*Y;GY^&BJSLTFH%RW)-OJY <++W&I@NJ6U?P0MVU(*5-R_^>O+D"83^O=#7@"K.PJM<8R$[.BN2%S,RBC MJ3Q+N7THS5=A+RW.7#FQ5DQ>(;(ZI[&0NJJ9+*1*=]4@R[==RYOX08@BFLQV.4I'#UDAS[I%5+77\U73*0#(@O$;!_$L[B-H?@T M,8=NX0(@;*-*>WM35$X@4 &CWN>=D(3LW*M$7>MDHOGWB.B @ $ MS@%.@=3Y;#$X=#'(]#&(R1G$CVL'[XZK*LE'C@:S0;6\GFACY]Z9/@'DNZMU MF-CO_HI@-H=+M/^%E U\F3];6_(+\W7X5OK\XP.'98U[;;/F2TF\L$5$&ZXJ M%+6334Y"LJ!B11H_;J46I?'% MO>E[R6E/U&]SU^LC/3M4^ MCJRXU"?Y9?S3VS).9SYOYVO<:P?+^*?VE_&/^I?Q3^TMXQ\[7L:?GY_?6VAE M^:YOO[?A)E[&]R\9C2#&R:=E' ZE6O>_!M/E/(3V]S7T,(I!G/ FM:$L4WN,ED15<@NU0)AEW M.1E,4B BC2MG_Y9(TB\7C-*&6%!XD1/NV RX+N61WZ'$PA"J5OY*4(D&_0(8 M.HX;#W]ON<[$'UE;-[0\H3 JVO0NF \-!5-!CWXAS4"(40=.>J]>*!T><.]B M^=A0+#Q"],MC:-OQD]O8["1OOQ%B$%B3-?P)Q$F;X@DDW[YWJ7UJ.IGD:=,O MR 6B*4 [NBC'Z[-0< +XW@7U4T-!"6C1+YB]A8/]*D OY%49TAG #D5A>9ZT M<59"G6DQ)S9UT:7&"#CA%QOZ(?;PQAX%_?HNB)^W/?SN0>P[?GT7HDB7[U-T M3_$4]R('K]?W$%&NAR%R'Z.0WLF"=] G-&%>8BQ6Z=TMKFS;Z=P4@T16,]JA M^A#,*!_GZ2J4&DRC, @MGQ##$WH9SA3+15)^90(,$\4]@LOX35J.#+( IA@@ M8UY10B[ $O<8@9L\I"9 MNW3C0P@":[UPY-G/T*980'*:T@]/CD0'"2'#)\OUR):".3"WO&R9-N?/*'Z7 M^@Z$TZ6ZGJEWW[LN_5<7NJ1.MV'Z@%XQ> ;#WZU_89XUGMYBB M(Y)=K(0UA)$?/#^!=6'7;H!">U')+#P!/P(!'&-=5*-TPX#\NS(OD0NAK56*P162?'UM,4E.3[U MY"XI?/[\^=/9A[/SP#J]GTEJ2,+6;#T6(^^&VR^'4P M>I@OIK?CV3QNE4%B )>#%(W!?R2(_'\-*60BH(NM?;:P!7R-JN M79O[,I( UJPT,AEAI)5#!41UM$Y6220^>)';Q:)(/APDD7SQQ\.\P/;L#[K-!BEU(0S.(JV3FY,QAYOD M!]V'I\K<)$CKY.;U!8>;Y ?=1YG*W"1(FV"9,K>.DE4GMY??F)(J(DM6WE@5 M[:)'FD:2$)$UM*]QC71AUH$'X-?DWZ[ &CC M^I0C-5R:#[5=FG3\008!KI4D<(:_DD=&/P.\"-]1K_<5!I_.&/&[Q'>_%;OXREAPFA:=7A MF!KMKSI,HON6RYC_LG;Y9P,6%($NI3S-X]S-\C$,2:U^UTYF%0F$;RU_=X/E MCL7/74[DFNE>7GAZD:XHE"5.QCNP M BHJXF)G &;+"*0QE::UG4ZZ-=*K4$&KT$&L4$&L[> ?%\!^3[Y,@\M M%%YB4TQ89;W=05[[H4!7?--SI#"S_!7OT"?SVVN/N1;(U2@+9HRP]*L!$5>F M]N1XV7'$KX*;MY@GFVC#Y6?A=]W!58X"I PM8*N)I=:+F*7YWW4'MZI8FL=6 MOU?Q%I=^BTL;E$0F)K^)BNE?&@S2(^."&XUY$H?RSKM:A/;=O^Y(>OO\.D8] MPU_:>'&T5HW<^VPOKSN@7ILMKRW01E]+4HFW]1EL2]!["[H9D@7[%@5YBX*\ M14'>HB!O49 C,0O?HB"&F)!O49"W*,A;%.0M"F*$$KU%0=ZB(,<>!2'UDLC_ M2<7Z)\NCCU'YSL1_ DGA4N4T"?KAG>7@\G= MM_%\$3]AIS,\,;?7P(D\,%T2;F 6%)@B?,M.KJV&V3[QJ?X1!;G8C:P0K"#: M39>7X#%,ZAFSKL$IMS8K!T=)E-GI*TVO_F6<5JY>K"U_ 39;B"RTFVRVEHOH MVY0TB94DPX,@J1C\+Y+OGK['E%#FDH37[$07O:W7X7@&1%5J3I=2*?%N&*1? MVWX%V$7"V(24!8=*Z,(WEZH:Z8[]]#:5LFI2Q13]LF:OF55!CLI6>B,7DD3E MZH#*[2('"^Z#41<##]IXFRA;[)$4Y"<&-25@H" ^,4$]W/'Z#9 GJX$S? (( MV_CT]6NPA8$;C@ *XX=&R'*1?,F0AW(/IKCDBF)2IK,'Z0UM&\_"C/\3/PB2 M5IK%>P# =)5= <6VIKC#BA)3H-"PL$?ZO!I7@") 4Z[#U=C%6.0<0="!__A. MC7#$QYKAB)/!'HT3[!><$$0&!TS>PA6M4W7E^I9ONY8W\0-L#1%5$(0GN-"O M)!S!I4__P01B:40BWX?.ZN2 MLV1;4YS2KJ4MR0[],G^+&"EM]$>:GY+7OJ*!OO<,8W=CN,3_#CT//I.S3PQS M"*2*ZU6T/HHIJT4-?6J=%X;YY"W3MW\;([/0WI/ $3W1#XF-AGN_<;G/UFO$ MQQ0+IJ-)WJ%6JW#9,/W/UA\BM$^7HK#'HTP=)[ENCC!>7)]8PX0N>G*Z]!CY M_OE@0NYP.IHD-$Z7!RH;/.W=<+PC#&+WP!7#](T_/:XL%]%7$!=PN($H)"?; M(QB$%U;@!L/'@%Z(XVA5XUZ/.*3>F/8>CK$J-MDL&_E7(MJ--Y!$UIC7('WP$+(]@>8U9>0&6$ 'L-C0TK6H-8HH) MWN]*4XM5QZ)&-%R6[L1K!*/5NJ;AU'0\4TI*FZAH:66V'9>Y)$=N/1M*MN_>%>T74PPK60X9O'R1P&Y^6G1E M?39ZP:KDUU%I5;?&E^1X_0=)SXY,Q7JPOK1MB3EJ6]X2"WWWKVC=A^-;9I'V MU6O/@+X.>IH/V+]:F1!T;\ZW8]2U!J<[#4?K7\M,"+4W9-HQJEB3(YVFP_6O M9-V'X[OGFN&66#[%[/!).5FFV+Q_;>D^)J_.!?WW4P_Z2Z_;T/S2@'5[8^K/ M".((JS1E@/+MU$_E8EE7P\EL\&UX\S >W(Z'\X?9.+V.NL=@D$%A /V!-=BC M,:!X:+V;NN<>?5V17(^Y<:U'UTNNK5"..AG.88 [B.WG+"-%]U=;[%_''=<4 M^XM=1KNN$/@K KXM*L"M$ M\*H*$=Q"'^QN+?0=A%>1[XCOI?. 35FON[Z(SJ-?OQ@/!1&42TG\N'4%1#S0 M+]+76$""$_=]*R!1]AOV?_[J H2YNM[=@"?@R7G%PL::[#6.[/MRC(4L,4CR MN4!;"6=E+UG0ATD&F)+>5_I:?)H-$O3$WT9A0(D[E_.962U,,;UJZ2]3D"PJ MS13;!V6Q?3#-Q.I$;!\,%%N#W>6FHGY3RV/HK?;4"<.8"M-\OS_2^E'LF_9[ MOAR.P#CZIM#>N&6F*ZU2X,G;D;I>9Z]S76CQ?+UG5: ,D5\(!/"FW'WM7MA\ M'NC/GAC:-HSBLY^DYKAR6L1/Y;2(X6@T?2!Y$+/Q:#SY-KRX&1M2@3NEEQ9E MO8&63P2>A&K\U8$+P2=R ZG* Y4\1XO9X.9E9/04'#I0\9L M4O4\$9W@<@@D O:15@6L :&1*ETK<)]%13=9J?]P/01AB,?]$]@ATP7F@^D. M5TCI2)K:R2;! #LA.UO)EDHF[&&25OFK\LWUNJ*J9+(K$"LN;::^8H4M@&T4 M N?"]3R:/$S^("B/,#8DTS3#F:+@:[0WQ7&LHP,UR#7-$;V$T6.XC+RR M+2FN'ZW8ARG>89-)KTBRP4+G4"\O\:H.3/$/VQ)W%;WZ?<&)'UK^BI1@3EQA MQW%C##)OK2J[A_]5=@\G=XOAW?6$>(7#^7P->SB#>-L* E*2V_-W$M[D>)A=2MY.IK%2I MU96\\/K,%L*;X"LKL%M"D?T42++!5#KY<4\WG MS KDL1W[ZAWH2,^'KR%TGEW"0J9T#S^;,O'JRO) B7GF.5F#H4]OMBZ+O]6P MTC_(6.F',0=P.3B,.HB'?3/7]2RW%[M;ZT^(1N0M#/']*/D>7I-9KT2XT1OK M =D[:R,V_)5[,<@-J*'KDO)FDZY?Y@MD.8"@)+XV408SQ96HJ;2%FVL%XO3+ M910%(=P - ,>C4@%:W2F5*=2<4JNK6H MRY;;D2G'BAU(FTOS\ @"0BQ L^(^E8+(>20,>!6A* MG$6D3EDAL&C0+X(9>(+>$]Y$\F0(I5'1QA3!\+4K*Y8*8O3<29B'V&@D^_G< M!KZ%+0W.E1$.G%GEU:2V# $UFD20X/#@!UM@NTL7.-QK(0)8 _:*2H7:\Y]/ M1C?9)#<@# $*4N48OVQ=!*;^K;7[>$Z N:DEL@UU+T52BI3FEL@2U4,9^7CL MX##XSUQ1\$%U1^64F,\G0_\>S5I 2[ZKA -T8TJL7(H@GNU4V$(,N'W3B8!O MK1=W$VTN($+PF9@GUA;_$NX4Y,WO0O?4;%41^&0:%F?H1?7Y%@'+ MF?K?\")%]'F&M^ESCHCEFYL205<6KSR)1HLVQ76"UQV\J80$9U*%<$SB< $) M)(Y]#(A$L?1&/>JV>^IJ/%\7%!G0@XW$4FYR51"O0!C?B6^30J'@<(VF:B5O MJ4]3SE.DYWY+=!NV(!2,^6D4!J'E.R1:OR'7UWC;>&4S4\Y5U+?N2M(,$^$] M@C8 3G"%Z2:4[5'GR$X W[O0."^Z*PM-0)/^ [ 1W&S #+E =_S7'9G,?[O2:$ <5%+OC+C26+QGQLYP%4*:X@,TOF-G4 [K?H6? M/GKN*LZRO=C=D><8656]Y)N9=6)3O8A54V2FL&(,A8M9=3.#UC)9A:R279Y M_;+;/]:P1U9<.)L+;LHJ**N,S*>C2E3I%]!^B2BY#SQ#\\:4TP<^ZKF\_,(: M:%!AKQD@&D-JG4+BP62K#.* M -/4+?UJ@!?"U((<+_6F4=YBGN#EB\O/PN^Z?06. J0,+6"KB:7QCL!G:?YW MW;9D%4OSV.JW2-[<*GUN5;+E[[ ;X4+G"J(1I.D'-D%N7P2881M M>5F*])N#\Q#:WR\LK VD%!+>M:CA.H\V&POMILO1FDS^8.(G,_TN(@R:+N=K M"]'#3&Q-8G#2B:H->7YV]K%H0\X7T]$_3BZ&\_$EL2?OQW?SX6(RO2,_Q2B1 M,DUVC-3 ]0?8-QIL8M0&/L6- 04.PI*\1L$!$%#BCE1UI4XGKV#>+$[P-Q; M._HV]K.%'+E:3XW[UU&(F0Z/!Q < A1@##.+VQ9OKNIRGG(#=MG:-!Y(\9U[ MS_(KBSYU,Y0!MK]0]7,[?B<"=FA7\:5C.#QH=)\;Z%CS>9^:ZQA5T-JO \=Z5V0VGPECUB&N\SC M]C3POL"VYG0;'S="_PE/..#,H.=AFYXT:EL]:R)AC&?4C5+WS$W#3EEZ(#]V MZ_0IM\RO0?1MVO24PFF/AQ5*9W;2\.?_2+]A$H>Y'G/XRN M?Z-\UZ;KQ>&-2<-XQ;I>Y/D/H^N8VTO@ZE1W!@;&)*^\8HUGL/V'4?H]]W\# M[FI-2F0^ 62M -WQ+JT0[!]H-\)=5&3Y7IDPF"*:3B][06K?C*=#93A+D7116,U[MV_G),VBE@G(DJ^5A- MZ:-X'B8O.&8HY1D!70[8NU)^[ETI.^+<:]%*^MHW!:Z^<-M.__TGAIP=A=*5 M.=7#25,^YD-#CUC;'WS,.-:A"444.)<1>PQ;?K+% M8]TGUP&^$\3D51\/E!KT+WI=!P$ET@U))5]##S,FB//DE3/&/Y;?#*49X[]. M;R['L_F_#\;_?)@L?F\_*;RB8#ME\@QL(V2OL<3N$5PA:\-*[:Z$UO&N>JHK M@D3M HP9B=J2K,\]>)ZG0__ZMD=(F"1=@C(HOYFI/DR>=_NH"EYQ1R52#=Y'OI=4ZE];N%NOB>N@[ MOP.+E[.OTH'N3:FF8%5(-$R\5!L/U.9".<(HB4Q#W;MA37'*D'9$8A0>*E:W MTYTUU($0>ZS?4\!BXMM>1$X2QR_DP'MAO51)JG8ONA-F%.56FT[39B*]B8=< M;O9Y%D!W6DC=N94AP43V!V3GO8((*\QO;K@F(6.L-?@+];1UR--T9#756Y"[YT<=M M102L($([NK/,01C&3C-&\U *89]]AFUT6FWI0'2<:,G0DY;ZU9YO4$,E6B)= M_W'B* I"N 'DU50;D,=2:6*-\I'BI_*1XNAAOIC>CF>#T?1N-+Y;S&@)JKG6 M4E,Y*F=N\%U4-XH'W%- $*N@$]GA%"7IT)SGZ]E@9IPLRK$]C0*R*=$3C4UP M(5,WP89]LE@!:\#Y8I4J%;C/HJ*CBCCP&:")[^ %"*^CR9#\$C@B:-U'CE(: MLR]:(Z*DATI$R= NN39Q>"F[4@!RS4P(2DM+0HZDCFPRX 'R8G;DNS9=%B?^ M$EDQ$B3+ITH7-._*LW;RFB#"ND M5Z8*#R9,'A*V,&"C5U!&H="R9!DFM&0%*:$L+)=5U4BW\:"@D5FY59&E7UI, MU[)27)6M=)L8->5525K>/:14)C6L>43TS>C% M,Y1C= 90][)?G]$9(GIG- :4U.DS= :V$(6NOU+. MR/N)4>1C?'T[OEL,9N/[Z6PQN;LVY=G' JV9ARDO=LF/D@\\RO>DY7Z2%<9E M::( :V00)!B)*H94M#$KSZ^!2/.WEH0T&V8?)LB)7V?,PQCD%4OI9$XX>5+Z M>#KO]20*"G7F+4&P1]M,* &C$@.#IIF!%1V88K4)):)*E $'^41UH.'QA&!K2GF)5M8B>I9:), K' MA=:]]M*](#<5="VB#5,!\LS4=)E0PMU3,8:*8 P]WM[H&/E[(O:'O#!UL(+L!/9%[ M N,74CR'>Y@CV5AW9:_&%H\DG8;)=K\Y3WP;+]8W6 NK//$LI.Y:7TVEQB3* M-!&16C/8]X%Y7,73KJJ1[HI>C05709]A,CRH5VHEN7Y$*D?%Z&-O^ )@PD$, MAPTD$(Q?\-*!F>?Z%MI1/F!RB?^#F>S%S[8!! +>[MCIB+J+?C75GDZ98Z3J M81J2N7&!=RB^4<6%UE[5JQV9,R@S3%ZQ$2C8B+, YKS:55,J66(,$\1P0TCY M%Z5ANL3SV_)7[J,'XDQ:CG"J&IGSUE9-@541:)@0+\$6 =L5E43-@_0OH):C M,7ER#!-'0A1=@AV7G/0/'8 %OH+^ZP:Z2(YQ@2CWT+\R68S1*U!HFZQBM M4810'*%G+I=YF/[EU7(8IT"/81*Y<:U'U\,L!15B80'V+YN6(S0LH@P3T#6$ MSK-+CN78$<_]S_T+H^7 RX$4PT0@MNZT[2LMAT^DMPS.Q8CD:_(?\J[RW_\7 M4$L#!!0 ( +6#)5EXV1\9?', #*:!@ 4 86=X+3(P,C0P-S,Q7VQA M8BYX;6SLO7]SXSB2*/C_1MQWP/6[B*F.D*N[NG=VIN?>[@O9EJO]UF5Y+57/ MSE6\F*!)R.8T16I(RF7/IS\DP)\B ((4R83<$[&S798R$YFIS 202"3^Y_]Z MV0;DF<:)'X7__LV']]]_0VCH1IX?/O[[-_MT<_;';_[7?_Q?__(__^^SL_\^ MO[\A7N3NMS1,B1M3)Z4>^>JG3V0=[79.2#[1./:#@)S'OO=("?GP_?L_O/_^ M_0=R=O8?G,2YDS"4*"24W__$OA @=QU% [^F&\!'_E+[NZ+]_D_C; M70#T^&=/,=W(AP_B^#O _RZD*2CD)U#(AW\#A?P/]M&-\T"#;PA ?+Z_5DKP M4T$C0_AN<.X>P2Z;'/*/NW)91:IP&L G-^Q?-5[I2TI#CWHYMT!#\U/R(?A/ M#X0+TI%;(QJ -4=Q70/.X\L9.-+W?Q 6^3_8!W^]S!Q]'GJ+,/73U^MP$\5; M[@OSAR2-'3?-R7 !.!U#M.]J/ +V/*XSZL1N3IW]LT7V#.([-V+.NTO/ J%B M@;Z)HVT7WC(N(G.;/EH/94MF&/NS1 AIM/P M[//JF__(48D3>BSB S+Q2^SW__.[U5Q2)8Z>%WD]JF?'#UQ LP2(8X**LCFN!_[9V8"1&\ MWM-=%!^NG[60N(:I8/S01@_ T,Q5RH?:' IP(N Q3...QG[$5KW>)0N1&M$. MX'#-0LKTH5'4@-!,0L*%VB $,-M&> 3 +8AJH[ _YF0;.V'BP\ZK-=0U09$G M807KC0GY YO">VYE=^0&_WVP<:2^1J@N 8A(K5W! .OY_< M .0,-'[X+!L"<$0 3O^#W]-''_(W87KK;&7SFQP,\X>7LUS_\>LP2 8@8T)E M!"4L 6#$F6T\WD]E+Z)]F,:O%Y&GMND6+$P3-Q*H;O%: M%"0',.!)95,UU!GAR"2*24: (7I#6WMO%Q[D)7?^.+TL66N5,)C&E>+$'6S M4@ C&926&Y4I,212QT*;;>>>QY229/^Y\4/Z02FK%!;3;C3,UVU& HAD+TI. M5+:20<[R?Q# (2_>W/PQB_-IQ" F?R'A>K)X.XI"M79OB8(S@^L8C7_D0^_ MG_R'EC/0^+$Y&.%P"/N/%77W,3.W#S\\K/VT4>LD!\'YP56LYC_XX?>3_^!R M!AH_./^.1!ORX8=W#]^2'&O*7WT=.U QOGK=/D0R20Z^Q_F]I4SF/W;MR\E_ M:9:!9/9: DAT7* M@E_LXYB&J3@Z!*ME.XW]84U@.SCFTEXO0GUQ+X=%6M[KF%$M\#,<4B 1@85Q M?I)2*.'VG^FEDSH98YJTOAP<]\1$)\+A48D,%NV,1,V,^G"DP(%"$BEC%+]J3\(K4-A5 PV&FX4#!0AB[< !#[KR@9CDL.@'Q\-S/IKQKK9. M$)SO$S^DB7J>/(#"-%XIPW7CK8$@&:^$!Y4)<%"2PTYO HLMC1_9U/LQCKZF M3Q?1=N>$ZCBF@,8T":T ==.0@B*9B(87E:GD*$3@D P)(6P\T2!H,Y4Z$&K0 MD+![$#,J$%@AH\&",F( )-Z/SP;>0BU+Y/ZZ>G*8(I;[%"ZG0PI O3O0(J%N MN S$.=AV:3"P-E^M+"FW8!R3<-09$L$?Z%.?,4^ MD>T@E)"X-RD4C!]>I#@ 0[M'(>5#?8U"@!. )QS!@FM"HXDPQJ&_2":5+*LO MOZE!D8H!6E@O"@,4<-,7"6@9:18,9"GCJGU8-SAI#8?9]4F[8OI(8HQ@[G/&A,<9#QS97O7@>QRSEC*9FW+M MR\G-5S)ZX[FC/W\O9R<;M:7!+VK]7RYOIROF9_K-;L/Y\6M^L565Z1Q?S^]OKVXPK7 MH.[I,PWW](K]2!=1R(7ZLY\^7>R3E D<+U[<8 ]YD'F24/9_WMIY4:BH%R4\ M0SQ"\*J1]B"#8L"]^6P8=T:)@#I)3DOT4[R'[332/=/X(9I*OOO%+XO;SPOD4'L1)>ERDTFED/D !B\\ M2IFM!KX: $I(DW @L>PDA=KB# K98[MP'+>YX20V^S&.DN0NCC:^:HU9@\"S M5PFC56NM?(UBJXWQ&[\[AR "!-E,39G=3<%LE#K!D+U_O+I>([-51Y* H7B-DH^&[1201("2=P#\+?*L8L[_]>W%\M."7-TO/Y'E MW>)^OKY>WJIW&E-MGCH(D*D] +6+77TDD-FN$-E;TR<:WT9A5!=&/T^V(2'Z ML)$X-7?68N!XM@%+32<')%+%*KP]0QS;X=OFOR/$\JL.-",A'7E);.+]QTJC M%V/"HPX(7'D&R _W3)1E$9S.Z2:*J8!;.R\T6;RPU484>W[HQ*^\D3O3@0NY MHX@O4/B%()KHCTM&&A'[R&5413:/;489#O'H9T1YE#/R33DCE\.2+J^7]@F1_K>?_KQ, MK/PR8\IFLQ3HVS !,$&S:>N<;2[5>4@E-';@50K0#)H-4,2 I^!%9430/3*# M)^\R#.Q-7"]!F.'GN0I+0L(( DSBO[^@!444SM,T M]A_V*3QOMH[NG+B]%FLPZLCYB^$4U$AT'$\:+R,R%.^*77F-?#U3RA;WE)\8 MLV&@"R(?B%1'(FE$Q%CD2SX:]IMK(RMM_?/BGK (>'>_^'EQN[K^)5_L,VVQ MZ+B\:EGTHP><*[86]Q]#<0? ?>5OGD K$Z:.T.-_!>)94>]O^R2%FL1<:ST4 M?LQ@=H:CX]5G&IWZCV1=L#I6E#ZQ*QN3Y(.2RJC\&+$R+BD'K@8]BR/9X!K- MU>7FZDHKZG$**C:B'C\D= MC7E/E);DAAH2.;7I7/\_O1\[[M2Z)QY0 Q?S/ MG<1W#87-8.TQ_!KS.JOG@%:8?(639FN;#!8NB(N&33/"X2TS>IT,_#ORCBTP MO2@(G#@A.R9, F@C'YH9+"E'%P3%A2_]8)]2SU#F MH>-SX00.?(&:@5KESC MQ#YSU]1:ZZ M55<:*/[6C\F&^>9D2$8G>WL'=EK-IHB%C]ISGC24&A;7'W^&7@WS7Q;W\X\+ M\A@[3#HC^ED/V98_)A"3!*5A,@9>=#^FI@Q*9LM MVCI!]Z9B75QJ$]@@,JE(V!2;]#P.M,9 SN8.++JA+WN6[(&&D;ZZ-VJ+T%,= M#>7]PB_]9]^CH5=N\ZC+-F_*3($9*NIAD;%H!Z=&K7A8QT>&C,G.D2K-W0OL M62W;D)% ;PW36\I[^KAGWQ/729Y8X!#(Q,N0>!+"%8I(@#QZ3#GF!YVO?B:7 MU[]<7RYN+U>VG!84;0&7FRL_=$+7=X*[*/%Y98\^I6*&BMC2HX-HM88>!G@X M[3R,&3/MZG@^OYG?7BR8(2X6:^2*4FB%EB8M-G<(A&==:ZT9YQ<4]=RES\(8":5OD+Z&8HB*LV U%JBS<-/,X:KI6AYE(N0R$E M#J^DGK6^B3Y55N@8H>**4.A]JV2]ROF"M=5AC# Q,\O&@M43RZUH2'EE0[YD M[?*ECQYP["G=RB"K?+2,#M]K67"?L+;I4\@K T2^XR=ENW%;KP:%=^].PH;B M4N]!;L"&.[CFS+M90J/%MJ=9"AKS+E:$41<)ID_AF61LK$G9M:;J\%-T9JDY MF_)Q+:]96N%S1NZV7,]OB$WIP[L8^KFFKW>,SW0>>I"LV667>!6"ZE'PW-!$ ME*I7ZN!1G+2=H89!Y2@SPI%XUJQ X\M&]$W845+M"JEH*17Z=NQC%'E?_4 E M/-AE>QK[.=JCN1RHH1TRICR'P(JYA[F4,4# M9BTF:H:*F<(V%ZV>VV['0TIZFS(FR3#GJ,4."?H5O"O?0\P)8#>\'T9()Q,2 M/ YTOM8E0]2 V-XC=M[#3K@C.$2@?SJML@>TA_ M<5+1B?U8IW >7[BA?_^''S]P8V\:>MV0[[A=0;4R?6-S=PLD'7!\(X.U3^KN$Q$ * MFN#L$TKVH4?C@%<8\! M/B#E\RL!C#X3#W5Q #=@__4W/MQ12$26Z?VX#B@+ M)<-HJ'Q3BI,@G 99;@BCDF?I0?)J*A,IV PC,,K/BHR?-E%M4:)/F^&S(;-WXSL/?B!:\X4>OQKQ% 4L8B>0 M@4E?6PICS='Q'*VKB%57-,5%<=9NS#6,L()>9 335WMJ;8\5[WI^?GUSO;Y> MK,C\]I*LULN+__QY>7.YN%_]CBS^Z_/U^B_6^)Y9&;H.P0K_,BA(5T-C^Y!9 M57<%P<+Z],[BY*=,%6^QH]SOSGF%LBJS0K]#8/P2/SG[LN*^.B1J69^,%77M M6P9MS5%P+R%V AK=YN,]]9K.JQ95!8]J^7HA#HQ?#HQE_SIN9-8#\$0V%^![ M02]16A])GVC7U)'];,-G*@1:&6XNT&OW.MPFJEV%N"K1VBIQ#_&L*<65,V9< MBUN@VQ(2AI Q*!W2MCV3\4K8KCV2V=[(DCU1A[V0=1N@EJI $\N>9NXSG_1J M]8'6[-PJ_,-CP*;>686UPD&;S"M\M 3$=M-#3O2>6D+;XZRM$I0 5DY&[1): M8MTM-HUMR>WV:T^4UH9G:\(R-+WRQ45>N&K/7W=_I*&K-EHM!FY_N19!#MO* M*<#1NLEI^9$VDW'Q>W%W!" M\RZAE$U,*4W('[FP/R$W:NQ\%&KGX6>WXT[+#C@[G_E5$7Z7'VC:_B!Q=RFM M.\F\B[,"1"Z+KIF0%!+S-I"2\?HEH 88TMT?!1^2RS%Y26C6@Y0#S\AUDNS1 M6X[V$2,18NRS[[__/N]K[.S3IRB&UR/_ M7Q)&^:<^5X H52O;!^,OT;*^I-I&7 TP*YK]JMMK'RUR5FZ M"2!UD]_7W.1'[B4J3_GP^]D??_CC[(<__E3W&/;-C[-__>D/L]___GON/>S/ M'_[UA]GO?_A>UDC<2OY,#.\;WK\,+9^6PK6-&^ZLC* !'Q5-98K-KQ;"L6SCFM(5O-4\X" MD0 F\4.2XYHZ?DB]_$&SN>ONM_O 2:EW M23>^ZZLV4R:(>$YE+E;5J=JQ4)S*E"U)]W>!2(JG]-Y5<$F&C'W;\'CQ:(:) MZTKKF#K)/GYM727* /%<1+- &OKQ9$,_2?!=T@?P69U MIF[,_@U-$I+F,F1+1K9B'?BO7@ MZ2WM2I?G%YHDSZ3#"^^'+]LW2Y.Z44$MQ>LC\$&!7A<26&5[W7F45< 5CD]\0?@>DOA67ZJ,-7!C&7BP.+GW6X*LF?=OVI_7Q:@69%&8)6I"XW\+ +%C1,&=ZXLZ>@H8LL MC2H'2R_9U<\:6&A:QOPE)H\OD//7OXP.*M3(MAQ@M8FG/M-285IPS*5GK?WD MB^&3*":"@MBJE<_P6742UEO21M8?WKOTHB!PXJ3,_2-75-1E%2]XSHN3!R,% M-9%L\3R5.&J/.\2PP-/D++5[6/:&;HEHE5=UEBKSIL;AF'WN(PXH.V@A1[#+ M;>IBM+F,@+;&7:KL&+N*%2?+1TA3=Q%?+PV:>[0_^-Z*99>CM#SHWH)BC7-T MM(PGL2VJ2&FX)])B6.%A)KLA#3BV1QGN&.J>9-LFJ+<\=FY_&N)H]SY*:(O< M0[WK48#:X1;:'8+,)>RKHS47Q+Y]3D.,]DV.'L4BCVC9WNC@[?"-]@V W$'L MV=;T%\G2#4VM*"J3CK-H4D15A[>DBDXFA+*8K@J,7U/7Y*:UM$X (WM%;R%J M3H%=1\-V3W!A=[GI<;?5"!>SVJ:#WJP6_9;U: MWEQ?SM<+.)UG_Q$WL)=7%I[5%R(+(:&B+0KY%?,77Q6O6W L,$F=,%)3E"'@ MFJ":HX;I935A)2SY M#J2]:36-:! )?1UO$/W\AH@<6S)"WS50N2 J)8CH:3 M5HLA7P0XLLE45L*?Z/:!Q@I1)7!6;*GJ3"OV40((>_-4Y4*[8R)?!"AVRX8^ MO%MYO55KV2TXUEUJ55N\%L&FJZQ::SJXQ7I6WF*UZY:GUJA4P/;>DK'^+I]^3C/'M_K^GF:N M,T6V]?@YLN:UW8^%]-2:6>-WV+HIA_J[>EUI'T-@4VFQ' >/B\3IDBT^: MF#>9ZT?N#V5+[M_U9]WHSMZ,% .0;(3&-;[Z("0?9=RMUX[& M?N0M0NU%]U'5=>ZP/]VQCQR$G*O4B5-[)9TF7AJ>8EMU=&UT7FW'(;7I,>[D M9]%FKF[(?6[+O,1/'+>-W'G&U(/'$&"BBOIHXZ>PH%*(5@7 K),_9+->$I]_ MBU3]7A^^V=:>IH<=)BR=F0TJX@UD];FLXW+Z3..':'Q>)W%"U2;I*HJI_QB* MAT+20Q!Z6[S;YE\L=<)LL7FCL^HGR>DT?0L@IYUYB-]++G:C@I9)[L"G/ M!TD/[5B;T9R4::D7RL!$*+8 B]6^JPBJH( M.?)%)X/=[7"B\4 6[;(0EO^(L/"%A$/LNVE^E9WL65PD"4W3@(J)Q9I$ED(= M/()SG9P?1O]N>M42LB[L&8AM$/8T5&P*>ZUL*KPYN[)8O 0B@MQY/;_^>3^1@) 'X4<&P$L6PC\Z@5KYG,Y_L@5*J;[C.$$0NZLH)-&>V7B@@D6)"7IF&L94@->?_F-_,1QT_^\H#'Q%O!P'>_XL M&A8 6U=!]#4Q[RLA0;'@[KY&%$47B08\=O,(!4/]>D9@OL0PC/+ON+7;76[E10 M;+@OF]):/AXHRO%O< MS]?7MQ_)_&)]_0M_P\6B0ATX:@]=/Z!, >5K9NMH&+@ MN3#51X&HT+C89%U39\#G^YH,Y=19U1H42G& XW M[#']P 5K>DG%?Z_#N>O&>U"-J.MGRJ3^,Q3_,VTJM-^5"%ZHZB=N-0AUHX 2 M7OJPV##SG AYEY/Y%NIG,DK%M0]2TN+/DZ+O80<1_N()SM9XP9"3">SG K,] MNQ\^TRP$6'!]T?@0V;YS8O.C8(M.>SL?Z$KJV+"3H=W/8.TK*"VF[AOP\X5@ M22&P A;Q_H^.^=J%'1D@S@T;-2?-*S'%0H<#0WVBWF*F.C7L(@0'L]Q4O8-!III^@H(BMN)S%0\,"5V76OG)7.P M"\OR! POC^/D788Z\K&N040_ M4K9\Q\YDH[EL#VVR39.1W,(-_']PMUYNV/:%\>^S;?P$U-XJF !E"D6G/<,::-=N70C8E*)N$U.?GE9A6Y*:UK-GFI8N\PT9&7N.IHX6N9*,KIP? M\2F)7X0(?.?!#VP]2XKV89J4.?>AE MY1TWY2JX\V) 3\PF+^PBOMDZ5$?)$B\U9[7S6C4CR?=1>6G3C<%^"FOK>(0J M"IEW%9GSZJ;LZ,,Z=Y>M$7)17X]::52HV.3@1@)W7^X6)"QQ:0,>CUWV%N30 MCR.&$;^0TYI\C_GM$(5BNA XA7M/,O\TQ[;\GM-P]YM&GE6CU ET[CB(R"=0 MVJ^0\YH7+P]P35%+R#IW-1#;P&TU5&QRWU8VN[IQ0=#*VS^#:>'PFN+U[2^+ ME577%+/V7]!1V/W[WH_ISS3PUM$G)]W';.VPHB[\5SWE=L!'?%6EJY"U1U=, MD7'>9.G&7<-".5M0($#B+(W.MAD14E)!3T0=+6_1;B7:D.0IBM,S%@ZV M]ES!84''I=1+KI@%KYR +C==/;(# =2'CCJ*>? 0DB$VUD-)G=AK6FE&@(#2 M") +SN\EG2^;/C!Y#XNHIBD+F4\9(^J):^G:E8-&F: M":R=.O4D[)A 37@TFD8!O.*B,U)0/MM$\1G0MF\Z[2=]=5)U:E(F$+N2]CB% M,K?.0R^/4,O-)R?^E?)7Z3I/L09T[)EIC8763;BM1*R8=PVY-)E^X7 CIP56 M7E*;;!8V>PEP$ 74IV.;/?HP?C$-[&B5(F/KPSO ,0TP"H(6#17-PJ MIG8:5F+;,0.WL&8T9H13F7$'+@C9-^]VEKDZY>X*87> SF6EK;+B.*AX M^/L339\B[[IC4/J[\2%;:?U9<'K%G'=Q:P\\-$ MD_K4RQ\!^_$L7S'=8X46\) MW>&>\G >7[A;?/^''S]PUV ?U!/=1?-)_E+SJGRQC\V]RPW41#]% =/XX]IY MH0F\EWX@]B 4IW>J 14!'C< N='^W&7I++0-9Z.BK.R*WY65GE9E%,F MJZI:8"6_W) *><+I$Q@ ::$^@6J.MIA3V:P?O0+_[[X>7[[<4'NY^L%$?]F M7]SR5_!P@]A1DHL75YM78MU@#XNHJHZ%WA4_RM1,X(4^''57H^*T'* $3 P1 MI0^J#A P9]F[TD1R8WY&"K8. K;@#'D-:,7/<+M8D^O;B_O%?+5@_Q#OCLYO M+\4_%O_U^?J7^0T\2GK"87@,_9]LD!P\YIU>"!LW(HT;57;<[Q>A-D4^BG94 M@6%&%NQ3MHJ[6]Q?+R^G$'^5.G%JD0+.%Q^O;V_AN+M=#9.%2WB*NFAZG1?K MA)XDQ7#I)VX0)?N8MA2T'$\6-V@.H9+#N'D,3;30>3S3TNA)@.ZLT@B^*.UB M(5-:"E.2MZ__Q*5UN/B?B#8GE0^KX(60G M\T7E550V5^3OAK5U*3N*(E[(&$ 1U6AQ!#F40'$TOPT7X!3/HLT9HRFZAY*< M*J2PBST:E/$ O^1GSAC/\NZW^W$ M0:$3Y)'S.F2,;CEW+2L*8VS$AUN["5A[R=4,%>=IURZ\-=])K6"38NHG%0+V MS.='2OKY[NYF\8DM].>#$4=?*8IGPND91$( ML]K]*&5S]2E350HGA<(I;],PG)>L24#0RM"4O+180=GLD:\\$J0*,7/V#U:. MZ 5<0RD>^4V^^-$)LR<#+]BJ,PI\3\R?H7?'=)9;WG*3;9*=8,4^$25D+:O M@6@COO4WI')J[P(.01CG#<'A.&\^:+M87=Q?W\'B"S*NZY\7Y/SSZOIVL5KQ MG,KY?'7-"PON[A98UK3E_0\4-^N&'Z8$W4JCL]%.[,39BFK>;@+64KADJ3OJV"V_-E.3BE\7MYT5VG_=B>;N^ MGT.UWI^OUS^3B\^K]?+3XA[[H$(O8=M<:8YNK6UJYS937!NMLRV.9NCB]HK\ M590)YY?6%.2QTIZ ,V95%0>U% 8%!3HDW'*!=G$.BP'4&&A'_6TL2>M<9HTB M%[XZ$2?7GZPL!V1RKJ U\YK&VTJ[J+9)H!!<]C342INJ8.'L4' MVQEJF-C5_/J>,,/ZO""?%O/5Y_N%I3;5-CNTX-AE5=J(KT6PQJ[:8A?@$(Y4 M221-&:E;5_J]I++17>ZI2]E,\Q"T1EXI).:66-":G;^+7>&M_0BB,S;.J7T/ ?/3_ ZH:*?\ MG7ELF-GZB1*OS-+#2;0;./XV(4\T$"?3SE:\KNRQ..P0QHT/_;WI2W[9KNQ% M$)<+%V>[8_^"PA(&24D*S,*[S()<#5A<96/ ![PX01!]9=0SSF+J^2EA MW^-5)@R@QHZ>ZCU'D??6#@$EUS3PK M?/3AN7%>AFM\-:8C#;SIL9>PU8FS$P&4*;4'A\U*OMOU_/;C-;--,E^M%MBK M,;4<;5L8(TS,.E!CP>J%H:UH2)6BAGQ)2D=S3'$S NFHO'6#_ZBMR2!3WT+'2W!:7-^/N[Z$EC 6[XKH ;;%7"6V+V6ACK +4 M L-IK;*!UPUMK33J)LH(3B#=]T,+79\?(+3&Q'9PG)V]B0CY5EX'B[9W;V>J M>:DX(AYEVVU?5.'EC^$A[81["'"Q_/3IVH8CIY+W#HOK-B3$@V(C<6IGPEH, MG.-? Y:DO?(S)$N7T/W$LM!1H+8D"N&*"@W=3HU$NM&PPHW,A55X53L!;"+CW [=GD+;2T6;+V"W5L8'_HC-CH8)7]O>TP!>\;B(DC3A M+>MY9_G\#8ZV5,N11!'WUH.HH[8%/XHBSDY] ):;31C6RXO_/#N?KQ:7S/X_ MW2UN5Q;H7T\@ Y2;M=0,=S,ZE5[F7$NV8%79(1 M)ISRC*PJKWD4#Q]9-0N.HR$[HT31?,-X=Z3%L*!EB]G.1P..V\2EPQDPLZ(% M6<__&WNA)>&]_=Q7AV*5%;6<]*KA;;&C]K/=O"V0M:<2?:2RQCT63ARR710T M1>>S1IMO:. 17WUI$Z+V=HL*&.<%%CTWS:<_,GCHW2]6*W8Y0U=YLB;ZX UW MBWNR^GE^CUS2QM_"A+?::)S E:'T]39*V]8=;4B(/1B-Q*FU7M1BX'1<-&!) MOJ;]>7ESN;A?_8Y?V%K_Q4;3,E^8=,"WS> ,ERS&R!:9H?FT+W!L.D\[5B+[ M?.S>3WZ%]/!G9J@Q] &&3N-MUW#T.)AMM V$J3?*UB @M<)NY:AY8)OU98"$ M_<4"6C9 +@+]\)9) TH>+:%2=6EUL$$%?.HUERT^@EM.Q[2P:PI8Y(:B HJ M 5QK2R'ZRVBC?ZWH(Z0J[^DNBOF;$2TK;B4XXM*G183:2DM+ J6GN+6Q>Z-R9 %KU2C^:P].9.7_ M[%^K]7S-/[7GZ8FYY_&Z\XJ\%3'-)[ >=/"FL]Y"5R>WSD10IKJ>7#8O?!=T M*CV!JT_%V+DW&4K\TW'H6N/C._8O]]4@*Z!!0QRKAVB7-'%C?Y>W%D^?*#G?)WY($^1G,,^#YZ9]1:XZ;%<:**[;C\GF M'I%^K=EMC9#%[CR0^-"V*4R#5W*=)'OJJ56!7E_O/#[&]#%[>2/KHKZ&&\X& M5?0FN*BU\N;"'53$MR-BU;V;8V?WQ&;;@#@Q5:>WIMHC-M\2@4Y \] K MWCDVE%!WE'T%/]AH=B6#M?_LQZ=L6RIYGF-6/MO!R5;^+LB+]NQEDT'[ M8L%P6JI&AB(8Q-2-V$K['RP2N+EV@HPL^CJ[[#EOY.YJ<,S+"'H1ZA<1Y+!( MEQ!TS$@N(.3@]KE0;U&P'[[/');MKO.V.U=1O'("NJ+N/N8.RD(7,T+FK7RI M8.0FQY-%/.H?2"6U.H C:>(4"0S"M':.* B?;:+X#$B3DC:I$[?/Z2=0D%-3 M4 (*2@K:ECQ%(5IH?J(.G"-YR_ >&(S9/IRGWMI"17^,&!%)6NL^;/@T"B&K[+M/0 @XU0BU2$L2OHP4=O_&?J\;;365<^\+=0XDC0?'G >]H$35]]8@)ES M"V5__^ 118QV%L!PS.^*'M4.'W#&/B)IE$)F*N39JBTP ]&)/S+_$4(.+!] MC*,D(:X3QZ_PD7A$@N,Y+E/'7O2PR <79]CPK5\(K6*#A%%*DOW#WRC;'Z?1 M 8WR78K'K#&\ENWW9%[]D[#HZD;;703=-)ARFH.G3RSTN$Y('KB,^QT#3*-' MRI]R>*"NLT\H*. 5LG$K4J//J>RS"/]+_IPXF GS'^VJ(6R:SZ[!P&3OVVE%55X>:N=J# \TKOK]X@\8"V9NZG_;'HJ-@1A_.ASO%KD.<"^5)&S M@,>QK?61:K.W*O$9X>1)1G]&\A$FCRHF%XZFT%3"]1&)(E(GU\:>+;=BOL2^ M*!9' G+'*%ESQG ;\7,/ZG$%]8PH9D1LB!Y=Q)5'"A,*R%'!G$6M71=DLE9* M:([>(>L_D.AL"Q,^\@'^^T#T M9>& >[PMOBZ/@?=,G-B'Y1"/AI_9^BN9?W5B;]#E1>=1;(@6@RJLR\*CXQ!6 MKD)ZR=#TRF;/63*/8W!/^/>,E,-D"Q,8Z+17)0-I3AW/MLZ+O]UO*W%-'KB( MGR1[KCX6X=B_0IX%C?9IPG9FGGB'M]"^P-@#L[8$O,5F0T%EM.A">>^D]*CB MB3XD;0AE_54ACUO=Z2$'J;X,:_VJ($HJK5B!+G:A1*R T)U7 M?2QH-)^=\2(*EQ\J951MWCL-K1 X%-JGY>'B0Z$,+U-&2-,\0.R8TO@BQ(ZP MD,#[ 9468LL--!$[?X7_?\5"6Q2;AH1.E/##00_!9:&@ QG4,-"93Z7%)^+U MC&I_/+ALQ.C,X+B8]\H3%.V- <=K(ZGX/^PTF%L#.>=1?3/)#H=G>[&#YE25 MGASGK]F7';(@W:CA.WY/!2BR&EU(86P-@X,KY2L MS$AD#/;,(_DZH*R\W$6)>&J8Q08G#Q[EP4G,^>#:>LC:A1[&RP(7,S';QU[32Z=M'(O4CM.OW-*XG3BFFQ MOTJS8G_\M6B!^K'2R&+^XB<'8K? 3F](1LR#!6D!)S4= TX:-E,%(U\ $,-( MQ":ARLMEM'7\P\LQ+;!(1M+&?&$D*L#IC43/28N1"- !S22A[OO'Z/D[WH8J M?A66DOU1&DKVP5\90W6)JE],;P)-MN#W+C^=],<]'+;Q2T*5 J_!8%%"O=@8 M=R$U$),CF]GU0L$V?(%G9B5;53.[7J"863ZLI,7<;O\0^"ZL0:YCRK[SD(UM M$%9'-KF/YPKFX0L\DRO9JIK MLS7DX0K=',VZ75]#)(.=7X%CT^[O@*DN?10!E7!<[ 3*T+(A)TTR+NXIK(JA M,2N-^2D,,]8EFU@>BSMP4'^Y]K<,9+E9L4^3#5Q#R8JV%+H:BCCB^X^#JJ?V M4.0@E'%>E!R0=VN@NCKR]FR[C M%8V??9-C&0P:+V(U,S(=M+BI0BXP5(^[[03;R;S/D 1^570(SM!$*F#30>I M,E"2P9(O AJS=TQ_[H?/;'C4%R&;_:.,UNR/O]ZPE7JP"%,_?97,WE*(Z7U2 MPRBXH^3K2:.P;G(T2=WUT@3LW',-[V6YQXFNNF):\\Y G MG.YJJ&G0E-<-:E9[:/9'3'TAY\C'U]3BE\7MY\6*7-TO/Y&+Y>WZ?GZQ7I$_ M7Z]_)A>?5^OEI\7]:OB%QB))_2W<++J)DL-((/D>9^D@93)?(]2^1%L,2+AH M]O=]RJ]Q\W9Z.08)& K2Q&["=@%# AQ,N_&;*!C=AA_NUM$YA:?+?8_&U)LG^;=K&K/5E\HM!Z.,$V@'5DP> M:@U(N3)@]\Q+P36/8R(/O:HRX;CCA) MY=-R.*1 .ZZR!'4BR$-4%0-D;1XXD1D1@\S(.B+G<&$Y'P@T5;P[61D+,=R. M;%HE1&9;N$DE-FFXE'K)%8LXL&.%UA9,)#]5;(LU\'@IGU8AJAD<)3!*0J:% M&]D)/X:BP1GQ8N=K2)Q'R(FS>/GD)R2@:2HZ+KJ< M@CIRHCVZ7#PO6V2*\K=B%>KI2L2NIY;;Q6U[95E-P9H'EMM8-'Y;N?*$$W(*G7B]-)) M9?<[QAKDA&M#I.H:M#ZD-L)IUHA(1!BQ3@0>VF+C$1@0[6+,/00,Q16IRG% MU"98_Q[)!&5,%B98_7)Z$VR.WOQQ!0RF"0[ I3T[B&-6BM:O]WLOX^U=G1^[ MZ#Z%VNNV$YD'Q_TUB!ZS;.().)EN2R7*$3Z,M6,KR%ONJAU4-.BF/*-MK\,; M,S_J1OQ.7]!B4?#HKZ^J6,=\,Y)\F>6OK7EU84+)WF:AQ[\9_'WO?_L!-"\0]>.S!#7 MAK<6#(23/[.@041^8:&5,^U3 X#&._/P?U0(M';YFL;Q\.6:2/J0KZNYC>;N4SMAX+MA1P*H3&J*BN&$GWIK-*QD8R>%(CC[>$4,' M@^1/"ZV?G'!-M[LH=N+7Z^W.\6,H=A %M'#SAR9E2=YUF#]"F@GB0['M=?A, MDY0_]B7M S/!>'A&/[H2JVXRVF HCC6R- U7%$]_I6Q 4HQ(RB%G634[$:-6 M"F>A B,?>$;*H7GG\'+P,<^7.KCUSS3P4L9(RD-.%GH8M]+,ORD2GH.9B5/U M$CT&BJF;L-2P5T Z2Z.S'(V4>,@KMLG$F>:6A735>=/2M:85"_$>A9E M8L3 M>A2 M8*R"0RLEUC.DZ[L*[_$6@36[/,Q6)WZY.D&J$.XH4@E.:3W;$%Z2?D3S11>PJ: M^W='=#2W[\5GP^QR*L019)CS,ZMFADMB*%'=1#%Q*^0@/'B"8/7&'.QU'ISP M5W'0MD&\6S"P5C(R!.B0#(=4*4$/@>QSQ%@SDBTX8;AW@KI)B!OQC%A'BE%%%!XAY>*)BNWY.<@B%="0B M9T.RG,_F&W1+[\QZ;M;YE(E\=O\4Q;S-3R7?K#I.E8(BGLQK6*\=Q$O@<,[= ME8PTCY\!] Q@JP/R2].L%?_2),$D"L_=$+7=X)KW@0$0IJFL$8)C1<>6@2H1@,% M*(KS:WEI6DL.34IP*\IB> >'#0L$Q>MWO%1;(EVR9FPD\J^TE3###H%GJ&.H MJFK=0])'<8GA!3#R(UM*43ZOUC%UDGW\>ANE-#&L16G%PC-X0X&J-MR"@F*6 M1CPUG[!?D1R-<+S*4@W[=<3A) L!#]=MF.]"KWWW(HJA2@U. *K++ZWS&.+B MN5 GX:J.9(2(XDX=.-/7!\](06)&F%%:XE3'R/?Y_>H]<7-$XH&XV9;G%=G+ M:D(<[GV*K+C(_LTW[+_S((B^PGT@!E,6J%[LXYC-N2K=#3T*HN>.H[":CP\[ M!$XT&$.&/JD2]EEQ!B5&FQ$'QB/%@+PJH%+VS *0&!4[XDRBP^)T(FX_G3C% MD+1*60NCL M*NW409:W$!0<0BE.N9//F21?2C;)(F1[^YC7:B!OZZL/+H .EAM]YECQ:W]."\&79@I:;4D6WE,7> MM?.BT/:(XR'?"!U3B8T;H6,,AG\(749*>.XF?S!\2W@2F\SF[(54;*U/ZQ&(G 4*T;$/(E9P0[LSR.'OM5 MV?2^WM"R:ZURGU\-@Y\&+G)X<"[LAX\!S;^!=O+P6'RY#_<:"]J0;% MN5 QG3KSFQCCCXAVA6,JT60+@"PDN8QV_2XJW#&K'021+3]\A?M*;%4%H>V9 MAS;^NEWV*@K#J7P3UYISJ)N$_#7S2$L,_$B1J[ZZ2:"H PXKL@!5;]]3Q8O_,V7 M1%2=^UO!CKB[)6Z3)N0KD[#X/O_0B4$G.Z;SXCF\C'Y233%MBA33+D\Q<:G? M,6,*@"MGMXLCQWWZ%NG6#9J]FJ7Z#N;9?* 9*9C@OYA@H[S!?,G-!4;G%@46 M&U+^DR/>^[$D-,S(9>;I)FJQ:Y)FL+)F56:")_SDIHT_*K;8ZU8S,& &SX*R\M>FX8T 0/:D&]H3I:HVYJ5&X+]YJ?EYA0,F(]/["/& MS#^G9N2IN=U@IYJ;.2^$ MIY@V)0XZVZ@&.^V)1R_5/^>@4YN#.OZ>(TQ'HJZN.#7(F+#]Z& 4[>JF*3L. M$#J*+;(Q0O!^QP='#_@6IBN5&L>9KPY'>R,3EERL?\Y8)SMC&?Z@0TU9Y^64 M-2^G+)%,SR^FG YI>3/"-N;JNW ^ MP7+:[OS^41<3IL;Z% M*Z4GOKZM%<9L_#A)>5%$Y[LCI[5,[F<0Q\]!HO]*(Z5S,K.9NDJ>ABQY&].B97JF[\U]<\6(Q.LZT>R MTXY-O=YT:Y$Q0T&FO6Q!CYS!ZB'H$1U%CASMC'H,=T"CEVN#D.U!/DR%GW-/J!C!<)ZO.N=?7*UT5\ M$J\+W$9AM.-O%H6/BC2\'@7O>,E$E.JID0X>Y3"HG2')>WC%]")P9J2*A7Q@ MTT.@A1.'[-ND7A6!["1%=)@G"4WA9? ;WWGP QY*/F6S^#*\A_ "4R,#8*+& M^9^\U\@:HHU"3P/2QW._P954]=7!B*,X]L#<:R>:@@B?F*MDR!=. _DEND(7 MYZ_%/W_V65"(W:?7&_K,#/9%V6[*%-D"+S 23VKB6DQ<^S5@36.KX:U5VU"]:V/#Y LV91+.7+ MU/;L6@-7E_I%!L1L':!%M\@A41Q"QTHS"@,PV7)HL@%P9/L? MB_M)S/WS:AUSMWTMCX2U)J]#P#/[=C&JIJ^&1C'_-G8:1O1Y17*,2M$"^2*0 ML-_%[B[.^]7[4J P2H^\;6;%*>>-']+KE&Y;-YS#C&'!\FQ(90U]XED,<+*G MG@<2:$\^Q3 \2U\9B.0C046!YG"4#T>^P("$CX@=4"937U&KZ)0*#"H*W%84 M&-<4&%85^ #XD:P"R=Y8FJ _RS^OO>98+6CGTL_<8,(9%&HO ,^7N3I+&0U MJA@CHT2,CMPUS!D0N6'R?U1(5*L824D&V<,'$9>6F,BM+WCT,'#L]HZLLZRAU F3[7[E/U-L'=+F9NRYTBDIN84U_ M$SDA3-Y7HOX\?&03-F4>^Q!074E@;VIXOG.D JJ>U9,4BM\=Q6O#DG-JL![+ MZ4%-;PKE^9PFG^ *JJ0DVUK?-XWOGHX^IID6JTJ 13SP7#+9MF$V1T><-#N* M6)M##7%QIM1.S#5GV*[V:L_F\UC)+RZ6GV_7*S*_O22WR_5B1>X7%XOK7^;G M-XL1;IKZR6Z?4N_<#P)^8P?^ 7Q>1&$:.VY:8?W0T7K@(]T%[2-D<;FS"S+> M;B.!DRLI4P[AW]TD:;5G4('L0G[CY#P)R,BD?8X>Q M^+!/(9'-2/M,H9QE8.?!";A R1.E*;]UB77%<@#[RFD0083I3_R3VTU!IQ+6 ML0[J!A>X\ YA'LC+*KA,#%9U%<67T?XAW>R#?-(J9;H0-X%5DUPW&H@+K#[" MUE9970C@++6Z\U3)LEFY\0.+0)4;4\!BF)H6EX:5I5#DPJX%3<69&+ /]E&6GM?P0#/+I.2"M5F7#4D M:\Q,PI61PO24JW-X$KK25M@<7)*K8RGV<0 ME8!HV<(6CIJ'Q$^4K=2<]K;?^XB-F"99TO Z M5%NO$A+'=EL8SRU7 89FMUI^I%:;811Y78:#9+$=>;_7>-8T-KSS1^B%KJ>ON+>1UZ=*,5U5IO M.W_]Y/PMBB\"AZWL-!?2NU"PTO=4@AJZX"&Z;9XHYZ^K0SZ\$DZ&<#I6; LU M,I<2WSI;_2:Q,Q4K;5@GL*$=RTC89LMJ'CO:\ZQFS4#,DOOQZ]CQ*/"CO]W8 M!,,S2Q7+5;L[A$$Q+#D3S34P@)&0P2'?CNEW>3O+!^V"]]25PU-F]&.;(G@0WA'MZDEHL]HW]^WOR+LXQ[-U;2N2\I2_I^BL-GNFG*$R?>NP\C8B>2K!0J:-_G#BD M> (A0LYR]^5UA3+)2,.JX"4E@CH1Y$\J+ACJAGGEOYU2&."/'WZ-!E%10>M4 MG/Y ^/Z^GA$Z 1>O<3J09XNG0;]&)^7/>D4PK_K#R;DQ/$J0_@Q43\Z=-:I@SO73\/Q@#*""_JW$$*;3[ M'$?SW#R,X2EEWO&GZIQPB]P1Z33ZX@9[W@%H(R[7.X'XBOHPB[ZL?!#,2 M."[O-+1[>DU\2*XE^P=HBY2W%Q+5Y"2 @@>:I^CR1D=N]!CZ_X#>2, S&WX? MI8/2"/817''GK8S$3?CJM^]9- $N*30V8@3\+6?."<,]@]BQ#R(O(5^? M:%A\GW_HQ##^CLG.1N<=DW+ZC/E4-#QBVBEEWT79#5/H+D3>L=\MX.V1=KLX M;[G5*D1U1:4$1EDTM7#3?,$1[@2Q())U'LE1[.AQ4!=#=UN>K)K&0>_H F2\94N;,60,? Z3'77]C4\]Z7JE!1;) M*-J8+PQ#!3B]<>@Y41K(C%0P1NR7=$-32!'DDR7;ZOLQ78:?G-AZ#A-5&I% C K MHJQO+>6#P&MS;!CRXX<9X>$$)X-WE ($='(HRO NE0U4\O4'I1.I07'8IH#YBE1V_YW',ON![%>0K,C(Y/CDO\"S*>13'_!CS MPMFQ;]+7#JI0D[#+F=I$;?,M%;XUKJ9GT-3SH)4/IT,*0B2G9*$C=A2ZE,EY M=OR O^8B'O39%![K6..QE_0AA5><8KX.XP]:K]@BRO&6X2]LPPK6M_0&-X>BW4B(GAB+E3.. BW9J,O7E(:)E#0L0@98*SK MJ7 415O\M9@0 M/R-$G(?HF?)7%+?9NO2A6,.Y&8;*.8YJ\R MTA<_@>'(@Q/^RM]Q#.G7[ _^K"0DI';PL)A'2;)WGPJF/,;I=NNGO Q3/ :( ME9T=Z==0;7OV#&,JIR)OPPZ0M_CU9/URGT*M,Y1)BXIJU<:J M%0UQ*V\H4FW[WH*#LV4W8JKIB65&/'/&"N8L:[Z"O3$_6K0L;$]$SML MQT"7#X'_*-KDGK_>.ND^IIKRZ78TO-!O*E(U]+?AH(1^,Z::-B70V,*T@C'@XK84%NMJMH89U4$HVRH]YO C/.#&NXFQ1>-Y%'K4NZ,QKR]A/T+% MAB53O"$>TN-N780JGGHS0<)[^,VCSN*/ES MT00RJ6!70S5BON48\3Z'"?L^X96W^M]N^/ ![":53>M%]$QC]M]E^D3C>S_Y M518[3)!P H>Y.'G4:,= "QFFK$GSR<[C8TP?X5#1*1H*@'$EQ,W(D CHD!@( M07HWZRGPE=< I*\6Q(S>"N"(U601R5$)QR4<&3%<])9LV<@2'?7#VK>%RHI: M%B^[*&&K[@X+_ :F71LIA6!M>ZD#-&NV4U*^3'=4>9E5C@VW3SP_<<&>J8>< MT1U"VM+%BJ,[FN$./X?_.7/L.]Y Y2J*+R)^IN["^'#H$SMN*IO'31%QYO)N M8N7SN1D6VIS>A3W=/@ .<=5[@2+4\R/]OQ.E%_ & M4LSVJ@FAJ?O^?=8UAA\K1]M=0/DH<%I1X1=I67"4#G-D(K!Y7Z4J/BD(("X/ MAI%0-%3"G>)73TY,SZ%N )X-IWRG$X65PO#SUQ+DSGF%C^;,?+WEC@?>RGKG M=J_)G !2'E-H8Y4Z<6JM/L[I MHQ^&)BHYB2C^$2:DY#H4\YGNY<)11CK=2*Y1W)"Q7#+,249SI1RCQG,Q*JRG MQ;AVO.$XL2YS/6BV[R<1JMAB>T-]./ M9!])P=*13C=4:10W9*B2#'.2H4HI MQZBAJC)J&:]&"E0_"26&_!1BU*5G1UV6>CCU8+5XH;'K)W!E9M3=L62[8X'WY2?58U\%I!ZA?: )/$(=>_@3D.H*/ MILKJF0]_NN&LJXJ'C'*F8Y]D\.LFG"(FGAO&Q'-M3!2L\!<4%I6'&N!CA'3B MZ%O/(31?:BV*:Z];/+-/3SNH5O3P9^H_/H&NV"3F/-)LWJ!WL>^J2B$5W6DJ&VYX.Z>SH>7K-:4E_4^A4">VXS<) MHZN_0SP^C:.M-HWE\J'&WHY,G'#X[:7N02-P)PY.,PCW$''<.%PP]!L*Q4/\ M"!VB*A\T*G?DX33CYN>8MKKDS07O(42VI!+EQ)?5&#]4AUG ZMJ6AW:]/G0^82TZ+.7W MG_=.L*;Q]@?=+SPU)\CA'T?QC9@_+1MX@1Y#3L2ZF+(-6X4U KS9$,RM^#$Z MZ(R\^PMUXN3;FM9/.WBK]T J/:J>[T+AY'2#]Q&*'S)X]V#C)(-W;SD1TRUO M-G@/]V/T"MYVI6..T&/G'096D?J"VOT3M4S: MY]FD3223-A$,5I[*30AG,9O,:YW.&S,,YY, HP0X)9Q5Q.:FMOY,9HI3W-(Z MD8E8O5G&FXB[\?2&)N(^/\:H$W$7AM[61-Q=("?J?M$/%02=MB)V#BGD$PZ%P_*UHE-QR/\)$?/R /R='J3\N#"JZ-) M;:8\.Y@IX6D+,0YH5:648M$BI'S5H$P M\8G1;6ET-:U>A4[.IXNL3!;V5IC:-1&]?E1Z2\M T=N\UT4W)QNE?^>RI\O)<'+9[X MII9QXA<+;9@$)W[2<+J8;4_WV*-W7EC[#^/13W?ST5'!PZ=;+(Z^4\DV25+F M=&(MFMK['E$BAUCWB7K[@&:)*=U,I>S:N(8B)M5O,AQ]Q# YM))J@7 HXCBA M;ECNF\$LHU_D@X_JK$J^\+'^#W:@>EM*FR10W;-@&?M0Q\$K-S^'?IK4HSA!)&4=& M)8CD"S!*,DY/-@8/_KN B^Z^!O-< :/ 6/$EMM M*5M!U+[F46+RS@_%A>SD6WL*4FS15:.\Q$A=)SXCU<^()_^9#H=_B_.17,73 M3$?UL=_8;"03#G$R.JPR.=TW?H;1?%8&\EN(HN(T%BV*'@[_%J.H7,731-'Z MV&\LBLJ$0XRBV=WKL:-HQRL\>)J_3I+];R.(%@]IHL51"0=O,90J%3U--&T, M_\8"JD(^Q)A:/\>(+**%.QQ5NY[,QR MSWYN^_9QW9A[BYNX/C_/I$471IR]L>U;=]'Q2S7VO)6SU9/$2?QP18V'G1/% M8KL+HE=**P_*:9N2:.#QPFFK$-4(IP0>+>@8Y!U:F&J& ]Z Y(Y]=MQ-5>F> MG]GF)HJWD*?F+B-KEB(UDJ[(.+OF[N+EVUIS3+1]9U<6)5UN=HPO*M)WG!2? M9M@V+G5\?H211O!7/DHVU\1E1D+:]AVMA#M#^8;WO843@Y(3Q@&? MLX[RQ6.(X?CF\>+GOMJ?$IKO'LMR/U^FV:CP M6I2W_R)?!&6LHK1Q]='=)(:/B/(3 >?#K00(MZO7F M51?N(/.L#GG%D,9NCA3IAM2-1.0SG,.#$&$U=D59_K+SD6R-(P<)]5XX>'HI-U%M-U&(9?E MPMGYJ1/P=5_"Y*3Q,_6NHOAJ#UE+.**"4*?(.O6@@Y?DZRUT-?G7F0C*241/ M+AMF+.AD=NL$W!B9';/PQ _JQW\5K#5U/Y2D95]#<8L2_N56I8\S@F;"VWU& M6W^,<_[L^ $L<9BN^*G$T*NTSCJ-A!GC]++1N;08 MF[LT'_U4SR'[*;4UYCDU#3GXO:2+4RX6BGV7RO55W+S@JDG6$9L4JM]?1$EZ M&Z5_H>D]=:/'T/\'55T3'W$\"PX[QU*B]+!TZ,%0HM[(TC3SJ-EX)!M0^9Q) MY3Z;B'?)K!XG85 &DY)7FI)R7.2 -[4^/X=Q 0*AKM2/RXB\T=@FBA397)!] M!' ?IOY!%$R\P2BH5?#:1?DU_=$7 M^#9=7])[J/SHK\%B\T=OV$%I>SN!:OPS3VP\1WQWSZVFSH$]Q?]U#M MD(]%O1KZM:)2$O*DG4 M0Y\% >^A73,/^GD!TJIUS:CVY&,.B!SR1E5C(^:-,AI>T!M1G"G6?C"XE5%O M2KU*PAXM:;R)L+=XV?DQ!VYOB3X,_1,,:BHE#1+##HF?5LB2 MOQDO&AFJ[)K93L8L0:4P9BBA.6>QPZLBK9H^GB%94.Q3K;36WX6$MA)\-1?8P MEJ**4_B*1?UJ1E,7M/O)ZD66105-3I_P 507G+)!B!B% "74\#JZGH:V)6MJ MA2_]9]^CH9<(M;679#80K*C^58BA*/,]@,:NYY6RHRK<%6Y8H,PRQ[6G9M=0 M&B=Y(EX.2CS*5C\>V3F^1Z+\V1/DXHW-AKJPE&)KJFA+U\[+O9-2.!\-73_P MQ<(MO:+,_9U@Q6:[/>/AM0:L.L4=@C)BF<5PBJG53AQ/%J<@8BB^FU4..64B MH D#)P!/ZM1GT)DO&X 4(QPB\9(&V!V@-U0=3V.Y$MPHWD4Q:,H72DB9$OC? M[QQ^@QGT@-QEIY2G)GCQ\4)45IS3D&[\M%^D&7@,O)@SBK*JT6?0 5#BT @2 M](Y(A@%IOHWV%L2C*30'Z9X]; ^@8,H5C]X5D2DKHK(R'H&4=!YZ-VS0H(!1 M[A0Z4[$NIK0);! U5"1LB@MZ'H]8BW#"Q D]PDE7X*%YX!0NW[I;&48E0M#2 MC4&\D*:0)-ADL8\[-]?<\"G6:N$[8_,F2I(L0DF2(SI@G)1H._MYJE,-B9;" M;&-)FD-RN.F#>>RK=Q; 1@)&@#P("DAIQLXB?=8)@?:0ZX2B]._G9K#_N8U" MCWI[!O80T&P!LGAQ:0('TNX>L&LG2-RV)+H8<2RD;G!C*Z]H%C?60'B]Y,:5 MJ.%6\R+@Q91MQ^6+7O(N\[-OH6Z8\J$ Y5T _X VQ-_JULP5=#=?8C^\$F>W M"UXAY>XQ^"3UW6)*3HKMR&%J 'I8QA3^S+YY!V'@6P*VQXB'J1_N@62THW&1 M=TEC_V&?\I, AA]6M5>P"'=(,L%HKL3:536LGGD3VX/Y&K(V*LF&A=-\KL1B MY(.K/JAK2Q2%ZHP*9]ZZ%+*QQ;2TVO3/?NAMG*"O\HRIVSLW=510E]G(D+35 M\T\G&30S#ARU>CX;,*;0Q^^!IE\I#0TG(MB\'C'G\+&-YYVD^\23-":>C?,< MQ?P/]PE*B?@E'+Z2=;ZRZ10.J!_W08;,_NW$90UV5CE5C1TP[Z;$C2GGSR%? M,[5;/%$=9SCF4U,Q3G;RFC4ZJ]6GY8.A[H+&5]I*93U?V^3'3&A>13'U'\.: M5BZS2)'Z3L><43LUZQ*!9^DEX-L?Q_K9/4OZ>'S^DQW7SI4CDA(]P-'GAQ/'K M)HI%LR;(X2A4U8J%Y\2& E5]M@4%Q46->&K:7HY% (W4\,@7CJE^"0C9WF[\ MD%ZG=*LJYS+"M-'N&H*9V5Z!9IG]'?#5T08!FW!TK">IAI20%V>X55Q<[[JD M;*J)X>WPHF)L'GKBV5@^KU'_&8+ Q3Z&C(A",YVIX'E=3X&K'MB1!(HW]N*Q M8;&6"^<)3M_6J M#-^Z/95:2(/-5!/9IEV4BKLCMD_PA: Y(SE12_)_QRHAOYH19V \''GTF0;1 MCG?/2 =*B+06+K.!LK/TQ _AO#EAN[9D'\!$#S:=<\@8K/#'L 1W+<6?1U/' M+XT>2$&R6NHC25M1?#V(#)HL:TX4RBD:5=OYR/]"BC%%S8:!7UE0Y3V.[@Z* MK[/"Z^0Z&^$^'^&*C9"'*;:TN"Q'*,(88B7?^'JZE)K%\-&V,E=L]J$'R[B[ MF,)%>_5EK@YX.!&RDU!Y[#-"0HMJ';C3QZMRQ:7HGN$_7V 5UNKOGK"N#* M0H[[K*14.&%R_GK!=A./4?RJR^7W)X?8"?%(%=0:'_:DA=/G\"AF)>:?$\D# MEA6'!#VD;"39CU?X>;+A!3,O6'Y-]8<38P@\RH* MG)@LQ"OS=W'T-^J.D5"!7EHESQ?1=NN+HV[)O*V!Q5G*MS*?+]^5@&A+]A:. M-,MT%[J?^:4WN"4NTJJ\JRR\?UO%GRL8B"OOKE+LGFCY%7BF::L950B/6(^L%J-4=RT%QZHMUO#2/%3@T$> 5O\#NR]A-BHH_ M.Z[+@]6#$\"KZ"/,6BP:QJG_#QY3H5HOQU!>%[9?#FEQ\3OO:B8NVURV@C3:[#JJ$F?!9X MKNO"=UMXCC\OCZ6 F 90^ TW8%?KBXH)V+*57C@Q+"^2.QKG5RQ]EVT@>+O< MB\!)M!6?/>C8L&GN*+1\IVQ(!'E[W(G+YOXPH\,=.:,$75K%S>(9X=1F<+=< M$"2<(KRPXP9[?H%[_342'^9+#RM225*MM"6+VI 05[!&XM06LEH,G/6L 4O- M9>U 1FE/EJ>7&FX7:W)]>['\M"!WBWNR^GE^OT O8XOY>S'\:>=M=H$_F5?: M0JRCYFM^Y3LSFOZ=1Q-&+7P;2"T'%7%'4L4JE1N$;=GY74XXCP'9ZR'S@[8D MEWX@&A.)LCN8YZ2/-57&Q"^M&T=I0@.\M9EX(<2QH'2]7,C,P]3WLE]K1=U] M[*<^318O$-.I!\4Z%[S53;Z$/PBC9JO880:Q88D[I+KDZ]\A1D!>' \G@G;E M7!V&E..0?"!1DU<92K[L,PW,R]# M^9D]NX$)-'96J,P52R4Q^T/2\MD)\,^7CE2!MFO.0+1/-M2H.^P,0O@4@XR^ M8? P$<::Y@:3Z:H:6D8()TF<5D()^ZL,(^P/\:CM/=WMH0@^H7=Q]!@[6]F6 MH!5Z>E2:K:K M+MF$0G5)%3N]7?)'2V9)8\%*KJUS26,9_NO'T5W2<):4 6*ZI,DLV81"=LF! M9\D?+9DEC04KN;;0)4UGR7\=QB4'S$O>*(Y(C3!LRD\V!-'G*&]0SB:-^>F0 MJ[Q!/S\\5JJX0,/N79DYYYWS"@G@2R>EZ^B+_&6L,C9X16WTXL7U$VB.E/6F@K/, M/$+@? W:@P3: K4WKZJ+H_YVY[C%PX7/@%!6BO+'^-@XS!O%$X;YL- ?)ZNY MAP=FV_P]*#HC?9$F9]%,7U/UD^,51KP M,EO@>@\J^/I$PY))XD54B%/T;RL$$N,BK?R'LQA.J;(N\BHW+P0QWA]+D"." MWHQPBJ@=HX;3P$6UD*KB#LBUU+"RNXM]]S"4RP 0:Y@;;-;JCXMO<6J'#X97 M+)\Y!':[&#-6=UI6IS/,!!9+5Q%T[_ZSGSX]10&X'OM _O*G3NC.I)"-O:?H M#;?H2 ?/@7HQ*K??LW/519U9?N>'#P%K!WCF'F:>RIAD^1#XC_KGR"=TUP$5 MDQ#>H!!DAB77UXK,\%G"G;_Y-.X(6PW-7:0YFY*=1Q&E\J+"Y4;PG_]L#764 M/YEL$A]S-*2MR_@*++8XXPV%MQ4:6Z9FY:N@*J96ODL2#LFW VE$$IJF 26/ MC(V4TM\E#0>-BA&XK_*+>-GV):G<3LQ3!$XI$-;F87(=MP;__$?@XU8N=RPW MIS$O8*JU9EXC/,":[7?YAFO%G0$&8MS#!\L=\+=XH3'LNHI774I=S/F]5(FZ M!J*+].SKD$HI7HP=@BC>8[/#<=_LF+"'0T&>SZIE7PZ#M/@PXF,1F@_&--:;MR/J+*=-."VVOB[(\WOS7!%B!+*H:4H\)"7BKPC9<_W= M\O%#ZR1ZRK*C'8RI$GYMN'Y_ 3$K3&/NH?=^\JON&KT*&&]WK6>_NG^60Z+L MD'6L2#*-%6 "T(/JJ$[!_PKG,4MMJX M&1K6"S3F(I4/T+3C(+X_8\J<:07>CL9IUEV9S=%^09^XE0&PO>8(L4M44L4M M_,B&8KT1Q1MAXTH#"C>9]Z'OQ(T;>Q[0U7G3$1]J(]A&RV'!V0<;; M6';GLKG(/Z1!ZD0*,\3:"$XIHV6[E//7-1M.1FA"3 M7SY2L:"VA-%61RV__JVSIJ@%%L<66IG/34().+EEM'"B,9#1NN/4 MF%F&5)GJ4 'BY#3T;.?)"SD46I9"QT[CM^? Q,TM( HI4MZA!]>%W3+PD4UV M_34R,]D*H 4FVV!;:K(%E!TF>\!.F\FF7R,;3-:,Z\)D&?C8)LL #>-L#=0& MLVVR+C?<$LX2TSUDJ-5X <$*\S7DO#1@0!C9A*^8K&867(6TP(";C$OMMP2S MPWP/^6FSW@V#M\%X#?DN;!?@QS9=_]DP^%8A;3#=!N-RTRW +#'= WY:39?! M6V&Z9GR7ILO@+3O?.'\]IZ'[M'7B7[L=G1V@6732H1"IY1"MAF/'F8>4*9.# MCP+-SC.U@KUN!VL--)ML3BZ2WN;J.);8G(RICC9GQ8G;R@EH-@R$_,B+X>C&>7^L]0/JVU$34XXD,P M+2+4WG91P.(\UZ)EIGFW,@,G)3QV&>-PDB![09+0-%E'J1/HS;\)AVCW*J9K M!G\(A&/I_WZ1 L6J0UQ- NSVY07\UK8\?H4M - M>DO*_N)(*R!LJSF]HS%\X#S2#Z:"UU L<@Z)*%KWJ,#;X2 -A@Q<9$9*+/1W MV7I(5$+ 9=QM+4N6$.CX0A_U[U?W3IB*N]0'E0JR"_HJ0)QTJ9[M/%LJAT)+ MENK8T5QR/[ 'I(QI'^:7&U)/G6+>&N^I?;>5]8D?4U^)6'!/=U$,[2RORUMQ MYZ_9EV8OIG>@9,.SZ)T%E[]];DP&^8'SCGQJ7S'/P$E!C%2HSUQS (!J,C-F:@50!< RBR8'& $:KZVW<]$R.O=K<0L"2N\U&8BHO M-VNQ[;G=;,!F^]5?WCJA>O<7N2_"6%).=\.YY;8%]#2( M\3E[8*1,%5_T"*@>(4!1Y*63R4.J2!9 MXR*]A8(>_$[X6A,*^X0SWD7,@^DM]./B$ND;"*CA,<\V6X2H'VPJ@)%.-;7< M2-8=&?R,,(RS(@W9YAA3IHUD*=B;EHH2,U3T)).1:)+EA]/-A9J"BUHX/'\J56(JA,I@5$\IX4;S0EQA\7R- [25912 M@&SU8\5\LWC9T=#S(9,W]]A_F8>NHYLH?+SQGZDG"C+U$<*, OKLTT50R21D M@HXY%YGSIPK7,U*A,2,Y%6C\"W3.."%1<8OM>L?+?!='T-OX=49V[/.4/S! M_[[W=^*YH(P:^G[\F7$3Q:_WSM=/;-D*C7Q5SJB Q=Q_:YBO[[LE@$C[;24G MDBUI!CLC#)H4X#/R,8X2; ?I(@FPO\UAB)]C8K> I/ X'_?PA%[LXYAQI1!6 M 8O9\%'#?+W/HP00J;VCDA-)[.2P) .>D0P;[B$ %,'*-]]1C*[*_46@PFZ0*PV\#QBF8:6<_+XY10Z(5PK2QU$RA.G'\"GO89WC< MG3@)?Q_N"1YV8W N)@$%>T?G]A_G0P25M\[ MYY5?586G)G>"GX2XP-%[\CE[<8X94< ^YP.Z@D_"4TQLFY+Q$?C.@Q^PU3M- MR#N/L0BOAOHAM/LCK]2)X9Y']A& AY"6"DA4[,W=5YJ7TG(9TXZO"E"D2ZDUX W$. M[L-K,+!NQ;>RI+2M'(OD:-B>,HA4X[Y2GHUR0QTF0AEE6^=J)0+J?-TBQL&< MK8#&GK>U;"'-W0'P5)V&?\/3=[??)W=CCD4J:-C!J;=$-X>V8,,^.Q.D+8*9 M(F'OLMO$:6ZR___ATC& ?6S\3L+5Q8;EE\&34RCW%;K#D?D^0)8=%TP$2("N M0;8# %!+ P04 " "U@R59RO*A:4), [0 4 % &%G>"TR,#(T,#&UL[7U;<^,XDN[[1IS_H.WS,+,16UVV;+G*'3NS(]3Y_^&@YQIWFPBV/WPK'Z/UXFOQC%HSGV3[W;SX//_8O^=>_K3Y>7/UW> M]N9/2;,G.+&U6='.,NT_?D+_>8%?ZT'Z;.^G#\_\RP^OOO_VT^?/W[]___'[ MU8^.NX'=+RX__^/I<:F_@JWVR;0]7[-U\$,/MO_)"W_XZ.B:'S(GU?WCQ;62 M :X^[[^%;8'^]2EI]@G]Z--E_]/5Y8\?GO%#-$6"\7](B$$_*"+G\O;V]G/X MVZ1IKF7%R/"W9DG[/8/^^A^]7L1HU[' JQ[X6=_\G=OX"\_>.;VS4*#AC][ M=<'Z+S]HFX]/2%H77R*R_^]]C*3DSZ%MC&W?]'<3>^VXVY#I/_30\,^+269. MFKO1;-/6?]2=[6?4X#/96)\9S'KI0YRB3XPWVPG.\<5"LU- N:[DU/MQPO<,$] M\'37?$,+T6Q]%WBF#3P/+E-P1S3A=^H.SI6L!WH$= ._!=;:0 MJ;ZKZ;[W*[0)1H'G.UN($7IR2,9D2P42._I_A.=WS4)8@.R;V._ \T-DT!-! M,"1;&AXTT_U%LP+P!#3T[YKSQ@S#=JY#77<"..X"Z !RYP5UI9UHT1AL9SF! M.F-O3#CRT/,HMK^R$1C+W+3AS@-M@:'KP@_5EGGQ,(QUS-ENS=K:E.[,=EZ/ M8*-9:)F!],.CCPEJ3*]H#+:S#'?=\/@$6?$&][":6P5N'-:: S\-5MI''69F M.K.=UQ3XT>ASX"Y?H:5&/[N"(3A(NI8-5SX&8VV.MV((>AV@+1K!J(YB8\9A MS%.P06O' KPY+M+1&AS-C\NTSI&XSM#";-XY-,;K M+;VU/M*V#;Q"Y@D72S@9N65[N"Y!Q .W8!O7I:%T,+X6:-TIX\9IPT:I.^?R MT;C9*_59G!N"L^U2=Z;8@=JP$&HO'*6C\;46:B,8,XX@RZ$V&;0?:'MWA6VU MS<:%9[#("DAZW -?,RTNVV[E)]OF0?+3%7"W4$9H5AS)+_N:*,JCG0U:$X^F M]F):IF]R10#19]OFQ2^::R(E1.YM$Q[^>..@_'MM4[\ 6\U$-V//H;'@H9MB MN,>%ZQ/<-68OEAGI*T]+)1VZ9HE:(DX#.X3O\+-*W!\==P@9+ MH =NLX6.Q3=;YD)R_3VS6Y%[^>=:.*?N;:Z)[?EN$-U4V@LD!Q=.+'1TU":_ M^1=YWPS5)JUD*+ZG]*%AF&B%1_S;&\>UR: ;G2]EZ"3NV-%5^?'OF!%(]!&^ M=$(%,'WP:+X#X_"KA\!'J-JBP]R_0ZZCL#$C: !15M]MX5:Q_@I3.AJW.\:4 MS77GV 9:U+\%&IR!#YILE[0?X$;?KQIB9[.]OW2T-GR#RV"[U=S=;#W4??/= M]'?/MH%\/-LWS=XMPSZST+4_M[0&5CO3C[?*E]$K4IF)/0VV+\"=K:>._0NT M08 1S,366JGS#6Z^_/U?QQ]H*G!DW8%;D64VM/#J> M-X+K^.Y%:X!BJL&YT;4 'M#@&@(WU7OP#BSG#6U3\%0H-O&F?\*61BX*!NBH8. Q3<%<6&HZVX MC-@Z:($%N _6H!]-S8-S"U/ /*#_N''>/P/=")/NT%]"[H2,!J"28I8FB?@PP?P1&CL?VKZZ"NWMX/^Q<7% M[47O4R\9+/U7S39ZT@!6.0]CM,_4<"R%B #.""/S+ 2+P'_MIK."(1[,\_O5O-U=?;RXOX7^_ MW%SW;P:7MY='$TQ#8>AF)PO-NF1\^-<<.K))C7&+SV]AYM8G_=6T]C)?N\Z6 MAH7Q)!Q"@AP78OXO/\"_!1Z,Q8@]V\N',?;C#@K!E MBT+\>Z"Y\,/6+MIR2N1YU%(IT9+0%DNYGY-R:[*"EJ3I0.*,>[ACE$@JTTXI M.553%DOIJHNZ"+=-N'^B"5 L)B$=UT:8E,N* [ M+EP1(I<\.C>-4&R NQLY!E[6I;T4$CT]G3$2OHA2UI7V,3$@K>;:C,JS5"RH MF/8*R9"&PEAZ7T5);V@8+LK2BOZ YWAPB95<05N%I$9*72RQ6\$2&\&_SMR5 M\]VNDM>AI7K2JJ M.=1?"!96N)#/W+GKO)M14:M2B1TU5T]L) 0FLLM[9-J5 MW=SQ?,WZ?^9;J7U2U%@]N563ETA-@(<%K05#%V@8.:5_K81D*@E*9)'WHW"7 M!2K59\U?'1M_O#YNHH1,B(A*Y"+ [1&G#.PN^R\K=(=2()?C)ED2OJ(;E^[) MA8BH1"X"_![Q9=MRMWUQK *A9'ZOA$2J*4K$D?=QM*8FXP\]#!7$N*&*FBDA M'&+"$AD)\S[$(0;[6 MD608>UDPK;JZ$S*@)3&0GS/\R"]@WZY MU2PK*=^$%6VFE4*BK:8K$:TPQ\1X"]P-7-N_NBMAT.F3]Q(E @8]J[!MA MC4&<05G222'I49.92#/OXY!^_QL!%&EN36P#?/P-X!7UJ)U*TB:@+!%PWEDB ML8 3ECR8GJY9_P2:^P!_4F3D8%HJ(60:VA(Q=RK0)#XY'>C#AUOBFBHA:"KB M$DGG73D22SH+Y2BRE$RE4VV5D#4==8FP\[X?B84]A/09(8V65F2197ZOA%"K M*4H$F7<$-13D_WS.,>D1_H!%_D^=YY72PBG-!KJ\0-E ^T'@WT>SZ?UXNAS? MH[\M9X^3^^$*_F.Y@G\\C:>K96_VT!L/%]/)]-N2/CDH ^*UYKV$G V\3QM- M>XL3M"S?2WYR@'3\@]^B#-/]C#&Y0Y6M&ZI?G9G')?C2%?C2!?C&'[H5A#ED MG@?@_XR5]H&AJL9(&76XNACTT8ZGC=WG;6)6]-2+;HNU"I26*4V.;YF MB1/I$E@6Q2G/&&F3=>XZ$!I0B/)-%T$:?T!&0OI-6W-W$\A=#[).1U:Q$ZZB860$ M\,K/1%R^V'4D2\PBG':/2N@XDG&_"I?-TZ%96PZ 'NP^;&CF[M]%U8 M00.%@T)NV4;X+RLNX?I[$#U^D#"U!BSK?TQ*E/*$'AW0&3.60UVJ-]=T4'1_ M.*ID.H!_XX0)ZFF&/^.<+RL9>;>S-J-H;!$PS>NY))Y1[V%9*H5-)LAH(>$*Y7(T? MEH-;*3!Q;UJ!?PB&J4!%W/H4<%%&*F?;XZL09/P*SQVOD.(AG):V 4>OFAP" M]BLV$-IAL@SN#RYO!^*Q1+&Q,*$77_>D4QL.*2_*-B*J,:0$#Q-$U <:GC%< MG0$W,B$N7KRK$K%JCG)&'1UK.&^7QX5^6CNJ[U_Y,M]- ]C&P78 N@7_P%E5 M)%VEQ!A5>&)-&O%EIQI?!@H+2K_3+/2ZY/(5 )\F&KU/&HU^-WP<3D?CWO+G M\7@E(@I]/\?9>O^JR=R)*GA7&(QD705H>/Q*;_GLLXVRB+Z"B!:8-E)'-FD5 M)B!-OF6Z(1-Y';:44.X'X<#(G(8^K,7G,OI:V=,U#;P@>/R+OA\\E M0N,F?%X=MZ>3])48)R0B+]CE:U.M('PF]CN(+JYPL3^I%LI!H8HV#MDHHJ]6 MAKJ.JNM["Z #B/T7"UTN%=A'M80BORC.\+ M9R314#A:$)+)*B)$(!20 4%OVQ&)O7&6F,&Q#C#$Y M=U'NC[^;6UI4] &:UV]Q4!0&!65=) 8%)1JHJ53RLO:;XQC?3>NXV/?QK[,, MN1[T+P6^"=A([*44<7CQ4;3^3Z!,[(T);>:(71#=^YH.%<(GZ:H.,&I3JZ#% M>!]/?)][M6<)!BKX#NH A))&KB;D\1T>$2P*WP_?IX@_ LT#"W1).UL_>Y$2 MP&TQ93 ?R9ZR=_>!P()@#@]F"O=>%8$C^\ONRYZ '@XYQZ*-AT=3>S&M*)O" M-L)+^%?'@F1ZR%KV=Q5W7*3=I81'W=O.1D2K46HIQ0*RRU!\!RFAT4C$I8@A MH9[KC9<@WU3LX)]K.^3=)[OZR#:6'2@DDL7??!#0JB8LW #..\=%/#**VRL+ M#@IRN=Z;B@J=S-_Q)-S8T5^)'7?-LG$@AZ^S,6IJ4\[5.28FZIMX9:G2,57 M04@G*Y=7X5&GEF^#)110G2E2-!S:R@X(QI9J!>$*1NFDB*_&Q8FA@>N&4;A* M'->_:R]9PXR"TU"X8EC';@-L'8^)DAZG@!%:\KE>IHC!#+7;C)3I:B*&DGJN MURRB0C;BF8>L* L6+V@I)40H95H4K$%&J(+1X*D$N-*\@:-F6?;<0/9(4#&V M,0Z(J.1J>XHYJ X-PXRHF&NF,;%'VIL)K:(4.W NL_!VM2Q]82K.ZH)G9IT<[5:3;Z@F M- CI;&J3WD90L,$&@4X2]T=*#4AJ[^&O:&A&41-&+)C -9!(S'5.GJ_$!V0U M<4)(YPD&'M4,.)(2)OR\LN0\:"7Q18ZR*5']UU?@F[JVCWPGJJ$RJ%-#Y<^9 M[_W7N:0*!Q<99/',#>=JA$994A^(R&N&ZYS5DR]0W8XS=#H4E-B 9#5*LV09 M$)4;&P;^*URB_HVMKU7>26& $)&J1JQJ$>$3SPNH0!%U4!X0)61R<)Q) H;J MJH\5O92'116M:CPDFG(=4]H;!#V5PDA=>CE^._/D]4_Q7HL:P1/$O45)6[)+^\@M6KR$2L1*3"96RF)- MLR> WJ2HML>B=G(+D%@6I099":5J7 M@P@1+D5#:1UE4T%.-O1^0( BR5,#% MC965+ 6Y6"^_' >H4JEBVRLK6#J*L5YZ.6,-RY=HTOY93MS*$1#$9+ENQ &L M)U[$0Z-9)MP[6[A:8>1>V%99&9-3B_6DBSQ)/<)-9P+_6GE\VC>46Y*USDSE MM''-9!)UD#YV&<#5**JR6OA<.ZHS@"J6.!:7I!@(Z25-Q85%YZ%#1!ZC1:H,!6*>.)^[SMKT428& M-O G::"6W"OHXORZCAAAXZSD!\<%YL:.JB'INY6KV9ZFAU*TC?!?5BC3;]#V M0AR[ VO88X%>)O4\W>RL$XHT-[ MY44++]6W;Y"O(186 %J]GNE#1KKOIHYB$*&A 97>V=CA*&69S;P_JQ:LA7!+ MU4S8*"KN'NH^/*E%QG%HCX>_G(54>N,/X.JFAPTGI!](+4 RHI]1%*)<*RJ& M-Z&BA0RZ.U92.I"5#)1A\O4%9+($]9A9@XR6?@YQC9)"+%8_!A@K&TE2D#'! M"NU*1XU"/A74!*)P =X"5W]%/,@QO@QS9?TD15B398R:W*8QN%+6NBEC16F4 M=G5'23%31_1T$"HAO^F:(R6&[LUWTP"VX:7BZ4::]XI!#JZYI'BIN<9049G MXH(3+KZ<+T )+OLZCSF./$D0RN8&=&SG,=KE^\_N(X>(O 0$;"Y BT"0W(A) MD9>$ENL'R_F^-X$(TI&NZZ4CC8;+GWL/C[-?EV*3D/8DD^<>Y;I Z-S<7%U> M?+VY'MQ>7=S>7%P(4>TI\-'( MU&S\@1B NT I;'N&TU$H&#&3.,?=BC$2[P&Z #=;8YVPJ>IV!=0PL>G9Q#CP58T$-M^B2X-^AV&=K:$YJ M]L:$9N30\X"//5,X.]#$)+.2G[P: M1YIEF7HE1_(JMY-G0[ZP6MXD>C86PY&)_0X\%L&-)0-)"3U^P8VTG%#DL4!M MEQ0WT/\5F"[X&5C&RGG2?%2A8W>HU(&+?23M+R6:&$&A(#2R$5LX.SR.'UIJ M+8Q6!\#P'J $4!&8V9H6:L0#G!C6FO&%:T2/F*-I3OOP!8CNP0MNQZ0D4,-TSS+T>M#O2Y"%VQ[0:+C2-(ZH F92>=P*6-W8_7%:4&O(%U:/ MV19ZW,2L:!B.Q(]^-O>XE0PD)?3X>=QH.<$AL$C@C@G/28>Z0I"WA_(Q%7LE MOJ.4^&$D?/PN2U;>I_H-OVNNL02^;T5U4,("W.AB%Q46@JQ<:1_ 0W6.C]##8,33 M@!8O1G&-KQ6S?)'SOK&ME67I -K%QT735, >([YPO5 78]Z/UVN@0W4;?T![ MP=Z !5Q\9S9B$OI_=-!^URP0!B5#3ILZ7)K1+X:VD?U!JB4&DQR^)"5X&1P0 MVF(5%W^OB">^FW F*EZ:#^Z**PBF91#)!8/O=B>A*O0EX"*C&+WT*M\UG> ! M\3-B*9?EIJFO^??VSC LY+@$IRT)<HZS9QJB^IUS!,\O@[2WRRFE6(I>) MO7;<;82(BG+)9+VS[/P*V2E!^A"#5; )^4U?79%CL=O7%HK\MZ6U,8\:R@F* M!A+-XX.0:!D7EL*+E>QJB;LL*6BEL*QI*.8:>IZ(F>,3 X>M^!YXNFN^1>6> M[@(/;JR>!_?O.\TSO=EZGOK$#QE9ECPR<'D!_Z_WJ7?X"OK'>#E:3.:KR6R* MWA-8_3SNW3TO)]/QPV+VA!Y462V&H]6R]^MD]7-O]+QXLX MIY?/K6K-(>TNY5I"*=7,J;H)W5R?R+AJ?++\#%\40E9/)/I+^/E*GQA2--,-GUA]@J<_^&]:];_.J__# M<++H0:5_'O>>QL/E\V(L2M_WQ!WF5Z7MY5T$Z'K1A*JTNK1/!L6#"SG<&222 M2FLO/86M/"S>BLKBJYD2Z.L@KZ_#T6CVC#;HQ7@TAKOUW>-8B*V>4%.EHH4M M&3D)5ZYFH/3DL%I@ZD/5QWG*WE)J88D,$F]A4Q)YO3+8BN;AJN\3Z-U-7N\F MT]5P^FT"U:TW7"['0G;(;XYC?#$O!<;P9#JKX>13E\9G43JBO!4ZHV=/3I*ZGJ= V M/$RM4H^JFXOP&AU82ZY0Y9VDTBM2&66\0/3D=7J'>P0;S4*N;[C) ;C5 1HM MN\UKV>/XV_ QO/*!6]P8;G1C(7[=@Q21$S!-'GFP+-T8 O0WE-V3YB/D'$^Q M2HV)^F;A?@E%+D'L>2W9IE6\/ND=WTK#9'CLV[O5^GYYD=?WY6HV^MNGN^%R M?(]VV/EXNA05M'*85UA&8D_@ E@H17_D>+X79G&_(!8D)0.J#-^&@XHPD$FG M?)>>> E1%7J);RZBHL719*HT$MM>2G6LDDRFC 0591U7 MQ- 61P6#X"$DJ@]*H8D%(5:A'?[S[/%^O%C^*8RR6OU3@";FR9HZ?I4^5G42 MD4A6."7R?9.X?Q;;?2C=XY=JA"23D4@QDSO6B%YU0C&2P-&18^L Q9.BP6CL MWH+PJ21@&GG51F,42XT.V$+"ITWO#^0R>8;$N2C_E*".:D4?(6[OE&S0]&B< MW]5=I=1H(LEE_> U*>VT-WP)-NA O@!OCHN<@A2*6Q!'M1Q_0]=-O<5X/EL@ M?[B(#?F(HJJM&-MZIY1J6B6MS)9;D\:N&\ZI/-=\!E")&@_[3L'W%/&N8\._ZA'?:+!%.\QIH8P) M=W@]:R-)(8A5F,Q#:AI=7?0OKNI5@^C].?J4"$M(W;(04!#:9N.B1TI"#8GG M&K*:(.*GNJ^4*T:#@A#UB5;#E"GD%TKX@8OMOJ D$7QJC*0:F%BQ0)U*:Y6% M1FCWFZO\?D-6;43D?L.A[,AO8@JN'B1'M";@FF=1?_WENB]]"9'?"E_LH2)0 MC1UCJ;\"([ /*YA'Y%? -V!AKEEAO(C@DK3896!%!=&\#HEBRM10[MQ7.."-8)VB?V4HM3Q6&S&S%X@!+OP]!TZ?(BKV! .(^424"6>_ + MA&QU;G:."Q'0*OY-7O%SA3=$JGPG*G 47V#O=ZH'TS9]\&B^ R.<@@'6AY\< MS^AN]Z3][K@C2_.\4M. RS>RVC(8]/L7XA>)VM4ZVF.16L:KD^;5,6<> A^Q M>XOB;"(W]/@#97:1N=%8?D(ML+;&H4Y;N\59NY2[WN5%?M?#I>Z*W/S..;S' MA[Y#MFAZZB$H9B&.O?AQ(3*O;/.!I5R#V&?R1 RH]KC"(K)*A[ M0&NL71:Y* [%#T0::-VO@G" ;O2H-CQL[*>(GMIN=%=!/Z24"P9E%07F]'<\ M1R5798%V 2B(HBHJM2!R(>ARS8447H^FA3SI^M V[DTK@)L7K?;3C)8%_HT< M"6@T]1I8TMWIK-'BI&]:G2^XD,1D?@L-E62= B[H2C(!KX%7@*:DJW,Y>9R42[L(# KM)H')NP?0IK>(MZ'K^N\Z1[U2D^@YZUXR MC=Z?XXF<\_Q84E:6ME8CO4^J=81S5A_M-I3H/6+ED&IV/TA._=[:::1?)%-=6 M*IG2"^1(F%148H794'X>T'_<..^?P[( [BX28?R/@P3C'_SVO#P2U^$7\LF& MBK\'V520)%\<,)T()V.,""=CY42((4F^<"$Z$7Z[PXCPVYUR(L20Q*L*B116 M+#PL@0G<5X[M'=)N68Y]A1R3P.?:P/1I1#?7L[ 8KUW%P6#\H5N!@=S:G@?@ M_XR5]E'OB%F'57?I'>]Y.I+$KM> MDN_W4A,X.UUX4K8 :/]&)<2 &_HS;1W,7BQSL\]20G&P*Q-*8S-;+^%/O36< M":R2H00LX>I$)%H+R.(P.8D1+"OQST#_XC>CIX;$-;;5>P M(A>TD$JTK2[&I,Q@=!YELPY7(R"BIG#1/?ZU5+(G%4=6@)7D\%Y5A[ZEP3GH M\7+BH1PSS=X]0E!";&)769)N67INQ8NGDMG9A;8VC?(MO$(.7U5>178?D II MK6X"+?&RQ/O=R#-9N"2-/=_@K\;R[\%5R/UZ:/4AXA7<;$GKO@W70"[Y] F8\S6=R[0]- 019!SS/&FC J1MO@%"+TDY]&.3&IIR#,6E'Z==_;25T5 M1S/I:;;12\U%_5MC0;GG15/:/P>R5UG=V=CFOP]2)UB2\(-DE.[F0JK5B41* M9"L-)?USO XK/7IK$QB% MIXHZINR@]BJRGU8O-:]>:F*]U,S47URZ>2/73DF4S"TKBVI:)([V MJI*C]E$NQ_3ONR['2EKD2](^I:@]T8CJIM%6SDNN$0M",Y'+.=8$N6J"LAPG M-8'9UFYXP-Q 7LR5<3^*1[KDM:#&PY^1RYV;7"^N)';VP!^BVN/:II'S\##* M&:JLF,9UBV^U\,-(\U[1_X__%9COF@7L,')G$C[0%KZ617W=<96OKSD:+G_^ M[_"_O?'?GR>_#!_#]^>'T_O>9/K+>+F*WZ,7>'V!> )/V9%^:U%52>A17F+ M)U=V%T'4-ZL/_<%U_S@>1, B0B:]XLJ[M+1R-;7$[$:9"OTL)G/HPR$.J"1^DO94*BYVO7C5[!;9OCJNYN\GV33-=M#=$ M4=8H+P5XAY"TB9T\FQ3SP$01V>D=I2C)F/OWI(1?$\CD =@N[[B[PRE0^C.P M#!].U0]9%K,.TE+H8R7K)"5>VI5P'F$U6":QG[ZQ>5CEM*WH)27$6.Z(=>AG M=-C'!2^SRY<^Z-!3K ^1#Z,@#A'75$H U!%:-O20BMR.9$G_"LS-JP^,(026 MM@'H]==[\.9XIC\"KF^N33@06EGC'Q: @'($1;'!@@L=25R.GW0Y:$/T=NZ] M^6X:P#;@'@T@!_/'<:J^BL*D&?T*Y@Q/;#@;R LL:O -LRRZ&O0O.P\12F); MR?F5PUW;S'.;*\]+Z+G]U$M]5S4_KJ@W^UX=-ZR.D&(MSG%;T+1#6E_Q1AHI M<6J<-(?O4'702O;@N$O(G\,A.^45,G/I3K3=E8%'(X+5"#ZK7B!47!<(EX/& M1J#C:U9:MG+L\V6PI][VG!Y>R,>?#2 R<.-.WLZC]'GY?C589,:AV/()F@ F_K(<='U-[H[2)_Q2L%%U/<, ML:;,4N-(W<)]OR3@8FF&U:%?QOO^YNM41EN.S^K[RZWH\F*XAG\.+?CY2JT0:HN:M20QFP/2B)UK=T)6O$S=FZ_'8#HR:TPTB);C8+/Q-6 MR!=OQ":L'[VLY()7I&/O( JP09JY +JE>5X4BX4$;OP>1+<.B(O#V6@2LVZV M/C!O"J &XQ^@YO8]A;';+L\4C)G"J_J#9KJ_:%8 5LYPZ[@^BI0?.9Y_IWEF MU1U1PU$5!BP/SLCW7$-AK&>%592F.8F)1F81"G8UD%?'M#<62'Z#RL&A9WM0 MM433GMGA/PJ"1/E_-"N2P:#?OQ /5AXPRT:?"F*L?"?(]K .^;)R5O"K1='0 MG+]X1GEK7)7/E&X/XB%75LX#-.3:PGCJDV>0M\?6$["EC_B:$Q&A\5PUS FB MEBFKU#"?=3W8!A92R?"IRV?;!9J%B/^FF?8=6#LN@,?:AN9RC8^<(#I;9&0K M;Z=)@MW049[83Z^N$VQ>:QK#S;YW1G1+/(W!?7-2X([LIH@U]\,ZY9XFER>7,B#;F$61X:+C"V.S-@GB&[^ M_$N0W.U[P#VOV[KO;OK!$\2R(*8F ._V+6 -UC2XY&[TM3.T6^%H@FN)[OW: MP763F^UFGSLCNQV6)M"6Z"*QFY663@*B3%B40*[I_1\N,U"NNGU)E>Z9W:R" MWW7M4C[)#'J.K70U/S&OF1U7,ITZMO,&7 @J>X.AHZQ+5F.^#/J75^(7E6K& MYY<(:B);"9)M94TX;--A,8$J3+TL7.>?9'H83A8] MN!@\CWM/X^'R>3%.UH']#'JI*:!%0>OMI]$+YR%T:=AS[T!6U<)0UD50;:_] ME(:>!\(]X='47DPKKK(0XL)(R1\V@!KB9N!05O^+V?A2+CA5 LTO-WSYT?FR M/7OVW.WV?_W9A,NQJ[_N'L$[L,J*CQ%UEAM(7&!1 D-Z5JF#LT*$5-9O&0<$ =.R>]LN]UD6P3*^DJ-VPHA4UH*).P0!'# MAWTQ<=D@TM:F1<$;1MG XM:<3A<SJ_+SXY-M@]:>X?P'\( M;*.\%'1Q8REQPUWR>;!1<$>-;?%03YVZ3GUY2>S3Q1 EA]3P%;14_ YTO]"-B&LFJQ0) MQ7$0)16!:EQ+9!8]9"2C=>^PUE4Y\$B[2P41ODL_$]9P/6[6,A:*D_Q-[RWP M@7%G6E:8^(W^@J@;.79H5*4(/H80=7\I,=1(RMF5ISDS5'22I=[UNW>"%W\= M6/GC9OD3IE1CJ(PR=@Q1T1V68@J&S^0P*Q_@U#!6@QOJ.,#4_K*;O+]L,ET-I]\FR$TV7"['89[UX6.]U->$NM&^.8[Q M'>YL86F*+&M2'L5R!QO5&+\=9^*U[7R#AJ3I0P5Z![G9DOG;J@:04/]7X$9/5=<$DJ-:2TE.!I*-@\5&N*5Q 7ZJPM M:0!T93\IL4(C6C)@5-.,A0BC@_,WL-UJ<^<[<)<[#UI5CY:.=;EAVV9G?@EG M?GRRET1:U?S.GH3I*.8MJX4#O^Q[Z)%DS=Y-;+RD,"V5E1,-O=@3HY@4)=R> M4^7P).DJI;R9[[BU.<'(=Y MN2< 18F!6W%&D1(-M867QT$IG6Q-+4E.\&B] M<^RP:-HZ=[2A/\CW20[RAV_VG'7O\-5>]-D3.]&+\1 *.]%+LFA0RXC=B9[+ M])^=]R1I4&CK#1AFG0$*4'4$ %4=@@10U3&U('\J;8M]PU0CB(E MMII"@0I#YED65O #3?\D3!XV9=DS:Q;/(2)R)=)I&. L]WML!= "OD MOO=JOI5+MZ3'"0F:E@LGZ\#HRU',LDW#H9P3W2\*AJ7\V0/KP'HTU]A:SP1= MI81/;6G3 *>"!XQ,S:K')F0!DQ>^2D>_#H7=3A=$)?0K&'95PH?4^X;Q*S&A MK.D!A1GHA"%&PY%60K&D =T48%]V*.UTPF#"4<^J4H3C:Y9<,7R%S'@(?.3_ M3*E38K+6N!2X(KD4B*;1"^>1OA.(9M)+3Z67S.6T;@ID6UW2(AE_O '; PN M#JU04]#!QM,UJ^!A6H8C2[E.U<(%Z5;7A#%J)'G1<6<*5Z;5=V"]@R?']E]K M&/ $@YYA2,@3-:K6T3$F?"STN\,$>/%89[R5LT*1FG7T_"AX*+OA:%G^7ITN MU+#,4*.$'#U''IR C667#':&6@4O8J0U?=ZW&=(*HXKIB!RNX10P$&HXFEH8 MXL&,&$0WRBY7;'Q>78=. YICA'QAZ.EJ\8G@I,[%T'4AM:#>J^!?"I[_G4R' MT]%D^JTW7"R&TV_QZ[\B'5"HTB.QIPG76(#R(F_M;#V"0#+]!TU'90QW99&F MV/92JFRY5-*Z24=7B?>&0^$TFIB=# $ET9[YAE(*D$XL!;$X9&1V1)ZE<99% M3:64*:%,JH190J%,471I!)<&S^4;=D!Z)4(H7V-+*)1)>@OP[ECOT(3)DETJ MR-(^68JO(<77XF5**)B\1.E)Y2[S_J0&)/,68S07[S"9+UC!X9HJ)2HJ M(M6X6BW:6!XKD@!*^T@%"%8G3'J*N88]'G-4'%2>M ]S&VSO'-=UOB,347N# MO_%W%,C!#=$9()4#@0Q,5$SHREL E)[5PU-[X?,I2TB-9LSL7^!JCE1U 0VG M2PRN2+LKBZE&#)"O7#1C/"4LF-APCL#S$2O00X]C="/AH0N:L0T;NF4) @U& MS#)],.A?2X"Z1HBI F!S]O N_<+@#%2@MJC6-ER](0EP6'$JI5>R23 M,:6$6I,%CA]7%$Q,.3IJS@+?\S7;0)>S6U2=&6>55713#E2-".<0?G; S?%C MR>W@9NXZ.@"&]P YC'BXYP@&,-CVRB*%CF(.<6."4I=&SG9K^F%,QQRX80EP M6P=WCFV@BNS? LW5X!8/Z ,^ON8#/D:SIZ?)*HKR^-1+?:X7?J\'-;-W^&*3 M0)#"_?Q :F6(1W5S$?7%$L]R:0VQ3".IU)54!IF"8-7D$-SZBZGPSJ$\MR0+ M+H%4\J*D(5#:2(Z62FM+(F<:D9$)O)KFMDMK%]="*FF9G?4--"B.;3I))%7- MZ^PIC(9>F:([]B;#[,4R-U&QIKO=5 O3K?$+;E4W*>5<:^6M16F[H0(-Q1W1 M4KH"5W634MRU)$<&@$K:95+Q. 9=L_:4E,9NX9IW1L:5PLG+F(IFF62[7]+V M1_:JHPWF;"^)/&LMT82TR7?I7/PD1EA P;0WZ%P/C-1)/X7Q HN+J)_<0B^7 M7];@JD^N?"]Y%N(@=.NDG*XCYQVX\,^9_PKG]402"ZD[J(* FK0K6>2O: M!>.8B?''6^@GHC#LCGJJ 9BF!'/=/ :"G-:_:B@KT3=K>:AS3VMD/=2'L<^^ M:-:^Z"^#?O]"'5]T3$Z[?LN*^/H%RM;%)$;L?R>55"@X?1!/-3GMWA"02*7P M]'KT6ZDD4\WD H&4T"$Z@>@)VMUPO\3*(?-[.251,K>L+*II$2Z-R'K!2R/] M^ZY+HY(6F5X28.:+.0DD;+X]YH0$9VZ:[.3PO.L:#XXZ<,#A31Q]%L7/( MBBDZ7I-UE%MXY7+('K$;T,O5R]+J@6GI._H?=YH'#/10(+"]J/YPL-UJ[FZV M'D)FO,-9/:.BI_%SK6YI-O7YZO(B'P&T7,U&?_MT-UR.[]%9:SZ> M+H>KR6R*?A5-!CU?F$RG%Z#Y].()_9K^&0, M8K7G>\M7".L7Q/FYM@M/K%5591H.*F*30-/)H2M5+NAN=V@2SWCX77.-2))I M!]@T*+G68?Z=K-9_'?0'$KQGS@95F?VK%;XQ6BW?PG4:+O6N+RYILBG'OJ$M MQYO8T:93]LX)AR^=4]ER)G&%=&Y[YQ7:(9\8U3!.OOP M9 ?1_ OPT(MWMH%J?^OPKRL'_:BM99OT\V?L\V47\ MA%JN;4!RB)F[IHZ-_VCGZV=UX,[-6!N^GH1OSZ-R'/'0"W8S..M&*QR-]>-6 M\=VBBHL)HX0J!]4DSOK1%E.3ZZ&+$]>1 I^9""VAG$96I+>#?O_FK">:M0+NME^F2.W.Y)2T1P+.)BHC M]@%EX2J#W\MQ[,35N1OMBT\_E=@^KO#JPSI,&,\W\*[KGLHY0?-='_1K.#X("3%G!37&GEY MG"A*T\O^KB@*?F,7IR@T<\H(\>O%65':XG&B*&)O_=DJ"O%>[+6J*PRG=587 M<6Q.4NF8QP#(D$0_>D7LG=A14.EL/77LB)$Q5U?./'#U5]@_2@D+);V% Z!A M:R37YXJ7D2771]/LF78OFBCZ&9SJIVBN<7*]U_.=7C+=7C3?L',XXS@/_YQZ M?S1H!X_A4/+OH> 3U$:RYG2FQGQ-\259!/?.R?@R)N,KCNT6.*=(,CX35UDK M2W;1ITX)TVVP3JF4?P6-$75#PMMB'Z,G-64)X6/!-EK_2?L3R(KR$HKRN$KN M61&:,Y1I+0&E+/5&&M+>+$Y)301SE5&= B6L?U'[!^'73TDK!'%3H1(%)VM0 MG8\6'#C*M%K!T6E#GILFN)?&M>2S)["F]TI7]>Z5]&A2Z&+)?P6];32UGKV_ M9/+VMTAZ=(ODG6^19+E%TE^!$5@@AE"M!-C2AX!8C7\J5@57?DG[N'HT;_B! MDE>;,VVDA -?X>7!4LT1:05>GT$'HFT#/00PU;;ESS_S^)24\*N&0XVS/2OF MR/3N\ *:F*Z)PIM"2^G9-GUOL7PN?5BZM$^6XOZ@?W/\HJZ(U:@MT>911<\L MF>!1V]_U6/524N.!Y01:R]L>)S;R>L1)'!YS,=#AX\(K>%P[/FXO',MZ<%S4 MB35V:TU"3ISSP1U#@+/C-=<'L)15(SXU@FF_KY;RL,.T$$4K$0FW2,V#IMTJ MIFG9J\36%2W[^;.>B=U#KHVG%80M=U3>JSV=6@?R7#Z]JG MI6Z)S/RR!TI?(TTLU1+9R5T1C86!H?9<]P:FKI9(NJ M(J>"EVGUV3]:UQTFGX(W2@4Y:[F46LY"IC+Z:#G7H3MF8_1^?%W5E6IN9[5M MK+;RR[.IS[?4YE;-"Y5Z'$J^39EFEB!!40;. MR*383>79FE=;8*[DT##,B*R)O7;<;?C#&LF0UQ3)D(=O]E(?/21$Z=\<),'*!MV M<77$=RP?-%ND=?BNF19:," CPWM;UNMMQ>=.&]VMYA SV5@[<@]*_1[?.4\?_)_ 70'F"?O12R?&+[KFE[IL[SJ2F23Y^VR@CC, ='8-<5 M91;XGJ_9AFEO6M$.[/?.*M$>6SF\,B7:IWB(5:WW/E&\IJ"3?Y:!.!N+WP?/ MFM B7QF]*Z6$*HP_WDPW;%Q=O([%^&>@\V-CC.M;>8[6A??F6>=K>/$ %??9 MAI,ONN0-Z0?&?0#U>E,(4C:#GB8R.?(NN36Z4,ACGKI/NS??30/81I0R@[MH MQW M7EP>ISE.IJ/9T[BW&OYCO$3_##_8@U_LQ9_L9;\I-,MQSXX#"14IC*4]1'B" MUVN@^^;[0<@+S3\2Z]!_ !#,FK6$. K@'':9QCCW;O.1LXKU==#_*L$M!X', M,YY73FS@DI4A ( '2C,L.5YH[H -UJ9?#XI,OZ$"*/DSA$M%+7G@B3B!HD,? MX4>MU/Y(!T#<* I#C(ID*?(Y"D^$S[:[OP*#\W]T/"]6EH*3'KYQEP5=@S(N MM>-998<1[--3!QFR 6P&3YOQ&CG^T(&'_'EZ@'IG#B%;)\C%UW']5M?QU"YC MY$W4(.'#?<0$N*06GH!_-6UCK5E63?@1CGX*@&O"BJ9WN8Q6/%YFT(/C G-C M9YAW;T*>(A&9VC'X&HZ6Y?#MH'\EP2,Q;,RB6J0SNB 5;F.3*.$WT_+-P@VU MYB@J@(D%R1RN%EEE*VH?(_AYTS\^565_V65!$E#2](I,\AVDR)H+RP[2;1W8 M8;J,#J8TL[K;$KY;8)Q457C)ME8*%@2D,;N-0C&,:=FW?0$U!?[L#:# GN# MW TCS75W+YK^1XV[IW[%W1/\5F__L1[Z6F__N?.U4[/RH#'H4I(=VD94;S9< MYX#YCJ[T1X&+M 9#%>4H*B@]"Y(Y),<*60M02C!D]"MDP#UX!Y;SAB[W#_94 MC27AJF))2#[9TVRCE_IH>$$=?_:\-/ P% ]B361 9R'F^Z=U8W!Q 77C.#A> M_N6@&;&\%@*V]RN^]O$2F38>7!-1U9]NV M<;%T+,T=V\#=[.:N\SO0?<2$9?#V9H5AA9HUTKS7!\OYWJ3._V6^SO^1Q1'. MHQ=-I)?,I >GTDO/I88%@.Y;(DD]^94SU/\5F"Z('LAX OZK _4 MY00]J]RVL%$UHE"64KW"607AWFCV* S4*AE[;MLH3I"9-BRV]^*46E MZPJK=@U-EC!@:[AU7-_\=\CGV3IYZ6A/S<0NV.\+5+S.,%E.70[Z_:^= 0%3 MFCD44FG/-)P"/^)94JN:VM;KYY,=IN-58N_-QXO>\N?A8BS4:#LNR%UAL>&: M0_$/;K]>W=Y>75[UKZ]OKB^/(=\..7NA(><]AH9,&REUE8K+^06\FD!)#+#& MXCYZEBZ;)9@J/G"G>::.@0/5&"K"I3D#%(K]=Y.S?I3\%Q5?]'W7? E\=,VR M)ZY(89/R6MKN32M J<['RDFWN.%&41%E+%C RI ] M#J80:^N5[8J%;56$!SFA4F0/, =!K >$,(A;GP(0RDAE5+&MP. 1<[1E\X9Q M/Q]@57C>S;Q?;$IR>\'H("SFR5;;-PT$5_,=+($>N)"YP!M_Z%8 1?4 M03E MKP1^XM$YGGM9E#V3L;-*U!_TOTCPV'N5Q#//NW+C K^C>'MOHK\Z%B3"BSR% MU,O&5=Y-%CY]_O/L\7Z\6/ZI-_[[\V3U3Z&K0Y[,J>-7K1'EG7YC6![(<_T4 M%?!?!PK@/Z*2.0OP%J!8#@_,76?C:MNB5\8K6DNIQ]5L/NAS'?H8::@ES.3; M5R\J>=$[TT8J,=<167X!KZ9/'3&7/L%]U$HJ49,+JT3 )72)%G'A1>4,_>3O ME_OY8Y_E*VXHMP!+A)&]-U+1$FHE?F&66JO!OTK"9XZK2M*(N)XA6V(.N@\8EX:)>@AE?"; M6<)UJ95BC>92%?<0V*-;\ ^<#YRD:T=P4B[IO%%=FW2NSW&*J:N<,&"N[9"V MW6L^6#EW8*Z9QKVV>W)L'^4E_A-HN$H&Y ,HBJ:&#%#Q=4ND60>^9@J6E];L MKNZH*(9J$L[U:4OYL%/Z5%)5OQ-$#IYN1K9P]GJF(70*3SG'Y$UL=#<%*1Q_ MH$?)4.!W!4!JCJ(87%AR@5'$"%/PL'G'9^Z:>NE;;&$#Q:!!2"#7Y_P$RMQ# MAMJ#@\J._&KZK^C&#>H _ ']&]V40ZF,(Q:LX/IP'L,MJB24-X[.#+4J.6$F M,>@A7X"5Y]+LQ3(W16#C_+6L$*[%/L;-:,MKF5M<'[AC!]D5*HH1N+O0(E@" MWX_R[R'UZ ?1VW[[=U^3NDP'7D;O*A> D\FX"L*0'U^XOCS7ZNM,H\#SG2UP M1XZMP[&B-_?H:U]=Y\.N1L_+U>QIO.B-9M/1>+I:#%>3V70I-/)J87I_($D_ M0V)=. L;!=Y5!%Y5]!'B?D[)"DVO*/BJO+%4VDXEG:Q'F9BV$A\RA\>M*VZ6 MX%J&*J_.W"5PW^$^6!!*A6LFI> HY)"]0B*FD$!\#!^B)1-?6-$GFG=QE%1I M6ZD$226+0A$2$HB5(R,3:^Y\!^[$-N"N!O?]>#[8._J2UK**AY#/64.(ED[> M4HJG8J)431O^)7X@HTI<)-VR] P&U]<"J[0VE5MM@J6X9B\^ P$+0#-T&]BF M'K\:MW:UB#:4 5"% :K^2H&A.>6,[JW$!27G[(R[W0I^KB02O:2'5.!H9$G5 M);9DE>!@5#4ZX,"/E0:BE_3HAIPK1$5R]BFGF.&>WKPT8K0,YD@H7/7).G5# MRA4RRDNY!M$R";K0NU0IZ8I>BHJZ#M78%;RED_"3]KOC)A,OR@@K;M01"1(Z M,0CI*[&^VG=A3+4MF*TS,\>Z,+!MI1(CA22RXJ,CC_?1.#./F0VP!Z'BAM*) MA(Z[V1,/!8FMBF7UW2$3R[YA=LXW8BNY,A5+.8D,]R<"L<"&A/J2:JJP:"J( MQ&Y(/(3SX 0NF6P.+=45306-V#A1+I(QWPFUYM!28UKH/&1'W;HA=A+)D0" @':9_"A+ MS4(/UKT#.T#UUDJ])X5M.R)= K'DI4M.L$PB'>HZ*N/E'1Y=+)4JKKG*@J6B M68HKS^:H\#R WL'Q-:L<#L?MLCSY GERH0X.B(AE>)QAOT<_8JH&5'?HAF ; MF6/EM'*HE'LPX8Z]8X+@,0D $EUZ09$RJ5, ),JBKD4OVQH[1<> MOY.JX5EW=<'IN[BA6N*FI)-KWGXBXG:*G8(-RD98@#?T0)*]H8ZY'Q24.AU_ M>QI/5[W%>#Y;K";3;V+KG!Y16%7A%-,7BYNOUE\%7*$4QAS#] M%1B!A;*5CF::JG-]MXM_61:37V.DK#)\E4/IJ216<'!CQ :N]6'$.'F64(YA MLM)=X,&%U/-B)I1572WM(R=^& &@ %K4O&@WPX!^%2UU[F7:R"EJ:H$4"+62 MRHZF%\@BHTK^9LTV6OJ422OHJ+QJ$RJ%;XTLG!3IF8V,/BAG**D;DQ1,F =M,!J"6,C4_$-95*RI2RJ!)B.S90 M8]MU]@:01\C>)-9>Z:4&IG4'Y$BT]M8A4XKR](UA,+'#"834CBUS:]HAZTK! M4-I'-4C0$RN%2<;@(L2%>QP\&4Z1'1J27YX9@FN?Y='MH/_E2ZH3%>? M)<;+8\4E*$E7J03=@A^K+DNXUJ@5XPA+;HER^R<&3MCVAP,%KVD:(=7$JB87'*S&+VTB.XK/ _ _QDK[0.#H1HCJ8XN5BQI:L'< M1KBS@2\)ZD:.Y\_6,7NP!DRJC>I(J2:6ZRXE!@7?7,?SYJZS-G'WW*D6JB.@ MBE0.CP.)ME*6P(+#;;X!&VZ^UM VA@8\SIE>&!KS#L8?J/HN-C" J+/JJ&G M!:[!@F( M;?BHE?6'Z%&5?G/#BU5APHIR8S*J.-B \5L-6&]VJEC.UDFE"\Q MY9TRS+N\@,S[JA9>Z*GG6@]=#' .RI)8\:8=H#+;$5</0Z M/5Q](2M,6W-W(< L=T_HTD$9&-J,*Z#B4W(JJ2P;I+;&P#@U4QT(%I8G3\(++KGC\($M+ MN7=;Q+5_A^R:K>$:J=D;\\4"4?H9!A'EG51'20WJ$^3P\3>+63?N 9R[;H9L MP. DW41U5%32FF" ;Q:/D'O/<.LT3!1'-S3@GY"NE?/HV)M'\QT8I4L)Q0BJ M(Z@I*Q* J?1$9T3N*'"1''"[4;I-EC.73>W% MM$ST-$HY%O(-50<$(<4)*E3**/_F.,9WT[)P5T[QKU5'0"F=B=SYO*4IQNHH M/YL4;)#JR;R$RD3B?'RW[6:+!V]OT?-UFO5@VIH-[6MKGU278E_HX8Z7OX@U MU(GE-P6)Y<_S^>,8Y98/'WL/D^EP.IK ORU7PU7XT]YD^C!;/(5/O,'FX21Z M\2QZT32:I*(7OP!*RA),WGG-,9@EJ\7.M@58![:!G@29N^!-,XV4([=@QD3] MLMK0%QL?W4A6A]RUNF1S+@LBYC PL=\AWQQWM]"^/T$NHJ0^W#90V%8MA-"3 MRK6.B!A,Q/H0.^_+#P>%;=7$!#FI7*/1Q& BW(BC_?<)[N? LC0;.$'%T;&B MEYHXJ4,TU_@UX8@A!LFIX(( "HV="JC*H=@GHD;*PVEU>>/N:_9OE\U1=,91V4@TH#:B6[X11MD(\ @U^ININH;J#:@"H2;&R1XF8%:27 M4.6=5 -+ ZH5/$G08H6085>08<<$=1,F= 1WYX 1?M4#^H\;Y_TST(WHPQ/; M,R$%*U<+LT-=5[,W()._77%B&%Q?#X[/"_&@O7C47G982%),$/K/"UR^__K_ M 5!+ P04 " "U@R59AU"^R"TR,#(T,#\_>$6TO$ 19>Y]U Q%G146RMJJ,P?81%+DC[Y [-)%,;KO*2@Y\TC)_[UH\_I'9 M=AS\3/U*_THA*3R1^8TBO]-4HE%[:+AYMJH.;KH:V'K5,(@OT*?AY"?NR:RY9GNK9__T38V@'RW=A:_-K^^*3_E:,^Z7Z) M[3I'?_5J55Z> $-*JJ;C2J9\_YJ@6\5]^I;M8^E?FQ]W3=65FX0#>/*2W8!4 M$XX?!)S]Y=J2Z8PLVY!<* ?8$9I.(IDDAN[Z<6QWGV/PRR?42./5DQ=)]E@R M55.^DRTC;(B0#SVJJY<8BV*/AK9K;H/1BX(@?L%?'S-'?45FSYFI /6PO. / M3ZA3'0M/H>1K76]:;!\X)%B4HJA?JT ;=[T"63G\>OC#4U79T\4G?0:_/FC5 M)Y0*:LIATMY2DU0R13S13/6@9A(;S51O_OP[ 9+RYU\#N%)"MDP76J3_WKA@ MY?[:,"9X. GFGKKX[\WV]Z3KS\#-KS__NJJK@S___MK]N^EJ:"G^GW\5=9%P M7%\'_[TQH.JI9M*U9K\Q9.;^ U_Z"_[\I(VB.C-=\G^;E@F"!NKJ=] ;L#=_ MJHH"S/!/V"!O2W) )O2>IJ9CV'XAGR\*W0DWTRRE."*]\6=I M6LJ>W.I1G8Y00#TOXY2-PG1 GX>FC\JI 8T2=*E X5U+UCJ2'G3[B!:W46,& M(UT:L,RHEN]R(U*TC3/1\E'YO$4+@\XZ,TLG2YI$./UQ%J?'9D1,B=NQM*U'3-:=7D4H+P12,S"[EE7ZXPF^;.X&!HWS;Q9JB>LS M4&EL22^9"EA5@+\95EL6,V6FFK8\WF/]80$@I3RSX!PZ>-G-'P3^#X7.DD+_ M_?5D@"<=+^-!#IIN7G5D2>\#R69-)0?#I?LAFYE!5A],A:I@K*BJ 'C27.?' M(A8,.9F$<0YVUO'FMN'BPX#S\!OG?KBYU,JK *0[0KH5WVEVUH.6EF^*>#!< M^(KTY<;:@"^PE*>CI2MDM6"TYA;+")ZRIK2EEBHLQ70PVF;JG&.EX4"5<+"Z M-+X?'Y%EU=&@0B,L0U8$O+#T2D6$%HE@?"-)=\ YA[B!5@N,52?P^6X=_G(_ M4J4GS,MEOF2SA"LI@U:5RAK],>P?CI1N%>AZHE1G7ACM6T;-F4@V<,3*8%YM M%FL,@4C^A%DN)OXJ/UA^SBHK0%8-R,#_WI3J^=<-&Q^^O>0X'E">V#<\K]CS M08LS$ :GQC)1IG"1;$)#LB-S1]?)Z'S;8A^#3M#K+Y$VGL-9C\ES<]P9#C#Q M-3H_H7UPUB"V).C>Z97JA)]JJJD:GE$#QA#88F&T,$B7KQ*(ORSP(JA3Y&I- M[PB"F;/PVJ=CQ<':!,6CVB;%R4'7GN<%TAN1@)CK0 V7'L%_:5VWEL&\(R .ZJ/J5BW'V;I&" \7!):1&^55$[92H2VW'#6@ MGEW!B8"CPMZKT"@]84$*R0,9G^L8PC$,.DBFL5EA,+[Y\]H,_W]*Y@*.*0PY MO\"FMY1Y^TJQ!1; ]$ +SKS@[^88"CB<1T%&<$-='4L;$F= =H'25@W8A!OQ M\%MGM $<9(WM!M%"^"*H*Z(,-4-4X#?A2) ,@HHN6\E7UJ72F.66^4HVK5:& M8+T7S'UY+!OM1)_(8+XP*949=HJLFNIC%4Z:==*Y0 W1_L=<04Y=J H(H]NM MD2RS=;!(TBV$E4AZRM.3])BL-F\.(S-]$)D[,6PZ-Q7GGHM<\'LS=?_#5FZ= M:JZ=XUK.DO4\>NK@#$[/ILW'1C9U: X3R G:U_O>(*="6YL#L@[_>6IL.T.S MUV?6'10AO*8XF@TJI4P9L@RYPS[J5X[#-.PQT[ WF(;M,TV9RU:';U8)#:1Y MH]Z==.M,C3XNTZK]8M]8]SHX4J&&2X%%BA4E]%!W#P'GAYQ46@RLW59C'CX$ M4+XW1[P,3 GJ_#T#(#I4R&7.K$D^AL('R&=XWYBVO"2K.@RDPN<>F0)+7T!0 M/6VS[0#Q?72!\CF%E3K9_HJIM)BB21^RNZ70,P3#Z\"Q!69W9VA;<-AM?P8> M3"9K!BP("7["31NG^GPN*_:TY&QB8?JP7D-7;UG.T. #A5L VU3'$W=KJLUQ M\%[>&MD;4CX9 ;XVK7W-$N_8F_4!2C>33+]D MRENF5U*9H@N:;A/QBV/?+TX7(Z+\)'1,II^+H&!9RE+5]:=S^FHE7YW(8VB( MFP0UU0RR54(A/]%,.IAS?CI<_!A3T \QI0 ,0VI82X@ZWX'Z7M5W;'&-1:/& MB?Z03:TGS&A&R,S$'7^"+2K&IUADI2JL,:17LM!L9B<(!"WU.E?>P"WV"+;; MO^'<1:R"L:1O)C#W--*N#L,J56[8UA2ZM9T&5*%S@SYN2VX >=A @=$69V_7 M&NY[J*BZ;5GNMH/M$[(&6C5R-J\BGKLN>-FA52Y9X\?PE3\[ZWT0@K>Z:;O#2\+ MU=7U VE99I@X(O"0*G;ZFTOJ<:'BC[HB"'-J. M"(3*L?L4.!U7':G 3H3, <72YA2Y6G>Z/G#N^X<, Y&OOFHP)>M9KHJJUN5 M22BJ$=ADRWR S*O4WOS9-7N1W']_'7S5G]T8[T?TZQ#YLU W[T>_"S.## Z> M1-))Y)[6A]_N^:@\:DJ&Z:FGO^P^[U[RZXE*O*HAAZ=8Q]*0BEW&.-Q*D4+7 M\AMFN9,N5:!IBS7DPQJ2NIB&O!ZU?E5#W%95=#UYVM% AVF5^$HS-:K&-N2C M&H*]WX9@I[(A)](0JC+K]_KES$*;LXN4W?6+Z?&Z&6O(QS7DO3;D^!IRC#CD MT1QVJQGK,;/*K*6!AU28).^,13-IK*[==NR1&<<=[]>(5;9K+(:-P0KI%I1\ M$S SUV-BC?@Q<<8!C6A*7&-@%1V$(U:#KHVI?4F,->+'Q!7[&M&8Y F&[GAS M9%ZI-=<\EUQ)YK7'$V?5B+/'$2\E(;\:6OKCG,06>NTAZ^4MI-;'=:G(7;LJ MG"6TW)0UN@<\P>Z75+*TJ84)?TAJ0J)9.19JHKZ5LQL_6I8[N\.&"[Z+I59*_N;1EV3,\/=CEP+D38 ?-;# )&+D )5.V#+!;#4VWB]5>5^L@A52N ME*38FKV>7WN ]V[RKT,+ M&T\&11"7E?(+GAMMZG9FB#$%MF"6IX5)LS9KM&+/?7WR?=US#ZM%V\J!0EI( MD?9$JHUM%UM.A+3?[;G-;E>IE^J$)/C+FE>I3[E2:7[U,=OE/?=I MM*#3MJ716'1' E/52U/%)*3ZX.32NBCQ^P4^7U[+:M0QHT UUZRQ,NJ]59:= MMG/7KO(7"%O0(P:GGY7R"V'+(CV26S):0K4"WZT8A#HQV44 *Q;M,%I&$M9]-K MGWI&(&PYIA:>X@L MV<:T;5 "YS$BW>AF5USYVF>B9_7<$9'OZYY;MTVAMC"+$FN,3+WI%L55%;]V M,5_">^\-2/D5:Z4B>F^ZP-<2?E=L"7RKTV#527UCC:Y^,G=MS M1T&^KWON/M]=03RW MT[!6;KILY6//'5$M6#%T2C7]YA3IHER>J2"M:E^)V%+!D8E'CYYP\(B:F;+0 MN:0!5,_) SI9[IO7/DVY0-ARBN3BD<(6IS3J^U2MIK+J8EG"ULUB!2U>NU4[ M=]@2!?F^'K8T!+Q;:^3D+ILL8Q,CW#KF\^HM6PZ)*WTM*ZITX:5]/J5>//9.Z4: MD8K3?:EVABU[[+?T.9+TM%&K-Z&=PCJ6ZE45Y.Q+=<0VAUVD.+>$I"'96<:O MH'7\VE,)9Y1J%!9K]Z6*BURW9CCE.INLM.BZ+T^8J7_M ?6YI!J11/Z!#9OU M"6Z(RZK)5E(M#LC3CE5J77L4=4:I1B'/L2_56::Y2A5;656H)'W*F"U5<NZ_A;DNFE M9"O!J9#/$D".:ZO!0:^A;@2G#CHM7MA" 6G83@=P9D:HZ'BMQ'KC5A^/K(%[ M0N'CO,\K)%['I&$_O/R,-&TFMV(I3^%8WJS.^LFDY#!*9"<,T9+F:2;V5W%Z M=,3T W+I]SW/;OX$'Y\P[44=V'X=''"IO*QVQV4U9-YI.KY3K*"?K79F0B=S MVC?=\_41 R-F)M]_$O]Y@34I")-N"Y1]+44)57*) "P9O9W@AX#UF&DQL&)@ MG1DX9;NYF):$)*)Y-K.<5K!%1\]>:"H6J_EJTK8K@3G MVD_S!^&9^ULR6%W='=B]]3.M:MW)->NU)9NJ]::8PYOB\O33U,]8_L-D/L3= MK])YS+C;B3,UI=*G6JP-6[>#+ MJKUD""MZAY 'LG^1G)L_6WI^"WPLX^E\M\KXY0O9ON2_B5QO M:C'%]A0IL-GJ/#TOU&0B)?_QM+-QF!=89J(E.L/G$&] MY%6GD5N)CX3_ODX90_^=+2R$I;?06<&@4OTLC=7D9/):97Q:_WV=,H;^NY&I MK=M4K2JPH,>F1U.D2HC4MLO]M6U^KU1G?<;I("8Z_'O0(K:ZFK MQ?$);?5%3TW_BHRAK>9:*VZTSK)IP9#$D>5Q;:'2B60L=EE;?;4RAK:Z/V]B M"RE+XTA2XO%V.C-TD?FUROB$MCJ"MQ^\VU:G!]T^D2^@+;9;K&51>[#HK=+7 M*N/3VNK+W8OT%1E#6TTDV[J$EPQ3XYR*07;Z*7S)7*L_/JVMODX90UN])IE: MJ<&O\RP8ESL%TF+X5/0V"4;"5E_R?K/'EUOC1[@E-S==9#!>GHI:$F^DO=2, MQ3H@_ DNY'T/C2=.D>+OG&(];AJ1J^[>O\.P:S<:A7HMF40J MR\%Z &:&,8W>C.P:=AA&/2L09]P\GGJ31(X8E%=630**+* VQ..W,V M?_57_$9"@RYT55]ZSVTQ-E!4-R_)JKZ+A1\5.5KZ0C7'3]ML=:/)UO RV^7K M D^F"*O3HXE"*7+E\O<;P/;(?+RGXA4ZCZD$3TOXTD>L4$V+*?S NA O U." M/=U/<=C53+6!PYDUR<=0^ #YK"+\T^K ]\1>:XJN)(WAZ<*\O^SQTT[DG,V3 MZ?!C[FQF1R^QYT4EN&[]2^''TS\4JB""DF_H7Q6X01T&-]J0NN'W [OQ8VFC MKBOCJ9$$5=9;#^==2M!3^>A=._B&-KZ/6=].-U$RT$TT?2S=W)^J?5JMTNE! MNSZ?,$V!U],KX,C-7"%Z-3$1E>OI=V5D/4/0,@P G? 8K'O+4P"&(36L M);!YWPGJPYZ9FH(GV7 TX%&MOY/UZY+KV4\WF>954S)E5=+OG]CV1(/5O#,9 MI4>(J@&R+6;9)A'=^ZM?X-7&\KS K*^;FK>X_*"@+['Y.^IFRX(4W.=BX11D MJU&55*;H@J;;1/SBV/>+T\6(B&X*Z%6->H'$[RC-Y^"IZCMY3M,Y#'%5?,5V MY49ZW2Z,.BLAR259[M&?@ %/!LUZI5& M(UNJ1F[-_E$(]%Z2'Y_D_)3FZ[#'QY$WXSFN90"[!?1-:#E19SO15]99?5"> MFF5-U>EBH:*6*Q,YLMC^E.A?(?\ZM&#?CA\%]:!@4QHSPF1MOBZ-4XQ?GJ)Z M9"=F$4?]:?WVL5%?6Z\*Q;)IXXB46RLEOJ^D9TYD9U#7@_HC'W)WC-J<%\[R M9T;&0)V694;P!0HI]Z76:#:.K,M_YQ+FZ<_R_UY5-R_H!B[-F=FXWZ?9>2J) MK7."[4$W:FL C%6M*[)\KFJT*ZV.% MG2/Q8 M<@8]4W+F'4#@X,O@3^9XJR'/2V[N ]/=2M:NW?U271OH0+8,PS-5>9/<*IDC M6W)V M5OD_TUL@>/1].1S/-7V-DGZ?;G4SS*O'U NM>1-?')P.' M>+Y9.OP8T[]G4'A!G0\7;4NFXD&&^\\4O$%075"?]WTAB9C5,BGTV,8L<@FK MJ"OX*QS^GMK\Z2G.V2UXA^H4.'^"2X+?[%'5<:=0[MJQ!;]:"Q[%4],N:\&G MC4&Y5UMX+).9$(WZ4LJ Z-U%&G4%OY %O\+$Q-DMN%_IZ#VLVNFS_(KPY(5. MD1DTMN#7:<$C>I;:12TX5\JR=$E#M[WBHR=*\4*?@46_#K3B6>WX'!Z MF4YE"Q5$2*ZSLU4CF;2L::S@5VO!HWC"VD4M>&'03*+R&AL)0")DJ-W 4FJ1 MJP>-NH)?R()'L6A@4YJYK<-\T,$G7[>7UE;]@B<:MJ5 .\#96\:]2V\?%IA, M&;)L,ZR6ZFA9/PM,>6)(MO8$1KRD V=[K54=N&]WLW>CZF[T>VUW*UH*#KB1 M0#LLP]M\-U,'K<(JDKYB7T8;-3XLI,\C*'C7(>E^'C3O!NU;>O%@-PXJQDD& ML'^#[1LJ]3TSL%^T'1/[?I?Y=[(>0AGDBN1"ZFE$7N1%N5D<4[E(+F>\SWH\ MB"FV'[']B([]X,SO:#V:V&#$:TO?8KMRKEW-*^J80B,9QK_+>MP+*;8=L>TX MC^UXT1+L)2]>31A=P#9L1_Z2::@VE\EXS>:GOP-M)J=Z6I:,K@ER\AE?,E-K+(UB^2:>.Q<8VQ^%9M;)5$E M/O*0/H>UL=H_;YH?;DF[.=F M\*5.F\GBP".%%%'@>G:;,XK1.Q&?QRV4_G^MF:K27Q))[',4DGHW>%2)S! MCVU'5&W'M\W@DUG&&?5I)B?PY'0M#MF9L(YF$6J@!*3;<0IQ7#\&!Q?$%2,RLBB\E'6.V+^D11Y1QFL.S[B"YJ6 M\I9=DU]&,F(]7^(Z]I Q%B_H(_/=I%KUS)S%5DBA69[FNE-;BF3*)]*0C+WD ME2'S86TG8CZ2:%002QZ@]8C+,_$'C+&X<7\8YH>STA6 M*#<%?X:BV,1G@>[%<(R]X[=&9=[R[&BZ1[O?9;'&0N\@/)E3S5&QVV.B=QG\ MN_'XP.C8/\9(/(1$=1'10'76PGL$1I$]S<>'.#)MDUF[=+W)G =&QTC\<4C\ M;ON&9A.Z4.BJ942KK/.E]6KBIE)*)+,Z\;ZAN$;@HR>1_MQ]0[4<)8A@+HP$ MOE/H=L&*-9WL]?K<>-_0]_7T$3W%^"?O&UI,++',]9V%QHS\#L"6F91B7['U MB/<-Q?8CBO;C>^X;LIJYGH!V?%S@&X!>BJRCI+O7FWF+]PW%MN/,MN/;[AO" MU$X2R;-UCN4(L=T=K=.]!1K)+87QOJ%KR#M<&WXCYLG?0&O6E5;(1"49C7>% M0:/2EZIT- \?B9UKC,VO8O-*,_A:?[G(.-ELB95J"Z.:G>:DXO3*0!IG\'\V M6A_?1(-^GUU^=,>=]5376R(\.M7YAB642[DK3J/%N_S.@L,/K*2AWP6'YZC0 MY%NKR1@%8,DR(W-MIA>ELI&-Y%IWA.'X,RLTKQF5D=]9-.XL!ZA12'99J8<+ M%M?"9AIZQ6XRWED4(_.J=Q9-&AG:L3TRS_J-UL!:>#F3I*\7D/'.HAB'U[RS M2-2*S8:&JETA)?=EHTPJ,YZ)9(8GPG",O>-%41G796[Z*A51B>VGR;JFHF99 M[ZT,=B#\Z#EHO'QS_;;CG'>3_^2Z3,U-$JDY62@B$CNK#IED-3^YXIU4<5UF M;#\B:3^^9UUFMDG8Y%PC)$%MKC/N-&,DY?:/GD?$MB.V'1>R'5&M-GG+B#1& M$]+"]-I0X[F94>S6QEJK>;TAR,F-2%S:$EN3GU;E[73*!2/3PQR-Z] R;Z=1 MME:,Y :0N,K[2FK3K@J_$9L7O(%6'PQD+(GF"P+ J5'6U9>%RCR2'CT.U6-L M?A6;48V[WP#I$$'3-W_L(5"IYIKY[B6LV0]CYXZ.(/3L^@=[+<3]!.R-C@X3-?)9!Z9 M.[UQ$4/>)W/TN' M\[=EOH=S9*DOD8)'SP606OG(NJTG/?K:;/L^71'QY\?!.>V(W.B Z>7DJWL MQ;6L,=,M'P#>M62-FP7*LI7U EMS#.V79,U74-9MUC)$KAI963^A[B&.>Y&\ M8XI^C=+Y^5(GIOGN5FWA8!KA80SK'3>UJB M]E7B]U4X+ZEV1](]D/7O_RS"@4JV//&K<*:@/]'M^S8E<^:Y3M@ ?3;W>]1E M#4B.9X- ['D;S#TX*_$/]_>H95"QZ-FV:HZ?=ZR:DBG#R50IG$L%;9]T5K-, MX-?@I >X>>_!PHX7(#=.%?,XXN&M25I'2'7A1R[;LX/7^P3R ,=7)/+UB=T[ M1'E@)*_(\@A#.JP$#\,XK 7799Q^%#Z)K-%HXX1A(87NQ!J6'23G-",[TXGQ M>67XC+S_3$4%GP+?ML-N?#[H0775^_2PWB'U)C$;EC6CNO+5L4\BJT9D9Z;' MP&CJ)V/T94VX#C_ZO7&:LPS@N*K,6/;,LN&4-@>&[AYD&_72L*K7IR.MDNX- MJE)C55F1W]JM_FC(ODLIK@.])XF"(X/>5[RL4"_.>41Q+4TRLCFY59B0\^@= M81]#]HJ][#&CX>^-T_=YV?QT-*KYDYJM<42-7B23P++]V,M^5\A>V,O&<]F. MG:U4UVZ[)50:$[_.@P'3FD=V">6'XBU2T>1UKGGP8YUL5%<%5>"SY:&S8KN> M//[6>GZ%2=%(Z?EU1F,%@IR.N"Y-("FY1W.4TL^1BWC*\\WT//*SCI/;5D_[\*Y2O!#UG-4$SC.KMW+._"<5[?@E8QBHU1$9TNA.Z@M"]9J M:7K1W%E_F',/&O,"Z[ZNMZ_R_(4M=Z\R_3KBD#/K[6L[S^8+)S,;278#J:PR MJE4:\#1*1<[H1EU)/[/3["=KY+OV6\V&LE#(+E-MUB.;"M/H9]?2.K:?'U3- M+^VONEX=O<\^U@-BP^%OU6K*60MUB+-IED.I-.E/LHC1C]QTZCUJ]2*-UR5/ M+)+1F]3VV6*2,=IL=Y0;9!%F[DF-JU23'Q^]85>MMZ]%;PN\Q)?P_CS#^EDP M2/*C;$I,1RX%&G4E/7_T=MT:^:[H3:CKQD3U:Z3F\=W24+#]]:07V\_KB=XN MJ:,O1V_]#CJQL@;."'ZO UU(:CEI@JNT>.>.WDXF3S:)$Y/B@&BPE2;FHYVQ MDTX/3YY"N!#Q;YQ;$!W[FR\.E9Y5(CA6=11GNPLX&OKM"0RY*(\:KI;R,T*- MR6IJS8_U^YKT.S)G;T11O]UL'A\7C-:,93@>)7')X>IBK-]7IM]1/3?LGG7L MW(/$,)8QL\Q[)=VUHA5%#3J3](:D*B63D6;JP^5YH+M8TM.,L1!2KE'JSDKY M!B9%3D/WE.40Q8^NO'J-Y)\4R1Y34U9#,%ZW%NTDHG8$&(VND]8RWVLC!G38R;Q>[]LTO*9^^-4J\U:?HF*9D=(EE=H7ZMD M=?/T05E8%'_08W5DJK&$Y5'&F@4Q-C>R4X)W$/UB9UZF_CJJB_;T/1]8!HEB3 M2S.QFV63.;WK]>I9JJX1F[K5:C MA4&Z?)5 _&6!%T&=(E?KR,4.05+JGHJ;/^&U5H_)^)Z3LW=+5%H]DNBX*#OR MW.&Z0G(Q$AQI ;*9U55(]#$9/TFB]U'^P9.#6R!(=\HN4,+#=053=9T6+VRE MW>2)26I:4,M-6ZQTM4EV=2W"#XMEWR;R.F*P]TBT!4RPE(8Z: [ M#%%,^4T)RPM+-[%)4T$\-M_)V^-6Y-Q#'']%%)V1J3K;+Q"(2/R53DT]=LY->@*WR"Z[ MA9I@#-J138+%\=<1JN:>U3U$2-//$7\1&7KD5,"HPJ8Z;+T\5:K M'W6[VW>)OX;ERD0>B0L/X;/J$JTDB6ZF$^>_XOCK"FJY7T9G39I:]HXG#UM( MGWS-F3OO\RJ>W[>M^HB(M/TFD'.+:4]3>ZLYCO2R.F]'SG]MBLF>N"EQU:Y9(5.2\&F?+[ M&5,V*OP>KIP*/H?X>>+%3.R=P=SCID=15*B8#YJZ^Q!HV_U^*1[B5H(]/Y2? MK&:J#1S.K$D^AL('R.(QCM"S\R--GS:".M!5OBQ5'F%2>5RO=F=:$:-S+1'^8'% M9"-G?M]0Y??&GOR+NL&#';\,;)P01AF'&S;?<* M:!F+G*)>P2ZKZ"R1'=:?,\>?FC97L@-5T) *)U*MBC1/EJW()=GC^#,*FOHL M74%3*13R/!^I0CP\2_1G2-?<46Z-3EIJ=EP>Z5V-+U5Z.NAG)L@DR2G\\P4\/S.L)=!XXE>KFA;Z"%U:L)"SJ MBRR5QYJGGT-&Q#8T'A.N)EF*<41Z47O6*G/0\8SU0WEP2;-(&5K M*I*M0%N7$Q>2,< GC8PK2 5OT,_HJ)]./=!N;.[3_:,Z%IY"26@O\L8+Y>T2I;A(5_VVWDSEM8K8XC)8K[_TS>7>6X,YQ^Z9+[S6";:O.F)E M,*\VBS6&0"1_PBP7$W^5'^R_=(O"\)F/OS2G+J"00]9N7UMFZV"1I%L(*Y'T ME*Z?2_!3[KX]73T M[Q?&#'8KZKW4;)(IB+K6)>62T>BU*E3I)5$$3WQ%^AL?)?J+%:D#O\DB%7?: MH,BEQW+=YD&=VS[R^DM_J:O?D&.69\O V7R< $D)H0W9\N=?^)^$X_HZM!"& MM$HN5<6=_(;VX/_\,Y,4137'21V,W-_X'4X^?&6KX\G]=Y83GI (7Z-#-[< M_]P\Z576@63_'EKNY)_G+]A[$@HN.0%AYZG,77KF!GU)(;O$-('(5&:DB 1) M 1'',T#,D$ 2,S*2(=-D1I(R%&S]2_KS[VSW[A&T,,F19*BZ__L_P2D?3J(. MEHF694CF?VXWW\!_'6B71O_Y)VSMJ&L AP=?'=BFI*2K8_-W4*H ;#A^>ZR: MOY'-N)R99#YYT>91^&/X:;FA8VCIRC\+U5&'X3K%[XFJ0/,*G_^__Y-)(=@_ M__X*^H'CGAUKW#LA099#FQ0.:/>5:\W"S_ND#2T;*L7#,ZM$>/1ZXG^0\'^[ MWX,.L#OXEF<_7P=G/BS1%UZ4R,*A/^Z=B#QIPP/R( ^-^N:/4"^UV5R";]-M MED_\^VL8T7'R+".T2NT2'"1=SR78'E.DZP4VP7"U6HGG2US]LH-_.MJNY$P@ M!%W+O$WD[IB[1 I)X]2Y1W@8F8'ZGDU;R2\R,L^U:ANV05]F6F882*AR8AM- MML#HLS.NA"D%@7*P!I2SY' >&A2PW83^IR[9MIBG5V7@]+H5A)NPOF(99J9/ MC-\8,(HDFQLQ/QGPSQ([]?8H_ZI)MI;@3/#W-7%F&YTH:8P@TRE*I% Y(^(I MG!*ASR5$1!ZF$9#"1\1]=+)YHBV+56K-EZ?^'" >9>O56MJJ)RLTU%ATV](- MMC#L1K?UP+*EZ]+, ;]W?SRF.!CW-GX*8JT0$J:[)7D3R$F>:^V^V(1QX3=/ M@KW'4<2F3?#-H\@-CL^U=P/;OA#=,-15=M\O@.VJLJ1OV;\)+;:]X'<(]G\> MBV+[NIU8'L6/C[JW8)T;F)DK?_=97W$DBE[RCB2BG\Y=J!?(\ER_, ^:DSV%2%_/=&A0\Y M0(8#MO2AI.N6.[16-Z?Q%4U/LN&X=+\%9I;MWNQ@SM7!%.2RJBP 5&U3]?%J M1;8#F".OA9P\&%L@(902O&] 1_*?T/I0))Y^L#X'W,DQ-?0L(&NMQ-M+@$CO'80QJ%8@FLET/1?N;\37#[1+K*)1\'??>!' M,^W@9Y3"\ =FA,K\*[2DQR+I90\2I9 _;]D)=P(2]VJ9:(3IMP1K*D!)G-'' MO@C-WTI0:@@[FRB2[P/)!N:)L+DAG=UDHA\%=(79A,.Z(]70#,_H*'*^"H0J M??.G[$%^8>AM(GC/"0.W(\X_HZ1[EGVA$.YC01N920_3F$R(*(4 $0'QT^,#MPO%3,\",Q_.U@U8#=Z> ]FOY3(M6V M+9D;'7@6JCJC2BXY=.9IMLNM^YGAI-5NYIN?#57Q+X2J3X3V)F+.(KAVBZ[S MI3 @/4JL^LUCU'=D?'8AZH,^[F+4D6T9B?_[/RB!_'/^_R96",)^%"!;&[,91&&6_7NW9/7\5UTUP6\/SHWLX*^]G\-7_@Y7O> 8&,LP M5"=.BV]V940O''SPDR7:.B3X:]1MY/ M+J/!+22L"B'3Q(G3X%%+>K\O'##&"<>6_WLCC5?)0 \0$D-7*#*'7+N;SL8W M"4F'\4$!1GD35;[9C4E1G9DN^;]5,Q! 0N M]3@K>!\E/HL"4?(NX-7-KS.N + K2783=:CO"6N4:(&QZKC0-[@)R4GP,R ' M14E*0C43)==),),PL?'W.5,9QUHNR%!D!E,42J12%"+BLBR+%(YG1'1(* B5 M'A)I%#R?>6+="2/ADY*+5!H=6AM,L_.43T-;@CQO6

2')9GB-J8QR\[4K M-WK$&+9,??^%!>HNE;[2O/L[YHZI.SP53QU//5=_JE'0F%Z2Y^=#J6\3B'BW^U4N*E2=%] MD[;J*&IXPE80 MQ#XQ%7]'"Z]?"'FI#_C=SX(VDN(NW;7N^+L$:\QTRX?R?@JN1-VZ^_N;)_:B M8==H1;&!XVS_J<(Y,/HH&V+72_-IJM*;:96!+S!8NU#-3?8+]2Z2#>%, .>N MGBU/$KQK ^#>)GA/A38D%6RO.F \(S#FVS.EMK;B9."?G-VVEN8CF?8:2:V- M6*NQD.1R7F%N4:1@123#U;)D;:'J^N$@+0(#/"C 2X3.6PF'7I.S&_!EJBD_ M+LE0^E:OY22'3:30XMM.J= J,YF(B+DFV;XNF4I4I7Q>E#8LJ##Z0)T]S'I" M"2*I/#%B,A-'J Q!OS--=^NM#!T-"::03!HY71KZ/1'$EGM!<-BPH?*K,TE/ ML"L@>\'L/\&-1L&IK'\G_H*<302LO:X,YX]9 _KKU& +O"!M ^D9O'*SY51< MZ96A-N_J5+8VJK!N*2*Q#1;=$.;ODQO'J@6G-8V)9>ZOSHU3KBNK0Y1&NH W MU8JP7"A.,R(R0]-)!$F1E[6*#XL]@4U!R7^<1!OH8!:P<[N\>AM,IG4OF/(E M ES\1./X'E;F85@'9Z;!,MIM8OMAYW1@\++[*J\Z4%\3?2!!SJJC8#W-' ,X M3P\"LD152DQBI.N2WI.L).V2T _^=>ZH-OW2MQ!!L&\".>1 FE#:/ MHEB0;D+3B;^4;6\W P"HPGY%"<"5IV@T@C*(I/_!4T"EB60OYYW"#\ M"OWG[X0"'X?@"IK-;""#$&IH*A'6:#N)O^!KX9PAX7AP[NI,K&#Y-;$YU $^ M([G/B5U*3RD*R-D\O*7W[]M0(?]*/6+*$,X\8*-A<'A;\%#8'CX9#&7;65## MYH0C"4<::"J%)!3)=^Y>3B%O-.3DL3'CV38^Y/%_Z]8A ;R_BG#_/4]K"K]WVSD9SD2IL2IV>FZ:&/F6<[7M U_*'EP98XDMZ6;WCZ)BO* M)]NGMBV;\=Q;"SB!NKPM>,3(@(];T_#(%JQ%:\5;U697ZW+=MLAGRJL%V3R] M+8A-P968 NKYF#X&=A4&? D=/@\2DBQ#L <'Y2DA/NS ]1[\-@$U*GG@!\> M-@*^P]ZY-@B9\!#D(!J!?4&W' QTG!C;UM*=['Z]@V$)" >F@)%JA@4,8?)C M&XB\-+QM4+)KMM=@^_OMKL&+P]MU%$0:V[8O#'774C4WA@Q-#9.IQ#:X>APP MW7UCE?OBHN#-GVH@T W2'PEM\\56Q A\U?J_GPCHO[4WEQ 4_8Z M8@UKJA[JYQU>[%%[?F.3-@_<&Z;-QWN;\WZ=/.7>H(TNA@/.>HYJ N?QI&4T MTUU0Y0J,0&2II,'-F65G<'#2\FD??CS5W&O)OF3NH\3ZW2 +X1BW]PL\$H%5 MKS@5?:0M!:G3M.05@]N]Y/B4(OB^/FX_K!J]$L'^#D4SB2_OZOJV&G'0. M'H;ES@3H^GT(_1=4G# ^WNQO>#W\?'EJ"^>&'P]USN!6 EKW3=J8$):K&5K+ M(EVRIK<--/7O<.;GEM$(G(0VN[@P4!Q' X2BMB6L* B \S M*9$B92"F,05/#Z$,1L3>V0F3NHHW0%8BM62/:_0F6:OAY<;;@N@G+9-%89"N MR%)%X ;N>,8T.HHX;FZK4I^TK,N93'T.> PQJJ)+CRGXD5W"EOBWW^N"X7?D M*P6BO]Y59(K>$6.IWL>DU!U^AH,#+L9 M],&Z[:UJ7K#Z_JM[$=JJJX>[$%E)GB0877*<=VY#.".VHK3A8@NT:Q:Y+86+ M$AO'_9?S]X<%?G([$26!;XW&%0M\M]$XA/A]@ VG2]V)"K_91.S !LI3]GS) M%IY]4\.ER_5W]W#"V4QH4^]W'MF52@L( \Q'NO0T6R5*S7&=W.UG?BU&#@Y? M"!8574O6;A/_&[E#TXF99"<6DNZ!SQ\Y<^Z8*$H;;YX:[Q^GHUO+OS'\]PH* M' ^?R80Y%$ A.2K;36KNR\WM-OI7D_"%WC'4\#Q19Y34\*E+N08UW%LV@E[D M)+LG=F9TYZ8"WW6OJ4HVWU RDLBQ')GNV'F?3R6SP8$/^!N:&K"E;]G:QIC> M^\ WM?=;;FQ[>;$]2,"9FR-^8+BPN80F87ENF'T-0D;X+0B"".MY1OB^F%4. M9A @7/B6-_[+V?@OR=D]I<-7.6YB%I:,R&':(C@@]>YGE5^^(ZACGC#P60#P M.[&%:#[D(VP7W(03@O C%RX].:<6REZQ7 7(JB%!_Q#4S4(*D:<0WUS8E1$Q M9(/I:K.67Z*BV1&2Y17:URI9W>R/;Q+;;IS_WI3J^0,%A"%Q(1[Y<(3<@YX] MRITZE:DCY!428X$V$QE:Z7?H(1ULQ+[%*>J6"':Y/.7#GYWB;C2.]L8>U#8, MV1QR>\R2AN@KV;$NRCET%\Y[O=J3S;K_+H3K#=D64A^,8@N3D9 M1QI!HGY+^E+RG=TAH.@=0NQBP]_W2,(" (8WD24>_OSG_C"<=UYOAB)W6/KY M_6:[+]\XH&>[#A#@/86&9Z:=]S"D#PGIDQ>SW=RO^U (A@"20L0AD9%%'(-1 MIY1.P?\HR# CI4:D+*>W*R^7OW2);A7H^FVB5&?NPCNB>"'+EW(ENE6Z],U6 M3\?)\SCC<1_#^S^??-L0NFY"FJ"Y2_'UBZU7(< M =@0RZ3$3'I$P$\H$#,R 41"3A,R4#(("7;GO=^O1.ILJ3H?E+REQE0QQLRL M,V:2.[AF62A)LV:=7]$:R)77986: I<*UBPSSUL.QG4Q-U94A/4QH%/=?I*< M"?2CD_P>6G;;P+9GWI*M6'F:Q5N^IV-!R[T^>S0-W!S;9P1&;72[A0(Y;PZ7 M(K;?9R^5S_5ROI 7&*XY'G5:4\.N-&'+]/.64XH;KO%1M2?XLWQ='O'F0&F. M8%>KVJ-9""X-6S:4B:XS/%H$]TCZ'#AEQ5R;I*(H56/Y^I+/6Y:S1% M?'^YF%7S=A4P&,$:F%%0^Y)109@Q;+E'4C(I9#IRM: *E5JY0W:+&#DP:-AR MCZ1&AM>K?;27$@#'(_,Y@3E).WC['DE=I^2E[&&/T?C:ND-F>;+,(T&?^R1Q M@U8ZRY1%'O'J&%'K:]RL*(W%]#Y)9)M#!7;572!SWJ?+"E/N%MMCD=AOB>7R MZG@URU#(O&QZ6:Y08?3Z6"3W6W93NJPA2)L4B%YF-9D@[G0-6V;V6_)&4_.: MHM46?"J]E)B.,L/QIDCMMU30BK]6^YHL=(<#JS?**'E!ID44V6^*2QFJLQZL M>1;HO2KM99RQP4* '%C_A]9A1E;F"U3CL:K<2]=[!@-'BAXX[)( \P4U']=L MI-M%5W6#J%ILT.L!-9G7%NU:9S95-0\M(+I.<$O&AK@[P/[*=#(3C$FYIW'* M<)9:&!XS3\)>#_#?SG0PLIR;+A&U.$A7ZPMGB0X@!PX(H%J6K 57( =(Q1P, MD(5E52?*,FBZIZ@K*6>JBPY0-<.3YF:MWIK3 5GDOJ;6V:("Z'QW*G!FEM6' M: -3U^$ ]E35;_=KG9%C%MF*W/9S:;,T))/CH.F^KM*RM$"=%C;0O*HO9YK2 M&$EGX0@.*$$+\PG0M@D$\8#2;?F=:I'2H?$YH 08D5/UC-]#6::S*#=TK0^L MZ3)HNL>"=JT^LGI]4-,8LVN,2OW^:B2&O>ZQH)*E%\)LG<4UPO;*2B'K3G.- M<=!TCP7"Q+&1'NWD$-5 &OVSU LFINA(_62*K2"V44/&0T9LP<$> MT%C$FPWIP7+.:48;3PUL&2%L?1PTW2]9D=9C?200-6U>Y0S!7:2TRHP.FN[1 M-?&),L6+'($0,]KQN,HDRRMAKWMTK5(>[9?;U$KH2BG67C/9^FP:-MVG2UKS MR7J[DBTC!$ =,:W)7CD+1X#MT^456JV1CRP@9UN"KL'X0ZE!S*0.P$OFYV2* M[7,+EE%:LV9MAG"M@%L'X*6I5(7("G*/57MXWQ.KR7RV!@=[ #->KFWD5QAN M"MV1;C%C7@$"10=-]QCK$"JY$!KE"9+,#P>SIC6?(\FPUSW&IJ6FIC>(QD+@ M!GIA::=&.H(T@Z9[C)4U,ZNFE8S+=K5")HT4Q)0Z7P9-T5->U)=$[LA,!B7) M]/_Y2&$1>IO5*G%')>VQX*L4' M=X!%2*J?*H8ZIK!?MYX7%S:OKDXBZK?8#QCHVT#&47[?;%]S0^E6H MESU]>ZH5AMY^:F=OK Q/[7JL#+'EOS2E/\'R?RPT3WT6U9E+'TORY8KK8*_6 M]=KT6,SO%S,6BSGJ8OZJBSXBF$]^9D4F%O+%H?R= Z^]\M.'W8.__T>6 1B- MSDSY:T)ML1VV+K#\46WTQ2G^PHSK*VMQEZ;[?Q^!DG QZP*$/+),83'XX\UP MV'9#W.:%[ST70>!SXD(R!OBDD7$%J> -^AD=]=.I\0M'FJ0/'FE"S,KIHH0W M)QI7=AQ.J$B#9GWY^/B#)/;J*0N;@Q$\)SF6I-GO%E@ TP-YVS(8.(B AJ[J M3AC/@6(!-KO:W@Q'!Z=L.$!I2ZO[@QJP^X-2I"FV((L$D4>2V7R_P]>Z:F4> M;.K"H)U.D;<(FMX[-B&&=PSO&-XI[#&\,3%'I=:L((,."SR?K1:]D=5?7AK> MV,S35J3LEQ%@^,S(P&FMT C@3=S\07'T%L.I&-XQO&-X?_I LHO"F]?TD4"* M0Z#-77NF#3*H+F2"C=;4S1\L@]\2%'D*>&^FUI=6\QC>,;P_#^]GWINF4H;; M;;Z,DSG6FM"]F?B^\B'$@Y7LT@QR=]9EO MG3H) ,B-MC;Z@-W-T7613).M$9LJHH*07,G9E-&$8\/@K(E*WU+H_EF2,8AC M$,<@/F."Y"T0$ZLFUK5I'4,*$YIL8D4&&_$!B(/4!TK>$LA)YD8QB&,0?PL0 MGR4-\A:(&28UI*V1/42Z76]IHL.^FEH&Q\,%"0XL?4O@F=,E.&(0QR#^'B ^ M;;+C+1 O45,:#)>U-:LF9U5\/1.3BRH=1 E!&@,A;Y'T25!\Z>*0GUP.4FAQ M/)]HM+A\J1V7A'R#K/.13?./3#V?);E1L"W':=C62'4/V.).8\[E&_P*:$2] M+!1KF*8SW> 470P&5.@MBL3E'C%T8^A>)J7Q.G1='N^R(,O;&L0X MGWS6#,86G(4--&E3H9\ D]W@\H"M%NR,VB+9E*6!$9'Q0 FKZ0H=#/3F#YJZ MQ5,G23/'X([!_9W ?=H0!5^:>KE!$PXTJ.= ;M,( M&H,[!G<,[DMF03X-[N2JI)7ZFE!A53R%X)IH(6PQN+*/"G.;F306EWG$X([! M?(Q!#^%A ^;>+C?1"V93KI4SC50I)4Q:WB M]5;=+H\AA(,L!TK<9LCXK([K*Q3AW FP$VHH^-N$"=QX32E..\=IYW.F,0($ MUBW3>FJ%7TXW8CC']G3!] MXKS&1S$]S..L6JM8+83 :L*Z89-33J,AIHF;/_@MBL:%73&F8TQ?-M'Q44S/ MAE-DT=#U)9M<.&YIK=8F/2G -!46=&%4?+1'#.H8U)=-?7P4U'537*XU!R$T MHX(V%84J6YW%&((ZW"YSBV=.LM,M+O6X>*E'ELUS+3:Q_=2F>_%5,'&6.LY2 MGR]/\I"Y.8V>VV93A; SL"F75M: 8==N;8$/:EJ2K9?=(YM M06P++I-?.:\M\('"M)1YL<)64,]FE%P+[2K+P!8$!2CD+9:.+YF);4%L"RZ3 MESFO+6!2*;S.YOI-S2N,R07(6KC3' >V(#BQ-7V;IDZR_!)7LL2VX%O8@M.F M<\YK"S).T7/K'-45/-UO4/JZ[V2J=& +-@>_WF+$2;;UQ24Q)R5LHQP)5UKM MCDB)U]KBM'RJ]&5IHBB M09Z&N$4R)[' ,9IC-'\G-)\C6_,>-"\1MV'9-0=,VBRP#-81U, M^C0;J6,TQVC^%F@^8[[E/6AN]JBJB.A#A.7E%=%(37@?FX>^F;KY0]VFT1.F M2F(TQVC^'F@^1\;D79%VW:G*(2+'8@ M<>U)#/,8YM%.N;P%\YRB#5ID)8(V9R\<'*L0)J^^4L+I@ M@/GSY!_K?:SW/U'^L=[_;+V/%^9^%MVQWL<+56<@+&_9+_(X.\8\C'D?Q3DSW!-P%DA7\**>7[F]=>LM[9F\XJ+ M3/3".(!\4"F<2<>0CR'_4R%_OEL$S@IYKD,/ZV41+#2)FB7EA5CO^!H=0#[8 MA7V@E/ 8D(\7B[\+D9>&_+&N@),:2:CJ)OW2H.L#Y.Q'D9A:2JDM#'22A M0B8=J!()!\B>K;HJ.%ZVYM)LB%"^^=*'5$3!-420+1'P)A?/&-$[6P#="@\M M 7]O"-[E/^K$FAJ5!],5V^UI3GV:Q>8C .>)1)@:NL7C$\]C Q,;F!^7E/J@ M57EQ3DI0")^GS#DJ%&K=R@QUEGICV@S,"W'SASAP9N?QTE"Q=8D,C&+K$M7P MY>*IL"^&+^LF;L[I\;+.5M9>2QTQM4X?+ /[0MW\P:EXFWQL7F+S7TTQ!#^=&06Z-3.U;EV-$+W'1T^7VKQS:N7+4 MO2K7(<.CGE:+0<.G6!Z$XV4M-NH/.L#85 M4FVINQ*7]=:@V SP'%0NH;<9ZH0IZ1C/,9ZO&<]GR>=\#,\HRHQK6FU=TSQI M;)-2.Y^IRB&>@\,,3WR19HSG&,_? ,^GS:5\#,\^ZDP$I+:>:])XR"=SMLMV MNV&\O3VU$$=/$G#'14<_X]3"2#$BWN8:;W.-]3[6^UCO8[V/]3[6^[B (-;[ M6._CE>VK6]E^N.$OT6!;";Y(M^*5[7@+8+2V %XP"OWFDHW5-U;?*Y9LK+[? M57U_T#+=-R?R1ZIOO"AU.EIWZZL)(NP_*SFJ'&<=3[U]X_N4#T20TO=7%#S1 MC\>$SFR0#$F]^9-XH^P@IRY4!81%!\Y$LH$CEMDZ6"3I%L)*)#WEZ4EZ3%:; M1Z[U37V@]("5;!-RV6D FP^&&(+\ON@ N2\Z: SI87F.=8MLQ1[EVV-)'.F# M)AQ16.1[AQVZ)S%>IH@-1FPPSF\P/EQ,? J#X;IND[2X(<%6UJZ&*J,9OVZ% M!H.X^8/<48?.18H-1FPP8H-Q1H/QV6KE4Q@,BJ%E3?.R.<37*K;FLDE,)T*# M0041!G7*""->$(X:C&*#$66#\>%RZ%,8#+2^K*>76BK)JJ5T3;;:GEBD7)ZLJ[+6ET@@;=%ZP%X+O2J- M3[,KE?66)*]V#:<\$Y=B"MVFD$YIKF/DQ\C_@<@_:R;H9>0GVY,9P"JE),+, MQQ:'4;Q(Z72 _$TNZ-#^TQCY,?)CY%]'2N=EY)1O[:6;=-2G$(C9MP [%1*122A1#YV^S, M*:$?5P6=+3OSA.Y-JZ0.1F[X^G@78[R;*][-%>M]K/>QWL=Z'^M]K/=QD4*L M]['>QTOM$5EJ_^>-7>M=ME0HMME<@NZP+;K )NI"+[JN\/6O3[YD3^2/6-%Z[B[>Q7 M@L\KV3OR?_\')9!_X@TDP0O?>TK^MOJ@,IA7F\4:0R"2/V&6BXF_R@^6E[R8 MJALF)X!"0]E)8U#WC"&PN5%8BN!PGNL$%$ &/]TR\G!T_I@VJ2P)DKR6S'2S M8G% ]2ER+,*!!B7(V"V.[%^(')N(V$3$)N*()N*T=UU]V42LZOB@E!_A+)%; M:#FN@%28-!V8""(V$;&)B$W$24W$6:[/^JJ)6(Y7[=*R,9(T;J;XW Q5AI-% M,S 15&@BL(-;F>+UW]A$Q";B:";BM#=R?=5$C&J9LIBJX3Y;6"V;DN\T"[HNEH;$>FU\GA;^G?;J')DDWUIVJ)AGR^9"-IB58I9'F&8U*2/4:8[;S8# MK&^S+&G\T-$R<97.]53IQ-O+(Y=V_^9TQ]NN8KW_B73'>A_K_4^D.];[N+S@ M)](=ZWV\9'[I[>4,S1<3N5*GE&/K.3Z^&/V[).5^X@F0UW^4.V,9AF7RKB5K MF]&:RL-!CT#6X3^'3GI,X:MR"BRZ!))RP*QNFTMVT&N**3)824?NL'@=/89V M#.W+GM7^26B3\YJ>K^<**PV07(70SN&]J7)B@JT MSW$8^R>A;98L8YJT?1U)J3G!:O9M(%HAM*D VL1)O':\2AY#^WM!^Z2GK7\2 MVO-B!U#._5!&) 'R^+(7?HDV+ZZ1?%?KO3_L_=E38HCR;KO M]U=@/>?<.V.&^FA?>N:TF1!B!R&$V%YD0@J$D)! "]NOOY+(K,YJ45E959!L M46:=E97M&81[N'_A[N'AD2CN!?32 (F^!*]39=^<:1^GW9^#@FX8_C*9U#Z1 M4,'SH^2SDM4L).S8R2];@>X65GH0%?Q9(9J#$*1*F/ 4 C/]+O1=V]2CY!\S MV],]PT[(PRCYP3+YZ/#W0L;IA?DZL01__2KW\=/YBQ00X*IR?91O2EQ_ZH9UBZQ\!<),M8P/2T;\:-UN7R%]=;E%^ M'2W?5:RO!7.*7SW;DS1F2C-3@J$U8V;B&JE3AJ8#8ZH1C(&G_]$8.DMEKW\6 M:KV7E.9[5;Y3+-0[PN\%OE,N*&I)J9?K?*\N*H4OF>GKSU.0.F6QHXCE0O*= M(K7J93[MU%KB6WQ'$ M*313[RB?.-S-P]B_@?6_N_RS[;N*^A,ENE^QO?ASJ MB6M3+("= 9(!5B H9#Y9(=GD]']]X>%%FSB:T"F&-#1SJIL:.0- 8SF,UE@, MIZ;Z#,6G4^I%F_17GV@R;:K24F1:#KY&\,-HU=O5[6WJP_V=4E_5!5-OC131 M-A<:63G4Q_-22ID;RVVKTQGWB&N3%=CB.M"JF.U7AE M]1UB&\85*Z7,C0ETN<4-)$<4U\L5B#L=GF( KQ'Y,=>6V;1]MKMPFN)([^XF M9HS-Y80R-R:CFF'8K#=DU<;ZVG:C[-1Y;:N1&OIWRBG1F>\U,:PZ$EWN8_O^ M4.YYLD;E*8<=M$4%^J0J-@U^/T;#;>*' MYSY]*=,,MQ?=4+0'8DN=XP/0P[8:FZ?4Y,E\C+<&:W&)ST>3SK;E5S>RQN4I M]^W>=EHW9 W#3I N MH^V4W N\NMZ.M<%X[#(\GY#B>5*P4$>:)7$,2LM.$YU5#TTUY#6,R),>/*8/ MQ'C.BY*[H$2"Q>MH.YGKB<5W=&':] \,DRBI65/\';OBU@GIB=5O+RA!.1 3 M0Q2H8-ADS*5/>LD$3BR_S<[C8IJ0Y7:EWRT+-<2S%H?G* MB%I.O4-03N9Z8F$G3J.Z09J$(>)>A51:'#U84MF+XGD)4+.UOV%ZCIHL&TYI M(3<6-]F3ECG2<6.D"SM:L\5J+1Z#.8OHP2Q[]S;'UFK=G?E55%^(]'[ON#MK M-L:YC#3'5LT_K&8;JT>IN$&I&P/WR_K4TO 3ZC*;MLR.1?0'JK#?6:M@,Q@I M7C+J"779E.R0HL?Q -7CNB=03,4Y8%F#K!QI#2T#WR>6"Y3>VH&N,\8![VW3 MXNLL,*F6YH3'4I@%_MCO$#F5DZQI:;8> MR.*>JM2H*6:OD%'"[XD5'R.CL"RRQ%BTM?;2C:K>!D63O>'$BM-56/&ZU^!1EZ#VZCXB M!6WI5Z)%P]*($RONS<2YI) VI=I&E^\9JR6@$ZLG3@!$N*DA6&E<[:O#Y:#: MEZO5H&TFD.:.+-Y/R;!4@?.(:-)R6 MB1-&,]GP$])7H\L2!5_"DV,&S$@=F%4(_GC]YJVKE-:NOX0HJ9><)9"\5W?\ M&#KH<>2__N 8-V0_^2J\>)-%>:')!PI1\#JQEP_$CM[7=_,XQ_"(_!U[M\WJ M&]?_S?A^,N;,];>OLHM+L@U])]6GHIU= /CDB M>D/XHX'WR]=?//5ZOS0'+L0G+03V.\G"A;B!A>!^Q^%"W,)"0&BZD86 T'0C M"\'^SL%U.-\Z?+^&^<>E#T/10JPR!ZC: ZE>8? 9/ZI^JI\=F,GWS M7_<"4Q\.>=@?"'F>R,_Z9\>/0 '[USD Z^K7+&SEH=@ M\GM'K _!)%371V'R.\=NM\3C'88[?^N\*NCAO*![2DUXHR\GY+S+1JI>C2=C MUL7V%&Y]?3^8#S5I]N:N/SZLJ&.3K.Y$7=UT-B6N0LC^S_?,3HV2]\ST+_$O MB^0C00^"]"KI0'=C, M^:"Y7S>*NPMKQ[Y8NQPN@WVU4JFIP[FTY('1/[3D*T3_ M=V'(%W,XWC=DKMO?E"?K$'?HJN D?@GB:H2L9'8" MSFRCM&)&%+I3EV-.YY E@>\ZEL:F?@F7H!D&4R+0TF%>Y ;=E!\T=*>T[W-4 MIU-'JY6I(?GX#I].TQXPB=]",D4"IQ\N&R(D="DO!3T, Q?X<#&'Z4/XP%B, M&U:Q[AI5U+70"5F@N9L,'Q('B>"*.'4Q!^EV+ECTI3[?*L!K%L\8N<&,RR>< MZ7P'A$#=\9>E)8,JT:N[6&\FF@W-5#>,\57\^R 4VBVP !=WD5LW:D2 M=1N1[?V:<:STF8[$X<#P(LJQ,"L"31V6C=R>H_*#ECY &EUR9P9S1V=++,VP MMA)L^=32TVLT6!'%/Y#_O(/\1M7WS:WMNC <>OQP"*8L+N]0O-K3"4BA6SMI MTIP,$'4=L#6B.Y ]'&0/=Z5W8=@B2GR@@AY:YZ-:)TQ67-P'>,#P=MTT'EU#CICQOG?:8IZEZR3):=OG)UK/" J8E'B%>>J*OA7:#: M!2_@OMKO,1F;!#3BSG#C5,[O(%Y]$] <[1L#M%FQMEA)6X?1D$\?!TW=D23 M^4"; @-$!I@SN-F_9V?1 9I2&^[;&E'BTV<'?K54ID:7KZ4J0)V$H$VC5,M-R X_%#9HT(36.V5Z21 M""K<8F%-=UBIFYGUT=VX7"7IM?WP7JH9B#]#XA!DU2%^=M\&WK-YBC+Z&TK0 M7%LN=X&69W>"=&OWA[0"@1XE FT!/009($@S-3P&;+QGOBG&/P&=!#!MT3;) MG8A0"Y&OAY1S:"216M;:E2FR! IS.!!=KISCN;98[@)"EOV.]W)MMN["L"]\F>A4BLCIJ72LTY:#:YXTV6LFV:YO4\-.;Q%Q;!'' M'S9)E']_]JV+ I]MA*?U3U'("+[S4YS MU@WEZLQ#U_'18Z:;V(F>C^]GU?-KA4C/$1%]Z[6IE;Y/7[HH0-?Q9EW'\QTO MPD.&SW@HJGLTJ6^W+FNR7K#K=:V^2J,;>]:IEOIJB]?PK+L@QQ5I#M[7?TXS MA17DG_;*TW>M=+US![1KBD-UUR. [WV]1*CXV(R8\\;G^'D6W>4PAB M8!; ;@6\$,#J\7OW[&%GP;MW,U*#;-EZIK V>*=)JK3 <2V<8K(HZ(Y28XW. MU.,33R-K*TACB:HG3_DA",CGZ^U/)1GGXY54@-KX9<_T'+5R#;?QO& MZL8%<5U/",&/BU-YM7,P-.#(A0OXO1C7&CO^-[KB]TPZ?(( MD=?5BAEAC'8;7LM?%GT"UT:=(![*PJSEK'V>Y!NQY-=T7L.SKHA$D?C(^WH0 M$B DP*S-';DY[R)"Q$U!8PE&6Q7?.0:J]JMKD-1P#A(HI(]9';9( MH9<_JX+0<#.V\KE9GVMS>Q?(\!GNT@EDZ//6A(GY&H$JU:BOJ:)NL%R&#%DZ MB"GBW&.D@VZF?]!38-Z#,WGU"TI7X1KJ[Z,P>>V;.[_"] .&Y(+4;M?[;;'3 M/S;X$:1.O]ZIBATA;?F3QN?_# $H=/PHF0";/9' _0OZY7=^V@J;,WSNQO5\ M?#^KGL/F##"8NJ45A<[H]8.IF]B"'IS)IU!7V*GNFJ'2V]ZG*=L8\^]+=$"] MN@R@KPAC(A@303V',=%=Q$1_N^[=#5X?50\CWW"*A94>%#:Z&X/"?[U_>EBV M-[8)LK/#<*X'(-0:8@=L$+Z'BCK#+Q1^3EE,2_[5XH)ZI_(#9XA?^%%2=KIZ M( 5*I$? '*0\=4&@I'/])09DGI;8 M1+\OP\\Y^E.A]B/D;<@6[LHQ**E'>SYHB+R]R: M_^U/"D6+*/H1K3GR7]"_?,YMJ@T2 B.5WM8/S!!X'Q&=%$=A.M<$TD_*KM'E M(@D#VY$(IFU-PWIQ3T-N5'$NP/YZ8I&-"L U!VF&OM+"-'6C)NQ[_L>UQ@[# MM)-:]A[W7Q\'4R$WFPHY^]R#QX)&9'X^"R WB M6,Z@Z8F*@O9,R=IWRH<[#09_5@9<$U1V?6(Q18?DI&I4IDUGUN"S2/!4B]Y' MC 3?B.Y#D5"W/\%6$ZRW0R7 JACKKR;5P8UZ\^?EO+VM;-LXA4_$?5SI#@;- MA1:/Y;0R.PT!'RL,_$')U;/XY*34#-D#OX?0D^_%RF6,I6KEDE!! M)* M&%$F.*5)4WL2RH/@!E.F[:80E-VG,IJ.Q:->ZL8_;C0B; MRIEH5MEL>L&=4I%YG6F5F%*R)*3-2)K MUXX7">8#31"A=3^W=<-&8=?I>_I=XZ870Y=9T2(NVJ$<+UO8@JC;5FK<](>- M^\X.[?GDPU)&=+>PTFT3L;V"H:_L2'=A]O;QL[CQ($[%7Q;630RL[@E' M\WH#1R>0J#H8#-? :3HHW5*M$EIC.WPO<3.R/NL8314Y%(>MO9[7<&_YV.5! M_(6?LMN*!+8$6EKX*GWHU$G:]9HK/+/;M$LZ318Q]@,/1][_P4\/1+KMI6_2 MZ8&7?"Q\DPY&/S"W<4TWY-4BQ1>#Y TC7L9N>GQ7!C/;L$]U$R00(=KTTL-%R(O$9DC=%QDBA2V.4[C%Y;\Z'%PWS''?HO/V7PI:WN.7U*+HMZ M9Z<*.$57K(:<&GR: <&I(H5^X"6$.\N!M$ 8%J( Z&$<[%^+5?0H6:PPNN." M@_X+1YFO^N*V9K,[?7SL#JA ;V\MAW8LOGS86T+=MK*T%X$6&2*/\W=Z(/AC M8M&IS< /!]42JJOHH+7OA'5^E8F%8JDB0Y\0RVOEP14/ )]B?WQP)J^>FTOW MO'_>EY/[E6U_*\N/N;M%?]M>>XY.:&@7Q)ZL=K<:D37-Y[@B3>;3_.=K//7@ M6OL4IGGM[-OE+/-BWNB'++-#86VO0YI[%,R-I3JO8$O?MU++3+S/M"P)S[^% M_J]'2IN]\=$+?C0'0;)$RR0&F0,O3#R$@NN',)/VZ*VI;Z@=Q+7E\EC>R1OK MEE+C%M[:=MU+3!VT$@/O@$B:]?5= I )X\EGG$!*F9AO!FM0%D5[QLIA=XM4 M)(W7B&-O^R)ZXI0!]LZ$P/%9_36N+9;'\IW.B!NN-"3Q+B.7G:6A4W%IV"I7 M8CG%C;3S?9'B\MF]7W:P;J>/UO$5H$_JIO7@IG^##Z.=^XCR=D'L=HXO+N8L M98'B/+%;$(3B.DZ4^90;5%:;$M8'2P>LNYNMTD#(*#VN8++W#U&VB-+YB!&6 M24%#AP\;WHIS\R$[[ZP59SV@8ARM K'5[BP/I3+'IW:>'DMR:)$[<3[U"&55 M'_-HWKQKF#VE /N%7C<.)!(,,?UXZH+KX.-_?5Y.Z JLW@5>?L:;A[QG?@@] M_7 @DZT&W7"4JNUU0%D_'(@$/=G42V)PNDC!6VL0+"Z?!X)8<;U7$#^*%9NE M%^S$@U=5]YZV8O?+D1],MRE6I.]'!U*=DW MIVC'I>S/04$WTI,SW=NG=_&][ VIM'U,LL1V\LM6D-UW"Z*"/RM$L1^:O++<:O;\SO*M37 M CG%KY[!G4;@%#/#L)E&4+.91LX(0F.G**=Q#*'W8Y"GEI1ZN<[WWKYF?_UI"E*G+'84,7O03Y%:]3+?%].0-/GK M^-B?5/E(@'I]3BI2K]"OB?C*I#'N=Y(ZR5CV$SO=Q*(_D%>RCW/[S[+ONGH0)OMCLB/Z<9BX,N&_ M;I*5#*K9OSRW=]E2/3TV$V_._(N7%^N?40:!XA2IH=B,UDB=(S0.8W0-,#.# M \"8X@SQ8OWZJWN$@RZF=[GR6+2WM+]&8C"MS?C$@\/_3NDZ';V-]5J(2I=\ M7P;#D1U7M@DE\W=*$V7"A3NEY,]+XI'%!%Y1-*\N^4 ;Z38H[7-V@UKB$K MQFENI>8VH_:HM3"OM(-BBDFU)K%WA M]7%?3DFY'/^LQ"#8S.%0NM]HL#;N-/QMXL?F)760-[U)N83&*K(;$4Q0&O@& M2"ESDMJI9&>[V["82)MKH4.4EM>T$T&?2V$Y0>5V2\.][0D9E2 MYB454>3T("T81XTC-/#)P68^)]*/STN*5FIU!K5XUI$ SQ$S3Z5)TDI)D.4GM%:,_GKK)6;Q=\J> M*JC[^0 E1%HVJUC8YDI314XHMVY M/$,(275P(NIZ? EW-PB?4.8E-5'5'5FCZCXJB#V3C")$P9UTT+RDO$47Q(Y2 M,ISF<--;^9.UMPE2GO*2BOEQZ--XJ>?H!N9JJUW0+I6S">0D-7"X5F U,4P$ MT=(N4?(R4(>R1N4E101C1%IZOJ;JUF%CESJB_I:V,T7!B4, M_72>6&ZAY$E%&LW)U5I<;L;\N!G03M5)!\5R*Q7WN](&==? 04*@F@$J-VJ! MK-%Y[@.Y.QYA+:F*KO> EC;+/DNOK80RQWT]G+XS[TRP0.VKT!6EWT'#"@\/*@M4TH,>SO MI)9FK=AN;[\5 ;IKZN@AWF_&Z:!Y06W:B_UZ<-@N1*1714+66IITHB9,GGM_ M5QWY#5?T1:4K6$RIVIPAJ)Q0YKA?4^YZPTE51UQW)SUD[;,ZVK(2RASWAQVP M6IM>.4:5FC1L3Q&T3>KIF#GNA[6>35>U*$"EV3ZLABC3I:24,L\]I8R"41GM M#] U$8KKNGY I]WTX_/J#61(62*C]0A>8_/I\&@:RR;7K!2;6+G"JU!:S4[DN9XHBQ$]MPAS8H"T=Y,]]P MV1W2S\^K/A&2XK8R%G%UN33X$=87&_.MK'$G(%))I!F-9R5U/]967(5O5Z86 MGU#FF'(;"\$;3M2!&)LR#8;K6."C=,P\4X1$#FG%VW102="M79N;4&-AFY+F M9EI;'7PJM%N(J'3:9:-.UDKN(O$ZT/Q4VYUI4!/8\EA%B&8/[-%J*:C**6EN MJ2@,06I]N2Z)@J,!5)(IV5WR*6F.K5JE:1FC<9,4;6QDX%AWL#-#*R7-J:H) M:JB["QI-1VHN^WQ[7Y-X+)MK?K%,]U S'&(OB?H46S&FU^@KZVRR>1F$I8DU M1'LTJL:@VL#Z0.GLM&2V6%X&AW*K6D/X+:*"BM5HZE-BTE[)*6EN!B5;YW84 M'3"H$NQBG7(MMTMGH^8FL"BU*JOF*C)5I.-M2FRH3]JNE9+F-[5V4ZZ0A[J^ M1/<2)?$31^#+(!LVOZNMZR1MF9Q(B4,%Z&"*SIO!9IO1YK8U$'?6$=6G*XY$ M8.NVA@788G$<-[>O\5.ZD0BK-72J BK5U5D[%J6$EL@+#/,;$]QL,#.UJJZ& M_4K.A$SR"EI3F!J6/?Q5G,EHT+$-+SQ M7-L+FVS4O, ZR$@W2WI]@2*';1-7@T$ %D?:G,#JR*:G;0RB)DIFHR/-_69= MK693R L,+R5AR9+;-$500D.\W_%KU/Y(FQ/8MDY*H=AJ!VK3\$2BL?"\9B=9 MX!,^4\7R%XU9GVVB:V=&:/1F7M[.MREISLI6RGA=IEM 3>PA;DCE,H8%R6Z4 MD.:L;),X5_1J2.R=9HD?$ANAB!MUFNL@GD9."RC%8?+5#+T8F6FQB#QB)*-H$\V)8:C202 M\1N6*&P5=FWY58#MC[1Y-U=4[(U;DULH72I-JJ31ISIA0GO")W+[6FG<7'*< MJ-,80I99O^Y6,]*<##C6M\+IJD6JZ]Y W$U @QJDBWO"*QK0BZXX7'98<:]/ M)U'(RZ5--QLU)P-[&3>E9K.M.4+/J_*[=FQ>U^:FDE0@IWPC6;$$AR$S62&KJV*Y#4$;CVJ MR"EIGC$;&($*!HV9JNC56FE(A:3-,V;%?*5UB'15:?0#9P(..K8ZTN:, M 0@[#E&KBT!<>X?!7EW5^W8ZW1,.DCV?EH<(BL3.OKN>-&RAS2Q;&6F.LZXW M;HRK[GCE-.EJQQVNW'V%RTCSG&W6U7%,S"Q;;2K+N8#;K;F+R!EM;K;2QF:F M B$<4)T!E7$<;:;2*AGWA#_C4.MD3)0<.GI%E/O,:E?&&G)*FINM*9#4D(^G ML;I6&_)!UC&28ZV4-*>+-4:DE*@/!!$Y5%%?"8W9!.53TCQCFI)@;2R.6RA" M=8Q=;5IR.#\;-L_84E%PC^BY;=$>]KOXJAXFX?=6PT]Y/W5Z.^DC%0$=@C'B MS;'Y-DXB#_R$]T, 71SN7)9P=,\I^X .'%3+2',RZ-?-&>XW>EUGN:WX-,M/ MFQS'IZ0Y&4RZBFMSS>T*U0]EM3)44)1GL[GF55%8+-8TJ)>6(NV3F.9:>H]B MLAGD96#NY_:^:P8M% PQ98ZN<%YR9 T_X?V(,K-?;LV^GWC>$]L<-4N$;&:D M>?^+[;:,1DSM'07@5MBOK95-V4I)0WPA)WL3.94W8T'<;!<=S<9BYM9Y6&-B5+*,)%%:G:F_,[/9GO">_']\-: MND,^)U2V4/WI+TQ3,;:S;=62IH3F!Q7.S/$ M)4"R#!U0WM8L>5;+)I 7F,,XY65+V):=YCS1S)[4L5OXD38G,-_S16#URP/' MYN8+G%,/#,-D4\@+#%DOQ'E[.Z\[,27MV$U#D_?[X[@Y@4VIAH2L!6*(XLK2 M#()9 "0^&?>$]X/-S%53Z:*:8Y-5J:/'P8+%Y)0T9V6V?\!T[3"=HDAK14_4 M2D/%$D<8/^']E-8LTAN:\=S1YV6NCBVG#A%DI#DK0RBZMU6%?A>E;7D\'HUD M>5?*2/-65A/[P/2;8PX58AXW@D'W,!MFD\U;6;U6JLNRS:Y1J=)I5,@UOHG( MA/:$]],_T-O6\& (SE)I>WI/YN,VL%+2G S,2GU4929;7DU )!Z0.#(9[?F4 M-">#,;^8#AQBW7&D9!>I=,4*XRPRTIP, GV^05H>OU8%OP2"&;I4\61SPD]Y M/XAGZ70C,$EGV(GIT7;E[T=<-MF\O%9V1-5;!K-2P<@;:9L#,BZEZ> 3WH^/ M.L#C T(4EQ+=GXP:2A"VY)0T[_W,_#7.5(*-(T@C(_:[JC6N9:0Y&33Y;=C7 M9B7!P6XQXX$^S^::E\%Z&F-TC6+[ M#KTO'[I[]K#7\6S8O Q E22)CLWBJ!YI6[33F.ZZ":CA)[P?J=%GVK,5O4"7 MUF1F3X()TYG(*6E.!DV*1'F$7$?.DHKDDC3E94W*1LW)H%S5/1 .S9W87 S[ M/C88SH=U*R7-,R8%*Z.\'TJ&T^RC'2R0)%GN'FESC!UJ(MN+U@G0*.7IDFZK M+6N[SZ9P(CVRZC<^'W3(HTCMPEJ.$EMY*&"LI MJ2*<\'Z:(W1O*I8Q4H>)X[JS9P*Q:&6CYCD;XEZC.J\V>7%(-1QMS&S;T](V MH\W-UI&'&X07UVMTWT>\S<:(A_5%,H43WL^(8$++$C93#6.M/GCF=%\%=;5^=;16^NRV%B-R4W(:\0)[V>& M./,=T5'J*LXIHP6PZG1=RTCS46EE6#_H2[4IXJMD2'[OUKJ)>TV<\'XJ*[&% M;A R0'%2& \46A@T&U9*FI.!16I=9\?M%+2YPUQ=4**ZANC81(>0U@;- M+7D^)8"PH=Q25'ZW$*M_TQ8:SZK9' MV0SR EM$^$SL2^6):E=015K$^^%\?QPW)[ UJEOZ7@X)9T]W.O/)>LL=AMN, M-BS">2MS+4VM#M#*0S%[;DV7@FH,5"/M+DU\Z.] MYK*BXHI('P3-26T^[C?YM$]'3@8+H=>EFI08J[0O[]5A(PP;211-G/!^,)O$ MJ@>'TI,0=KLR<"5LQ8>,-"<#YK"N:6-\,G&:*QVME.7>,J2S">1DH 4[,%Z7 M;<$!K#ARM*A#QG36[2>/MN;!=_J#JN$Y8.YM1[6I3TN];-@3WH\XF'8%RIR) M--8VQMC"WJV;V0W\/-+T''6/1',$!7RG5F]'T3KVMREI3@8E6ZVM0H;G1-QQ M2[9]0]I+I"Z+"K4S5VJG MTZ;GV;6DKM>TW?BFC%T#8VN MQATK)-2KJBNWI.RV>:-00B!O#*K\Z$S% )U2JMZ1);EM&(V M)P0>4TF57Y,2B@C;DJDVAGTUR$CS?IW<*1UZFN:)2J1O)Q6I)7;Z&6F>LXJV MLU2\&<:.(M>=/7 6AM?-ZOOSLQW/B;E$[_NXLZQ1VW6=Z:GB(I'"">]GL^#4 M2BBW0H>V5*J!8\M.0\](\_:H[2-IU#4:(J)$)%/6>D*3D5/2G"Y6M'Y75NRM MB0JT+3"UCM1CN8PTS]AT,=MB4U.HJ<.R.J.Q3;79H/B,-L?8<+WVM,VXT764 MGETWY:E?8RA+(T]X/R08:A8BDQ5TS9"]D:AO7*NQ34ESNMC5HP5;,RG6P8+9JW&Z*775D],=$-H'\R9>T :MIHZ.J^@99"MU. M61N+V:@G#IZG&-KLD#SCZ"8OX;4Z:8[9(VT^*G6KB[8^K"=36(Y60\QG)T0_ M8>R$]T.*^QY%:F17W&-]0&U6K?8X\0#)$]Z/$'=4)3>Q/2F7,;Z3#^;;7XS3T_2-&M* '7HXK;6J2Y5;)$)X2M&,UFQY'_NL/CL6V MV4^^JGA[6P(7?"G-_KK"-@I>)_;R@=BQR.UC=Q8)\G?JW98+;VIFWXSO)V/. M7'_[6G3[^N_LXL,?Q^KE;2*G[U8/OY1Q9Q_\2JI/0]^-(_#)I<1O"'^T4OWE MZR_>_J%QN! WL!#T[]2[W?K@0D"+>+:%0*%%W,)"0&BZD86 T'0S"P&AZ286 M D+3C2P$A*:;60@,KL,-K /].PW7X0;6(0&F=YO?P86 P/14ZP"!Z3;6 0+3 MS2P$ 5W76U@(!@9SM[$0$)IN9B&@SW0+ZP!]IK.NPP]V./YNM<#G<\.UD+6W/%-_ MZP=5$OQGE83YG;[LBX>_J@-\,IT4OG6W %7@C%CYKI?T#"+XCH/R.5T*;TTH MWPMC[DLQS@&/S"<8"M22^]82-G.T;GD3??/Z;/;0W/FVT@=2!+B5PJWT5Y\6 M@H'WA>#OXV!W?$,L__5,F/>]^JFK@[T41V'Z7$4RIWN)F"ZTP$\0'G?U,^[E M<)%O=9%M$[$]N-"W'LW]ZD+W0*3;'C#OQ3V'*_VS*]T/@![&P1ZN]*/'WE^] MZ0Z7^^$-VX]T]VO&80AY?9_D+K(HU'7?K/Y5U5?F>@#">_%2[RS'? Q2[E@[ M!KH;GW'_@\KQ2,HAZ"L[MV]"]3BKTW3'ZB'J@9?,YXQ[RP,=6T']^//,%6)0 M.7(!]ATK1\L/PS/6CD'E>"3D.#Z7?HYX_:_7H__XAV$ ,)O=3H*FI+NZ9X"P M6&CK^\++J[9G=;:NS/UKONE<0?BG<_-&A[/^@6\^KX#_CE-?/6->^(^]2Q^# MKP2ZD=;&%F+/CGI@]K^_J_NJ!J8590*XU)^N67&L+-*KOY\)V,]_O M*I/M;X6LV>'N^(M\J$DSCZH<4A8NGZ*ATK LO$JHZ&DB8S?2_Y9\CO M[/ +U;%0.]N%VV Y!8$VF/8":]]SU^E[.+/>:,Z'U4/RF28P[*7NAO_[6[U3 M^:TP\X.E'OWO;_8N^L.+EZ8?O1#\5O#T92+3ET_XXYA;>'.TG2!6LJH)!?K; MEY;]Q S?&M,UB2Z;Y(AQW7FG)J1O@^*__8D118)"BQB+_N=_OA;>O=K +2;Q MT*O8SE="^"\( E^#@*J4M8V^G)#S+ANI>C6>C%D7VU.X=6T$0(@? 8!TZ'FR MG8$@/,ZD[AENG*Y!UP]2 ?!1%-C3.&L!V_<[OI=R%_BNFY#44[< A-$7U""^ MH ;9W$N>CY&,:@./B&:6NNYMTF>"J=_^Q(L$0T+ @( ! >/<@/'7O9ZTNJ7N MO60 7\!CVJH%?AE4*15G@KG>MH*(V-P@>(P6$CGR5W//0?K535]$%'L6I@^G MLXG+09-%"L4@?%RT\OHAT(.&X/%#X/%:)_6:%WY!#4QV W9*"%6QZC46U;G< M7G5[\NVAAKT7PLYDJLS0:GLTZ*-B=5P9I2Y'^E "CG-%@KZ4UT% V("P<2G8 M2''BGS<%%*]E=IDI'V.4%ZQH]%=-A"UC<\=N:9M6I3=L6F/^^EB1R#7YZ!.@ ML:CW&I@[#QYKYD=EWRJQK.Q+#])7B!$6\X-#OU#JVK^VT[;G864KV^MFX81K!$ MFL!?;(=.4U%Z); )F6:4P0CSVY]4D:!HB"+0];@[U^/S(Y9!/]!GEA;-5*'E MUA>F1^N=R0U8_M\-OHU4#[V)O>F(ND(-]N:LO=4U*ST509-@@R.*&$6]$VS< M7/%R3J$[("K8&2;?0^G8I8\N;\H$4P#%\',P=ULE?9^8'7\JEJ$*/]9Z0A6& M*GSGZWE3[5T>HIO+U3WY[.5]?/IQ6[@S^PHK60]X>$'.V-3;ELU4ES6@YM!2TXFEF9+O^M+ MW>7-D8H?@&1J!2,. N 9^T(4Z%[H9BM2 M%)ZDQOBLYX@?+SD>!MUNM=-&$+2YG1PF8+5<+I"?O^7TK4][20L)+UFA?IH4 M.LJ-]\S^7RFBJFY[:3*M!)*/!#U@N'H8VK-$75YI]=U[!J*&SW[9:P8R? M]3S/2C#EF,5_%U/NH^ Y]@*0S.8 S(*5""LL)"JB;W3;3:O#D41J2)C(I! " M(P[LR ;G2^(_&3C<\>%QY*^>:C&_PR\L187*>[N+"947*N_=+N9W^(4%.X^C MNH]6;@95%ZKNG:[E=_B%E;[75UZ8%?YG;L) 8'GH M/?%==F]O0WS(S/ 9;+\Y[;JUM3$3Q7@=NYM&Q=@[_#9A)4OZ?L?V[[)R.^L9 MDBSFA[C^][M]T>/EN@W

K?;^M+O>X,O[6ZS^Z7?:8^^#!N=EAP-.ZU>OXDL*+9) M-O_XWY.KXU-5(%ES?OWM\//5R=7AUE(#(*$1_E?H]>BI0X@, D WL+:"1/ $IZ M,U#@_*W^[?Q84T#9DDD.D5OL,U9EY8WTE0*40\=>[,.#L!(OGD[1>P-DC X# M1N6C7(:,<*[#>(C4G).*!2I.XZZO\"/:ZP(H.@'8 M"0SK]6?P!WKMX%F)Y@7YKPH<7[*WTAS,%/XY61.XXS M^ A./IW&C/O,P'S. M-><$I!!L2X"#P;'S>GD$-B,\@GP%VU)O+/T\Q'T&X^X6[4':@XGP MQL!@RWX#GX-KX#IQN@,D\A,'EJ)!4;D/8710S@! M=,&"<0<8/$!;,1%W!EL2+TQ@HTEFPTOL]S/2%T%(]G<"8UMNLGB8B0"%NK+N MT 42D;M,^IMR3PP>R0RK&IC@MW;P9T3_Q^Z,>U&W4H1'K :1JQJ]MVF)^6T/ MP7J@7W,^H$O6&2:Q8&?//,O-OP>,%W: 9''IG7".K'NF9WE14I &&>]M8Y#\EN<\BI1[&EQI[:Q;(G9X%3ABF:C-1B)?N-+W?,1 M5XP:@#"ZW2]U.*;AT.M[(Z^[4[@":.?H[//5Q=FG2\(4YQ=G1\?O$49L$32L MG?LQ>I),;J7ERR-I&H2 8X5!KN!#G+$?-&H&)AF+(+5PS[*T-IL)6 M9R [Y0B81'HYNVY'(] 1"?M+Z;L"G:KO7!#2-#%IQ[C@840Y>MS[9^O\(-"Z MAN'9/7 !LCWEHVJTQ$&C\X/\D?^)SS4ZOOU1X.-O U\C'*2[\WX*=%-EW#\$^$!G,.MDH\!*%OM M9U<^X^*PRS$: %^$XD Q:7\E[K,Z/"UO4=,=#.'L1D'&>!.!VCB84OPM!MF* M$UI%<9,S%I3E@CV@62P9/O=;R5- J0,QO"H7#4XP22TM=R'3NH.]9HA M;%02^JB6GA+111!1K)*6GR .2!BY#XT?OHCPE4B578#D+T-: ]SBNSR9-,4_ MTWP" @0(T'>5ITYYWI&U%6 !<"BU3]U)I])C>#=D#]?E\9%K?(]&0YLAP2/I]\>=OPOC5:__Z4] M'+:^B'IK]$6*P:C7'JZ%.\BEHV)!RJA5KP%M & #8XDT,5'(>=9C MEBG^X.02FS\ZG5&WW>WUOO2:HOVEW1?]+X,6_"7JHMUJ"T#]77\'^.-OD^,A MT".Z$IT/AT=79Q?/2HJ/,ZG).-7>FP6(,6_!%2?9:[CTOPS]AO1Z "$[4C[%23XJ9^?OGV03#O*WSQ?''T\NKXXOCM\[EX>?CB^= MLP_.\:^_G5S]!U'1;Q]"?$WHU& M2V"=1-KU04,D<7X]5GF%$\Z_C&XXAY'SX=BK.TV"6R#2<'80R>LXXR!V!M@X M%9[Z"84S<%6.GE):LLTN<7)(K7K"YZ&(M)%60\"#LI#BY)'V@=*B:/[60NW7 MLDST)>U3;):&(^QE%+=517&K*.[301\-<:Q,.9?]"!Z!$D8V9*Z!M47^ C*\ MBL0PY=:/D^G_;^_:FA/'E?#[^16J5)U3,UM@+)MK9G:JR&W";H9D NSEO%"R M+!S$K:+;'\JG1LK?44N2F!8L\6HQ"9>:GA;:M-V;EWL'7 MN276<<$F1G&,2[A[I5F@7BQI&D79&@N/E]G&GND.9[LB,4N)2%!\I_-8*_3' M-#H@5F^.2EC$#,JJBW@<-B(N&;*/R94M-I9G"MCP^:(2FTIONOC ZD'I*[E\ MN)'QPCO=*8C0V@A!D;5X SZ04I%D+/"!D@8=P+PW;F)<.#K0@>T9490$(U+! M"*$1:6&$(AB1"D9@J9@DE)_@A+!-:6-$1:J5!2?2P FA$JEAA !63 4C:E)% M<&*'G-BD==/*M,;A2*YN0/)>37!"L%L'GH05\7O2D["P\R=$8W/1V 'HD"*5 M:VF>$2$GR9F054%%TK,@9",5-D3!DKK?&7DK,%E]-'*="3]SA2[8_I.[/4R9 M\*@R+_+"HQ*B(3PJ(2='Z%&]=:5L.ZRC8G,\U*B+G-Z.4%Z/C/GOP67Z(^I\ MU0HJ3=NL;/T;>4)_4U\X3^]8^(7S)$1#.$]"3H3SM+!FADOE75@^RSNRL+X2 MPHMZKU[4&8U)P_20K?"?WK'8I]1_$H%C)DS>_AVD-^?:@2+2![O'FZ.-J"M$ MX3WY0*P;\%BS3-UZ8L>6>2=+0XC >W6 V'D^WDSOSG7Z+AEZF_H^*Z<@\(@2 M1.RK+CA,KTX(/W&8%858@_W!L?[%?W?F]"3,VAT$A+/SK>^.\3OS>+(N!>B. MF.^.^V]RN38:%X$-0:<0[M[4'SM@CMN%]?'/N)VEP3K8' MB%%^>O1_9V*=-&$)H(X&_LWAZ=XQTF:QN@BS*81AJ^/%2=.]"X39\'QN]N6Z M7)8J.\16?K>2'?ISF9<'WM=(V?G6QCN4"'XV,VFZ=V+K@L.-V9=M1T;7 M5$IHI2)A(:!IV]3,D#-X[+Q>T94CK<9H50^+5(KH[GRZI%UUWFQ49!WWFW5, M,->^#^G'Q7*N5)-%M"XRDT>7F:PH$A:9R3UF)H_,%HK,IC*74S"0 M\FB]ROJL%) LRNI>JP%5,,R&,V9P QFUS(JJY.3*HOAFB<7O(J>9 )&)9T"3 M6F*S:Z.6E2YFWTB)7&=&'#DXQ,[BHI>!=<W1$JY4*N5N ML:?VND4J][H$Z[BK]DBE5Z.*5L4RO&YW.*&K)6YCZ%!50L$?%Y=7]D,7''-=S5BL $:E0T12$JEO>#_7U@)I2 ";?MZ\M[U&A> MW=Y_J[<;M\V]33^\\&)FUU_%@+>=*>0M!T[L]< .L__SGYX[PQ$#OUX"3H]P MF>3QA]['%]'H/YL3<#[LYG@(P]4Y)#Q8F7O:^_4$1LV_YR:?O>Z<_-5N[WN* ^=?/FN_7#__:_^R9<8-"EZ3D\$ M$PJ_9\(70**FA6E+J;SZVU5KG4UM^'2(BG+U _G(=/J>]L=6 ";:RO_^<0Z;7*5ZI:?2:K>F MXV*WJ&E&MUHJ%KMZK523%5TOZLI>4.8/;(G+8(DO_[ING#7:L_5O5Q"H 4D! M BH9^TYT(4! Y5<.B9**L823Q')9%R5U??2:(8S(BG!@% FG#P.V!"1Q('1F M+$[Y7PRU]X.F?,;5:EFJ) FHMS57-]GC"47WV<:NQ Q%8EN[&Y\I MO9P,(.CS W/5=*0UMX4V$O*]Y5>W.BR^(*7),W!]=K5-WWI#M[>5UO8@ JE* M. ,BMOO,YP;V<1_TD.B9>8_J>6"12W3_E 8&X%/\1?]Y&#O^IY6O"V[[=((& M+O-8![X_\DX+A(/6=GX6ZJP_ /'L%:O2)6S"(3PI@?$LU7 #%PE@N MEN%O<-[D /EZ6L-IP/]DMP4L$QMN;:K8:73KZ< M,SY!5,G0/, %;=BZXXZ

K.FQ%=;G.QZ53Q[K834F%LMR.JZ/P,V]@F& .YW_'?5,"QX+E^HC MU[3@&@N!<4V:BAC)N-XK0N^%WH/>JV5%A8\UN*+B8D&OJE5[+(H[>V1BN[T>@2TVCY:#0:RV(I%RK-5;I4JJH562G*=RF_D$,& MOX?UHV%YYR#[3(:.W4=UMT_ %0!C(?$'ZB .Q 0ZQIIG&B9QS6!C,78?=QP@ MMG"=1^IZ.?ZS,V+_X+?Q;!G)H:94#VYDIL5B W:GMF'O$_6Z[7O!V)V/79?- MWC-K5XT;.S:#T\W8XS%UPGL1IFXM4W":^!8HN*FSWG+_H[KO3??4;LRAZ8S5<)4;62J M5&&JA*E:QU2IAS)57\>$*2?E&98[\L1=L!6^U]1"/?.^EMJBXW6;4):-D8HS M$2)NOWUP7#9F:B$J*@8+H>(DLK!L\Q_4^WQ@TAZZG%!]S/;XT&U0^9-#H['+ M'!Z?Z1LK1@B8AU62Q\4/^L?@XZSF!P+"L6OZ+$2+E_^P5^":>C3+/FA:%B(4 MH6DO:=K!PH87-.W*M"&*,(DE-&V%IBEB3XWN(O\TG?0^Q@V]TJ%&#;5FQXV/39UBF38,;H_=)SQ,"T7G#H) Q5@>I M6S <=N)R$)7Y1B>(&;7SM9![EE>EN' N4 V;KLV*,/\5'_RLD0@K=';G7E\5KOFI6:!X M" 1&A;Y8*@6#2'=)>\96@=;YM5@%=C7,N-5MDXEC.\,G<-I!VCQ^,$4?T"&1 MLNXXG-=OA,@<2&3.B:5'YYIN3/N'1CR:>0&ZJ9\) =JK -T0C5K'(S!W]Y=" M8/8J,'R*_$@M_M9TJ: MS564C8E=BRU";'L@@:X+0&[NVZ0W""DIO M0"R+2['&1!ZL+4PL?!?4_Q /%,#U@[8F\ 27%PKML@_4VZ9UL^Y0Q9)2T:M% MVM5)C<(GC78UI4*Z15PM50VU1M3JWKI#+2P"F_1N:#6^-NOM/70>>KE]U>(( M[V+;&,Q&N?1A;+I1VY#>.EOMN6>%:&C NFZPQCK<.!IQ(6.O 9'T8&Q!(1JS MG!H%<>VQ\C;V(+[%']S G^S2L0V_X@\$8S!P7"#4D(ZY4T6Q)M5>] J0+%7G M4XL,$2:O!W6<$E,"!JKY( )8JM;U3 M\.H"4K__6F_F B(;S7-I^V8-1\ZJ) C(UO2WZ,AG(8N+2FMC5&UKQ?=O6+ >A[[,Y]\R@CL7T@10=OBUXA;"W*/D)X[V6T)_$]QS[<\$\ M)GN0>BG<7O@2'/2"S AY2?.8$Y<7EO4W61C/$PTOU)AF58K>DAK-EKNRI#EW M?%'9N ]]9E@L/)UC\'3N37U 7+YN75!XJW!UTC_FQ)>N1:$1 I/F,2\YKR%&W5[6'4;9<2;^R"\\&=Y^AH/]MA<:E/ MW.3B4?[1_;5G+.B@Q+:0(V7[*-D41 M8GXHLL[/4I9)=BECILC2R%Z$0I9(,=F39:PC),082S4&V<9DQCJ8Y4[WN>OS MW#_NO>?]GN\?[SGO^YS/><_W+"][@CT#B%F:69@!7-P P,6Y /8T8 KP<'/_ M61SBY2P^ 3X^7EX^(7[^ P(B0B(BPD+"P@O]G8K<#X@+ !6"5A^L$P"W. MQ2/.Q>X&P!P[^;C^E8!_(RYNCHT'^ 4$A80Y"O5B #<7#P\W+\\?JSG2:(X< MX!7GDSBN>>F I*T'_XE@*:U'Z:\%3II4=X#L1JB*VIXA,8)"TC*RAX\HG5(^ M?49%1_?Q#[ M."X^(?$).B/SV?.L[! Q5DG*"N M3BTF;4T;\5]+#-7]_N@>^(K\S?U#<-6Y7ERRZ Q_)Q..^[1?4+U,DTA3)N;; M=YJUS<]B3V/]\C @Y"A2,+:[409\![\PC3J(_LL3+7U8K%L_2&#Q[06,@>0+ MTCE0N7W/T//K&:\-E0M1;RJ8C8%*"T.-+??9 )_ Z*:;]([C M,$+#Z&=F(-?'_;NEF@\_1:A*O-,S](H8'43TPCE:[\9G\4==&5K53:.-'M>< MBWO5B>Y>'KGTG0YP'32Q36$:]4]DDK5^Y3,5SW7U#HMT_8!Y1-?$V(/Q4FI@ MSRJ!F^A K9]_63.-4TH$[Z#VMI9_U6F+-(-N^-QT!D9K',FTV&3CM7>%30H9VG99=_:DJ* M>*OU)+UEJI+7Z,I$"J$47=QQT97?G)-W;+)"W=L-K=-U@=Y("MM;F3N-O56QYI MYB9G\!O*1>_G>N./+[=6BI MGXQC1);$2O:YU]ZU<3$M9?N%^5Q[H\Z/D&BZ?7+NM,][^\>01;VCZK,B+GX MM1MN4M#DREA, OK5S4FCEL]V=A/+IXO0)6"O'(?'*'DE,I]7.)1#9UXKOM+ MG&%"MZ)AK!_[C]Y4^_H]NN ZQ.?CXQWA4V:H&358P8(NR4K>GDQW?-)IV5=. MS)6P&K@1MO;)VF@'HC_HKYOXCK*L7^>-I[0H/F]S=-XDAF;AV8 O*M[]7.S= M5E)27L+)#*K9?+3<,4(!//\473OH<*6AVGO^50ER/_@+H70%5KO3^?^7/]C44+; RMFX$?'JG"N-OO MB@CUX.O>3?O:;<]VK!9E,NUJ=J,2*F+[%+:6]K X(SF+'Z*/$/(>A2+_^.LE MJF.,"QM,P&^0]4.ND2X.^+"W+8ZS>4V4U=N*IFJCDL'1RCN>]GT*59$\8S18 ME49.G-RR4V4"@1=5;-6A%L<-UBDIZ$/2N7ZC% MKO/:!C+AMR-#,A+!!K2+YZZCU^! M'44>,Z4VDL!HAKUV &MP]%>69KZS=7LP%WH4#A%F23HW:(,)?JRUZRU^^'W#-,W_K25>YH0XG?7J^UL MH.4]2I^5;*B)<8DLZ\IUK_8Y,0!'!6+T&S3-XW(UXZEQ"0!?0]%/Z?5 Z$ZH&E1"Y6+>X)BA@6+NV=T+ MQ\QC95@FON3EVI+J2)7S$QK*&VS@U%._J)I@GV8R3)YU-#+P^L?1\$"%R-!K M8P%YWN/9N26:5G(/M&JYS^A"4XBB.@%>IM\P")_B2^5P_\HW[8%B]=\:?YR) M?:K0B_5GU',L&W3NXL>Q@0,#1RV.9BPE+^B7\]$T<5!D/8%AS!'#Z7FSVSG4 MU%D?QEFI'TKUI>/%\'*3:4%XZY3']F M$&L,)L"X4RL/GM5(N(LH:%/$7KV)E I1J$9S^DYK2R:M6B2;-3MO$DBZ2\Z<-JIN@G?ZLHR3:?L7MM!<_U:_W)#>FZG#%8EK"S$SK9* M]CBL#Q61CR"K>:T;+.ZH9X2;+EE*<&$,:8X4J0[]V.9?0'<#]E2D'[]BN M/GE\,R!G*CH9 :$I=%VG*C,DBTW&VT3H=HM=! 5UE_N(RU.JUFGX*5E/Q^*H$9'H]\^.3-:5DV9[0C8?3DS%I M4?G//]?L!;NN9\+SLJ:45W947ZU&DTC0PTO&!L.SXPB#]T[P!]>;!.][Z \> M/EG^O63=(*6HJ93.21*#]9#5$1I/%VQ*(3!]&TJY:4C4/C_9&''/YZGC0@)# M'-ZCGXNPYAR#!&/"\9$W(]\84]H2,6&OQ,[+ITS*'@V?&W9,1!+TS5]QRJP( M#13WF%+2BL-Z/PGV+]0Y2^O*MAV-L$'63XID:1RV%SZS# KK"P>K9$!N(6#[ M9HQS5-$G7M2=1$1XD=^1T32L9U/SC7#E-VS@-ZJ]VOV)R,CWRQG=9$4;'M77 MG_]Y(!9%F%MC@#2V Z@^[S@%PEFLGSW]>AL46U)3Z2@-OZ1P>5*'?=CCQ4?(_I%[!8/M.UH%E9#^:]S6 M3"=2]P8Z)>@5L".^7EWIGST#; /G?/52RF4EA*,.^1.[L&B6*+V^=*"<;M#] M )7X?A:E;G'VMNBOQN)#%<@BK#;$$S*9U F3Q7JE@N L3?A@T"3*-UD5FD'Z M-FV3?N+[[@,3L#(*O@SYN8/*W9(FVHK2]X#^XK'775Y$6@8 MGT<.L %IQ/%])*<#HGN0K";"5/>G788H\EK'LH(PPOK]9J#SO&D37R,'?9C9 M-A+;H(J0H>P\MU9^BAQ>312O?T;&P&SU;N_Y4LQ+/6,+9AM#\!CU9Q[MP,_/ M1.=E@>T'8X(*ZW>\C^7\Q0;$DML54>'YV+\,'??/T'UP//M>G?I%?B/?136] M8#^G_T)],EF]O:*Z&'S?02ORXUS-2_/J MRJ)[]%L!F&)\0)21:/:7D);+9$/W QC%G^22RGH&RQRGS?JMO] MJS(.Q:UJ;\9,"9^9O43E M*!+[0J;7#<.M# N:]=-2/?E*MB](KV(K]-Z=WKT> M'0+O76BE!5)X:)+6HZ\M=(U\[%ZIG;WS6O;JSE$^6X:*?N:2H XQCI,1#$-I M&+=4:VI"0F!]R"TR%_M#8]GV$L)UU.CZ.B Z6 M)NH>\/Q@CS\YY& D[-@:-Q#4A]N5[- M2'2@D+\FW?@*_[D\&WAOO8^'@*(!*X1;0],9 - P!9%K\=Y M(6'6BN.$@IM-8VJO,PP:FK+E:C-CFL#Q<-QKQRQ=U0OJ]T;(S7A*(#UTR;O> M=@F1S?&-,#.O[9P5U9XE091#7*FFM98EW)6^TA![UO=U]!(]><4CL3=7G2>#YD7&->1(S IN*)6&3VLXAU/ M M,J2#MSS:I+?*!(Y90M*K9CC:Z4W5,0 Y.H \M%WIL]]#"W M*AWRZD@?7+U/*@8C%[KCY/2,"5_Z,#&EN[[RXL[E,9=IJ_N5V:%ZTF5A042J M$QO857,78 ,?Y-C TARL%%R#8N3Y=*7N[/,AS)F5AN$EY!WC MD]3?<0IY_S0$=TAI7W7-;)K(0+5/5M=WG[[X#!3=0CG6&JO46PF86/[ R2U.UU-A5""]]780*?FOD>D M%0XKM*86CCI*7$DCU] U(B:M3(]E6.Q$CSUI6'>159IIK=$(?[& +I((UAJT5[2:F@$%;$32U M=;\'14OZXB&?D,\\X]J?>_ ?N+9YN^^H0OVH\A1VYAVX)N7H-"=)M2-5NQ44\6IU 4?Z51OSUW]?3"_<]R[T+K"[V&/+Y'2( M7D-'603I-K&Z>D*8]2&BF7F6UUD[ PN#N(.-_'%RD6NN"ZW[ I%$%V8\!2GH M&IEDI8]+?IO$U%__X7:\R7H=DGW.,.4V0KRW_TU+*CS^7;9METUI;E:;E1M* MTLK"NN\DN2 >+-MRF)9W)?,&%99XI^72+&,>)% .:VAK!2!Y&*-%ZQ'N1NQ M@>JW;& S"#."H9^%,?+,DCBH><%[*L[K$$YBHEK"T& )I!(9J8>EK260\.$N M.V/>-RN5IE(&FWGR'Q)&B/6PU5X:=+N<;DHB"JSD$N+KDL@&Q :8VW2/MN*7 M\AM_G8&H_71CGYQR"OD(^1@[":H=0V /GUIQH] M*+Q2U+YYS'#[0XNXY5NY:WG@+X?[VN<]6S#;$$[;'D'?V/:D_PB<@Z=*^3[H M>9DUZN0VK2A1O!L"\OP2%YS.GM;_NRM-ZV1.R930O^;YK*DMO MOV@4.@JBRE R.66[)74.DKR&"*5N7*\?#A^\Q*"8VC3;'!3R*B64T;*B^N M=9A*583TC_M/,= QSXRFP38("V812PYQ?$QG&BQ#QUX;KMH2.S(E]_:ACUV0 MG'SV=T+AY,]+YJOCW,JS"#IO-L+W+<$A99MIU";[HU M)RI$'I<.&H ??(4O9U6G/D6%87[%E9Q6]^O9N18_ZKUVHKA] MX!.&4C$Y=GQO4!&2 ^KT(U8[M@^J4]U<&!K4J2^'+L&E_A']<**U!CVEN]+A MK.7W(+._P%3[$O5K.@FN5#>R.6"MCC?C=4A[[\\_+#1:A.YKV+K%)V5[E1M] MNO /B\:TZ.X;,9R8+[!^4#G&92H;B%@S\@FL4M/IIL8<-)"%UO_W621:=D=\N" \73_Q)?^=8F_+U^P?YO3M="'I$>UNB'?@9 6!$T[_A'%%Y*94HT(( M>Z_F+6KT4;GE+V5[Q/E>%ZOV;GK'8I?=W MI.5LYY!K]IV@'_ZV=6GMPL"W.W;"-55771_:: 6[\4F-UGY4B*)ZS>"RJ8&F MK3%3"]$P%_Q=9S9P5:;5/C.!+^*SJF;@>JDC@A,,,Z#%4,9.JX MFA>6R=3>?I1M)=9A6UY)3LC]^GM:[E1S^K=T> M%BDO8I&P?XP^?62)BJM<%);%6G"+T9FT*1NILN0%^R2TEEG&WFN93 1CO6[G M3:>WN]_IMMM'A]CKI%ZDBI#]&NP'N]W=/=8]"'O=F7 MD]$?YT-_ZOFW]Q_/3MA6.PA^[Y\$P>GHU$_L=;H]-M*\,-)*5? L"(:?M]A6 M:FT9!L%L-NO,^AVE)\'H(DAMGNT%F5)&=!*;;!T=T@A>!4^.#G-A.8M3KHVP M[[:^C3ZT#T!AI/>TD4KF1X>)G#)CYYEXMY5S/9%%VZHR['=+.\#* M -/7:*[:,YG8%.)V_SXH>9+(8M+.Q-B&^YV#@]60EI-T.::\:*$6&;=R*FCO MQJYQ)K@.(V73P?4#;EM9+M:-56';8Y[+;!Z^'LE<&/99S-B%RGGQNN5'\&Z$ MEN/7 T=MY'\$MH9X5ES9-L_D!)L3KP,O?X@YMOCOO_%ZB-9.G DG6Z2R!)/# MJU1&$K2]3N\PB*"T\BE8I*77+.FL0OM,I0&+F;3S,)5)(@HL^.75P6ZW/S@, M:.$C,1TCR(2^SG5OUW_XD6*_'E^\/_X\_-K^\J^/PS_8\C,Z^?&;] M[NXVWV$GPXO1V8>SDV,:?#S=_[LR5H[GWY'CK,5.^50"7SKL=VZ-*EHL%II6 M,9MR&SX58[W.+Z]Z;[J#FZ]G+.53P;282C$#G-E4&O9;Q34LELW9A2B5M@ Y M]D'I'"C8_HVI,3O6$P[9SHJXP[9M*ABYT6YW<"$FTEA@F'4#O<$.&RO-B**$ M%"IAHDAPRC\K[-WOM1BAYN"IM+*[42OON7'0SO(YNRS4+!-( BVO'.U5DB@P M5BAD#W# 9<%X,6=5874E( E2@TLMT!5G.9ZTY!D;\QA#FJD<0&&5I[M!4(A8 M&,/UG$AR?BF<_I9[&HPE8 9'9A0G= 81Q%(CGX$,&V0 MHE?::,%P(,>T;LS+ GX+LR#GX'.<5>2UT'A#]!:L)2E&2BB,;$T^@(IA:;4-KU [ M%:CZCA$%%U4&BEZ?MWO[VV+'+>WM)_[)/TI*;X4W+>W/*%0:%O<6(%[N?-!X M[:#QS@I'FWX "D+O1TXK;D@"3PH;]@[*&^5'P]A\9Y.Q3X7!GA#;@=&/;=(B MG(QY9>Z^A K$M!O?9*'0%5I;(#PH.J'@@Y4HG#[4$I>A6LSY'V9"8/5&+A2 M>JN& YJ4"%WP8E0F$]<+F"HR,I%<2Q) >J1V(%303I4A]'3^;1S4NA!%"0^& M4)2[124RKXRKC!.R0"S'Q J%L<)C>C,5X5,DB!#!C_4B>>1@OX=#1'=TB#N' MT V_N'OPW=D]X%(HX@AF.$HX3BC##3R&,BL&)UPG"[/ 423W-34!]6W'DI,Z M"SKC>/]:(VUD9@=F5[5 9:71]\!8E%CB6.G$,>!R]$04R!<9? 0SHB3G(Q+4 M']X/X*2R!)X\'T^(-WK"<,JSRL4/J4F,QTB::/$*%$$WD]\R3=P!#_SC[?G0 M&1X+$LOR_033+S9HOL/7)2Y'C)9.$-K MY=<494V#K%R< N0>J'\C$2]9XTC&5FFS!%HW@"US=%E6B.]@2*0 Y32?2/#G M-MF&%R!F#4$"WJDD6/B:^+.28-_Y557$KEC?>0FUUS&Z$DIZ$B:CNI$JT%@* MZ+@&R64--!/\DE#/)QV'>RY=NJ9UT:'*K]ELBBR=8:,0RL#9:N4ZR M6 )3(1>V//0:U$RFRJ$6J-$)4R/0K;W<\\+5S<71,>!SK.'(+>A/N-B#!5RS M7INJY<%,%E.5304A6L$G]9V#KL-5Y&6FY@*SLU3Y&.5KC@##/0@^=YQ*W26Q M=>52K=L(=A*Z':LLXZ41X>)#4XUT;YGZ"S^Z]*6C(,2@>7?)*ZL6 _X^V8VL MW3J31M?OG&FD<86\Q9R=WFWYVTBZ#]<+/NOS>_XRTB:+\2GA'1)(;6*KRGK' M?6RXLNOB8&_CSL'J6O;:!7?C'%(E]?>+F]C%1E&B)7+]@SJ^^&E^7*> M1VA$*BL&='-_7?C%'7[]:I,[B=G_OY!R[^W+%S.PFASZP9WW86"R<=K6T2D0 M+&1?J6G)(^#)OK\%=A#R"([Y"!*\GX?WXI8!/%KIX8$\L-=Y^^NCR^O%>4$>]S\P M_!U4^RDZON$L+]%1UKY.O>/7IW_9HUZ@+)N=[9&$.=?H2ZC&=B7_22K%F VO M1%Q14F5??'/Z,GWN(<'I^;#XTSUD^]Q?@J)/N>$8.]<\(W!=RZ*@>BZQUZCQ MTF6K$O'XMQUH; M6OX:J$27V?85+1^CCPKY5,FD-O+!06=W;UGK^+&NJU?]KXSU:;5/C.!+^*SJF=@>JDC@O9)9U&*H88&JYFK>%S-WM1]E68AV.Y97D MA-ROOZ2P2]MOPXP>6J+B< MB-RR6 MN,3J3-F5#510\9Q^%UC++V#LMD[%@K--NO6EUNOU6N]D\.<9>9]4B ME8?LUZ ?=-O=0]8^"COML/^&??G(]K\.SPX<\?GGL^$?7R[\J5^^OOMP><;V MFD'PS]Y9$)P/S_W$8:O=84/-@L-)FXN0X M6+Q[VD@E\Y/C1$Z9L?-,O-V;<#V6>=.J(NRU"SO R@#3&S2WS9E,; IQVS\- M"IXD,A\W,S&R8;]U=+0:TG*<+L>4%RW4(N-63@7M7=LUS@378:1L.M@\X*Z5 MQ6+=2.6V.>(3F!ES_$'%O\]]YX/41K)\Z$DRU268+)B]M41A*TG5;W.(B@M.(Y M6*2E&Y9T5J%]IM* Q4S:>9C*)!$Y%OS\ZJC;[@V. UKX1$S'"#*A-[GN=/V' M;RGV^O3JW>FGB^OFYW]]N/B#G9X-V?7%V?#R\R?6:W?W^0$[N[@:7KZ_/#NE MP:?3_;]+8^5H_A=R7#;8E:2X \*TV+G B0T6"TW+F$VY#9^+LT[KYU>=-^W! M]NLE2_E4,"VF4LR 9S:5AOU><@V397-V)0JE+5".O5=Z AAL_L[4B)WJ,<\; M[#*/6VS?IH*1'W7;@RLQEL8"Q*P;Z P.V$AI1A0%I% )$WF"4_Y>8N]>I\$( M-@?/I97N3JV\X\9A.YO,V4VN9IE %FAXY6BODD2!L5PA?8 #+G/&\SDK5T-SV:[WL-M)]A(YM .*7JEC08,!W),Z]J\S.&W M, N2#C['64E>"XW71&_ 6I)BI(#"R-;D R@9EL:L]&@VCH:_)"Z;-8BBS$ M"RJHV1UG'#\Q-RD;96IF%N9=A1;C-.CY!I>-FI7,@IDM;I_-4(<[#35),F1+K*%2URKR*"ZU0"V+8L'UH-!$PD5?;Q2U /$?9=XHHN"HS4'1ZO-GI M[XL#M[333_R3?Y24WW)O6MJ?4:C4+.XM0+S<^Z#1VD&C@Q6.UOT %(3>3YQ6 MW) $GN0V[!P56_5'S=C\8)>QSX7!GA#;@=&W;=(@G(QY:>Z_A K$M!O=9*' M0%5J;(#PH/*'@@Y4(G?[4$I>A6L]Y'V="8-5&+A2>J." YJ4"%WP8E0F$]<, MF#(R,I%<2Q) >J1V()333J4A]'3^;1S4NA!%#0^&4)6[104RKXS+C!.R0"S' MQ J%L<)C>CT5X5,DB!#!C_4B>>)@?X!#1/=TB'N'T)9?W#_X[NT><*FI3 AF MN$$G1BC##3R&,BL&QRCP%F:!HTCNBVH"ZKN.)2=U%G3&\?ZU1EK+S [,;BN! MBE*C\8&Q*+'$L=*)8\#EZ+'(D2\R^ AF1$'.1R2H/[P?P$EE 3QY.9X0[_2$ MBRG/2A<_I"8Q&B%IHL?+401M)[]EFK@''OC'N_.A,SP6(I:-S[J1*NUN#NYS MW))84$4Q^G;UQ*)%K>)<67A%@)T![?UB3)?L#F*OE6WM4C%-_END[F'BW1?N/7)2Y'C)9.$-CY=<4976#K%R< N0!J+^5 MB)>L<21CJ[19 JT;P)83=%E6B+_ D$A1KX[Y1((_M\D^O Q:P@2\$XEP<+7 MQ)^E!/O.K\H\=L7ZP8]0>YVB*Z&D)V$RJANI HVE@(XKD%S60#/!;PCU?-)Q MN.?2I6M:%QW*@RQ7E2N^:K\CLGB"A48L VNGE:LDBR4P%7)APT.O0UFXNKLX.@5\CC0\M*JQ8"_4'8C:]?.I-'U2V<:J=TA[S%G MI[=[_CJ2+L3U@L_J_(Z_C;3)8GQ*>(<$4IG8JJ+:\;#[4\VNBX/#ZCJS=J== MVYF41QW]XO)U\=R<:5Z$$:+CICF#PKYY3[ZRW__QQ0RL)A=^!'=]'"BL[;]W<@Z4"MDU-2:3")C1 M]S>]#B:>P!6?0()W\_!!W))+57 7*6O5).RTB$-W.M=W?C+]69GE*6[^%U:^5\J%Y,-ZNQ-:&O M12Y1[_X#O2C[HM&K$&F#G:52C-C[9:7ZV7>K#3:D)J345>-ZIC0J6/H.[EK$ M6EBNM]W[A_#C_V/=H_"X_\5?G,)CMGSG8,,S M?I+$JREQ+/M2HQ72)SQ..; ML59EGE KIG2X*$=JO[A9GUA@.1C)9"Z:U7-[K2WSO^I9Z\O6AI8_(2K0F39] M3&5X,S)D,2YH=&W56&MS MVC@4_2M:.MLF,_@%(24VRPP!,F6G#6EPIMN/LBUC;67+*XL0]M?OE6P30[=- MNQO:)$-XZ'7O/3JZ]\B#7PQCFB4X"TF$WOCOWJ*(AZN49!*%@F )K6LJ$^3S M/,<9>D>$H(RAU;$[)\CNNX[M M]D[1U3MT=../C_7@R7SL?[R:EE:O;L[?SL:H95C6A^[8LB;^I.PX,6T'^0)G M!9649YA9UO2RA5J)E+EK6>OUVEQW32Z6EG]M)3)E)Q;CO"!F)*/6<*!:X)W@ M:#A(B<0H3+ HB/RM=>-?&'T8(:ED9#BPZL]R;,"CS7 0T5M4R TCO[52+)8T M,R3/W:Z=2P]F6M"]-^;.6--()A"N_:N7XRBBV=)@))9NS^SW[YL$72;;-EZ& MY@K"L*2W1*W=6#5D! LWX#+Q]@W\V\R\GA?S3!HQ3BG;N*]\FI("79(UNN8I MSEZURQ;X+(B@\2M/CR[HWP26AO DN9,&9G0)BRM?O3)^%_I0_=\]+7$(=BRN MB8XMX"R"SNE=0@,*8SNF,[ " "W_&2ZJJ7L[J7=%K7-+"W"14;EQ$QI%)(,) M+U_T.W;7&UAJXH&<#N&0$='P^B$LQ]-K?W8Q&X_\V?P23LSUXF9TZ2-_?CA@ MO]M'IX]NS(4Y-M%B.M9^.MV>W7Y"'HX6:#297_G3R4^"4!/3Z91?'O*V1O', M/D7S"^2_F:+%Z/I\=#E=&/,_WDX_HM'85ST=V^X<+H@_5X6D\>8K4H4=FQOS%.H/1O]R_&.VU! C.(C2]@[J0044#6RDM"N4"O-3(".H9 M2H@@X'G3JS*>>Z=F;33!MQ2JJ(D^8%EP"/%*D()&JI@J(^.$DAA,@6F5K-$\ MCFE(A()$K5N%V=;&@@V"+H5Y&^4K4:PP+"(Y:IRO"FI]OE2$..*Y*KW-X?4@ M19_*S *+ &>D,.9WC&S0*-1[HNC3AGZLIZEQ 2ET3[I!GS*^!O26Q#TLNW03 MS11@KM///\OH#;HYYLL7SJGM?>G=AP@JQL4K!F0( 5VFMGM+ 4'^6E%!E-8I M5*#W@![A8P2L><=4\\M<-/!IW. ^C,,C@U:7G2X-1* M3#,@#BT)7\.&J3JV.5!8(=16W1BD'TP#CS$#_(H<("O:>E9,,Q"1JAT6C+0L MT:2'42M6 LSAB&J;Q1[E30V<5E,2!XS4" 9<1$08(6<,YP5QZR]-L%2!3\J4 MJ=21B@;<]9I%'J\DKQM*X:5;=N29PFU7G*F6AM9J(;T;(,=T/E?"4=1^5O:= M,IW+J&Z_52O MGW^8EA2*PH] U\=)>#L";@(YQH64"_4L#:!"]LI"KM/$ :AX@ C.-^YW>:LH M5:4[N.E)GKJ.J3R$305)\<+6?S\SH '=65-_=ZF$.$+HM0JKK"Q[$FA@T>$] M#H_#.>28K\\.'F\9SC-BW']P^"MY[(=@_!E9GB-1=IXM?..SA/_-J&<8RY?) M=J!@ONGR]3PY]YC)Z>FX^,,9+"K>5#XTGR;D>E3.$"Z3&X"AK5;WOG&E4^K=ZY1^TT M;1^-YWA)C%+#XACN2BZ^Y32J-KG?-SLG6ZU3MME:H9:/W/4S_.$_4$L#!!0 M ( +6#)5D8.C*[V 4 09 7 86=X+3(P,C0P-S,Q>&5X,S)D,BYH M=&WE66USVC@0_BM[Z;1-9OP*(26&,D,(F7+3AA2'MLIYP6U(AD= M]+I*@J^41+WNG$H"84)$0>7K@VO_PFRCAF0RI;VN7;^7N@&/5KUNQ&Z@D*N4 MOCZ8$S%CF2EY[C6=7'9PIHW#.SJWYI)%,L%PG>>=G$01RV9F2F/IM:QV^TXD MV"Q9RW@9FB=H2B2[H6KMC57#E!+A!5PFG5T#GYJ9U_-BGDDS)G.6KKR7/IO3 M B[I$B9\3K*71BG!]X(*%K_L:.V"_4UQ:0Q/TEMIDI3-<''E:Z>,W\,QJ/^: M)V4>@BV+2ZIC"W@:X>#P-F$!0]V&U>C: 28M_Q$NJJD[.ZEW1:USPPIT,65R MY24LBFB&$UX\:S><9J=KJXE[@%#M5D=0H;3F? Y]A[5OJ;VSDRL+G !1=S[#[F>XBYT)9RC(%'0+,( MV\^O"[38= U0_0>-%!"SM.YE2GM*PX7 XHD)(5D$PUOL"QEV-+0U9T6A7,!? MI1EA/X.$"HJ>;WI5QG/GU,B "5/=!?NHA4%AR@TTDS'T[S<64K@2M&"1ZJS* MXB!A-(8+EF'K922%<1RCDE#Y44:JF UM.5@!#JD-,"!?B&)!.P57G7 MATV%2R*>JSZ\J5XK*2Q59J9$!"2CA3F^3>D*^J'>((4E \>)GJ;T EKHD?D* M/F9\B:F<46^_4-,BEJF$>6X[OU?>-[#G6B^>N2=.YW.O/D90P2]>I(B,$+.; MJKU?XT'0OQ9,4$5\"A7H74(/R1'@%KJMP^AHG;8[]*R14^7./6T>=]0./YGL M-![(SBC#(S0OCQT>84E8AL!A)?KKM!&FSG".$%89,M0P01Z(T]!CA"\.Y)BR MPM"SXC6L<<%(M1:I&6".9Y7;;/8@;RE$Z>IE21!2NL,!EQ$5)@A3U.2 M%]2K/VPF2W7[I*R?BBJI:-#=SF;')PO):T')PK1DBZNIO&TS-279(%X'H'<# MN9DN[HI%BMK/RKY;UG89U?(;=8)#DE8;B42R6O&X\7RS?56&RYVTVG=D9H<6 M;MCAN':<\F7-7^KOYE*0W N0DG\TEYB^!ZGF>IP$!4\7DG84W]T-OF:^U:N, MOBK,YO\BRE;KP2HJ[->G>A/Q+J7.O5Z=XWK8SG)T+9OW#XR[5K#S[>A\<.-':* M9>/8>M5ZC+[Z72"S]=#A*Q\R_&=L_82Q? _8;=$[MVF=U*RZHM!F)=L*^I.7 M-^-S-S<#?.S4Q4)@4](7O.HVJV\+@DHB[N/[I\#Q8Y:^I^/B=R]VAU>"(6!R M1,P][!SM(,/6-Y^:HCV5\[S!&I-U:0Y(^'$F^"*+U-6,"Z_F(QN/K;<'ZF*. MCJ1XU32K[\[6-:U\-+YU3]L2K9_#YV1&S9(CDQCO8AZYX2RJ-KG=MAK':_)4 MRAS-@,OG^_H?!KU_ %!+ 0(4 Q0 ( +2#)5GXP"24018 )[B 0 M " 0 !A9W@M,C R-# W,S$N>'-D4$L! A0#% @ M(,E M6;/6VHSA#P W-8 !0 ( !;Q8 &%G>"TR,#(T,#&UL4$L! A0#% @ M(,E68W[0B*;+P _\@" !0 M ( !@B8 &%G>"TR,#(T,#&UL4$L! A0#% @ M8,E67C9 M'QE\

"TR,#(T,#&UL4$L! A0#% @ M8,E6"TR,#(T,#&UL4$L! A0#% @ M8,E68=0OLG. M9 ( 134? !0 ( !<18! &%G>"TR,#(T,#"TR,#(T,#"TR,#(T,##,Q9#$N M:'1M4$L! A0#% @ M8,E63ML/$FZ" OR4 !< ( ! M79L# &%G>"TR,#(T,##,Q9#(N:'1M4$L! A0#% @ M8,E64\J M];J>!0 EQ@ !< ( !3*0# &%G>"TR,#(T,##,R M9#$N:'1M4$L! A0#% @ M8,E61@Z,KO8!0 !!D !< M ( !'ZH# &%G>"TR,#(T,##,R9#(N:'1M4$L%!@ + L X0( ' "RP P $! end XML 89 agx-20240731x10q_htm.xml IDEA: XBRL DOCUMENT 0000100591 us-gaap:TreasuryStockCommonMember 2024-05-01 2024-07-31 0000100591 us-gaap:TreasuryStockCommonMember 2024-02-01 2024-07-31 0000100591 us-gaap:TreasuryStockCommonMember 2023-05-01 2023-07-31 0000100591 us-gaap:TreasuryStockCommonMember 2023-02-01 2023-07-31 0000100591 us-gaap:CommonStockMember 2024-05-01 2024-07-31 0000100591 us-gaap:CommonStockMember 2024-02-01 2024-07-31 0000100591 us-gaap:CommonStockMember 2023-05-01 2023-07-31 0000100591 us-gaap:CommonStockMember 2023-02-01 2023-07-31 0000100591 us-gaap:TreasuryStockCommonMember 2024-07-31 0000100591 us-gaap:RetainedEarningsMember 2024-07-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2024-07-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-07-31 0000100591 us-gaap:TreasuryStockCommonMember 2024-04-30 0000100591 us-gaap:RetainedEarningsMember 2024-04-30 0000100591 us-gaap:AdditionalPaidInCapitalMember 2024-04-30 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-04-30 0000100591 2024-04-30 0000100591 us-gaap:TreasuryStockCommonMember 2024-01-31 0000100591 us-gaap:RetainedEarningsMember 2024-01-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2024-01-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-31 0000100591 us-gaap:TreasuryStockCommonMember 2023-07-31 0000100591 us-gaap:RetainedEarningsMember 2023-07-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2023-07-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-31 0000100591 us-gaap:TreasuryStockCommonMember 2023-04-30 0000100591 us-gaap:RetainedEarningsMember 2023-04-30 0000100591 us-gaap:AdditionalPaidInCapitalMember 2023-04-30 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-30 0000100591 2023-04-30 0000100591 us-gaap:TreasuryStockCommonMember 2023-01-31 0000100591 us-gaap:RetainedEarningsMember 2023-01-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2023-01-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-31 0000100591 us-gaap:CommonStockMember 2024-07-31 0000100591 us-gaap:CommonStockMember 2024-04-30 0000100591 us-gaap:CommonStockMember 2024-01-31 0000100591 us-gaap:CommonStockMember 2023-07-31 0000100591 us-gaap:CommonStockMember 2023-04-30 0000100591 us-gaap:CommonStockMember 2023-01-31 0000100591 2023-02-01 2024-01-31 0000100591 us-gaap:RestrictedStockUnitsRSUMember 2024-07-31 0000100591 us-gaap:RestrictedStockUnitsRSUMember 2024-01-31 0000100591 srt:MinimumMember 2024-08-01 2024-07-31 0000100591 srt:MaximumMember 2024-08-01 2024-07-31 0000100591 2024-08-01 2024-07-31 0000100591 us-gaap:IntersegmentEliminationMember 2024-05-01 2024-07-31 0000100591 country:US 2024-05-01 2024-07-31 0000100591 country:IE 2024-05-01 2024-07-31 0000100591 country:GB 2024-05-01 2024-07-31 0000100591 us-gaap:IntersegmentEliminationMember 2024-02-01 2024-07-31 0000100591 country:US 2024-02-01 2024-07-31 0000100591 country:IE 2024-02-01 2024-07-31 0000100591 country:GB 2024-02-01 2024-07-31 0000100591 country:US 2023-05-01 2023-07-31 0000100591 country:IE 2023-05-01 2023-07-31 0000100591 country:GB 2023-05-01 2023-07-31 0000100591 country:US 2023-02-01 2023-07-31 0000100591 country:IE 2023-02-01 2023-07-31 0000100591 country:GB 2023-02-01 2023-07-31 0000100591 agx:AtlanticProjectsCompanyLimitedMember 2024-05-04 2024-05-04 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-05-01 2024-07-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-02-01 2024-07-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-05-01 2023-07-31 0000100591 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-02-01 2023-07-31 0000100591 us-gaap:RevolvingCreditFacilityMember 2024-05-31 0000100591 agx:ExpiresOnMay312027Member us-gaap:RevolvingCreditFacilityMember 2024-05-24 0000100591 agx:LettersOfCreditExpireOnMay312024Member us-gaap:RevolvingCreditFacilityMember 2017-05-15 0000100591 us-gaap:RevolvingCreditFacilityMember 2024-07-31 0000100591 agx:GemmaPowerSystemsMember us-gaap:FinancialGuaranteeMember 2024-07-31 0000100591 agx:RobertsCompanyIncMember 2024-07-31 0000100591 agx:GemmaPowerSystemLlcMember 2024-07-31 0000100591 agx:RobertsCompanyIncMember 2024-01-31 0000100591 agx:GemmaPowerSystemLlcMember 2024-01-31 0000100591 us-gaap:TradeNamesMember 2024-07-31 0000100591 us-gaap:CustomerRelationshipsMember 2024-07-31 0000100591 us-gaap:TradeNamesMember 2024-01-31 0000100591 us-gaap:CustomerRelationshipsMember 2024-01-31 0000100591 us-gaap:RetainedEarningsMember 2024-05-01 2024-07-31 0000100591 us-gaap:RetainedEarningsMember 2024-02-01 2024-07-31 0000100591 us-gaap:RetainedEarningsMember 2023-05-01 2023-07-31 0000100591 us-gaap:RetainedEarningsMember 2023-02-01 2023-07-31 0000100591 us-gaap:CorporateNonSegmentMember 2024-05-01 2024-07-31 0000100591 us-gaap:CorporateNonSegmentMember 2024-02-01 2024-07-31 0000100591 us-gaap:CorporateNonSegmentMember 2023-05-01 2023-07-31 0000100591 us-gaap:CorporateNonSegmentMember 2023-02-01 2023-07-31 0000100591 2021-01-31 0000100591 us-gaap:OperatingSegmentsMember agx:TelecommunicationsInfrastructureServicesMember 2024-05-01 2024-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:PowerIndustryServicesMember 2024-05-01 2024-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:TelecommunicationsInfrastructureServicesMember 2024-02-01 2024-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:PowerIndustryServicesMember 2024-02-01 2024-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:TelecommunicationsInfrastructureServicesMember 2023-05-01 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:PowerIndustryServicesMember 2023-05-01 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:TelecommunicationsInfrastructureServicesMember 2023-02-01 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:PowerIndustryServicesMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerTwoMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-05-01 2024-07-31 0000100591 agx:MajorCustomerThreeMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-05-01 2024-07-31 0000100591 agx:MajorCustomerOneMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-05-01 2024-07-31 0000100591 agx:TelecommunicationInfrastructureServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2024-05-01 2024-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2024-05-01 2024-07-31 0000100591 agx:IndustrialConstructionServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2024-05-01 2024-07-31 0000100591 agx:MajorCustomerTwoMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:MajorCustomerThreeMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:MajorCustomerOneMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:TelecommunicationInfrastructureServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:MajorCustomerTwoMember us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:MajorCustomerTwoMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:MajorCustomerThreeMember us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:MajorCustomerThreeMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:MajorCustomerOneMember us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:MajorCustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:MajorCustomerFourMember us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:MajorCustomerFiveMember us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:IndustrialConstructionServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:MajorCustomerTwoMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-05-01 2023-07-31 0000100591 agx:MajorCustomerThreeMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-05-01 2023-07-31 0000100591 agx:MajorCustomerOneMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-05-01 2023-07-31 0000100591 agx:TelecommunicationInfrastructureServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2023-05-01 2023-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2023-05-01 2023-07-31 0000100591 agx:IndustrialConstructionServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2023-05-01 2023-07-31 0000100591 agx:MajorCustomerTwoMember us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2024-01-31 0000100591 agx:MajorCustomerTwoMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2024-01-31 0000100591 agx:MajorCustomerThreeMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2024-01-31 0000100591 agx:MajorCustomerOneMember us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2024-01-31 0000100591 agx:MajorCustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2024-01-31 0000100591 agx:MajorCustomerTwoMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerThreeMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerOneMember agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerOneMember agx:IndustrialConstructionServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:TelecommunicationInfrastructureServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:IndustrialConstructionServicesMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:O2024Q2DividendsMember 2024-05-01 2024-07-31 0000100591 agx:O2024Q1DividendsMember 2024-02-01 2024-04-30 0000100591 agx:O2023Q2DividendsMember 2023-05-01 2023-07-31 0000100591 agx:O2023Q1DividendsMember 2023-02-01 2023-04-30 0000100591 us-gaap:EmployeeStockOptionMember 2024-07-31 0000100591 2023-01-31 0000100591 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MoneyMarketFundsMember 2024-07-31 0000100591 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MoneyMarketFundsMember 2024-01-31 0000100591 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2024-07-31 0000100591 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:DomesticCorporateDebtSecuritiesMember 2024-07-31 0000100591 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2024-01-31 0000100591 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:DomesticCorporateDebtSecuritiesMember 2024-01-31 0000100591 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2024-07-31 0000100591 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2024-07-31 0000100591 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2024-01-31 0000100591 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2024-01-31 0000100591 us-gaap:OperatingSegmentsMember agx:TelecommunicationsInfrastructureServicesMember 2024-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:PowerIndustryServicesMember 2024-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:IndustrialConstructionServicesMember 2024-07-31 0000100591 us-gaap:CorporateNonSegmentMember 2024-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:TelecommunicationsInfrastructureServicesMember 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:PowerIndustryServicesMember 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:IndustrialConstructionServicesMember 2023-07-31 0000100591 us-gaap:CorporateNonSegmentMember 2023-07-31 0000100591 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:IndustrialConstructionServicesMember 2024-05-01 2024-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:IndustrialConstructionServicesMember 2024-02-01 2024-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:IndustrialConstructionServicesMember 2023-05-01 2023-07-31 0000100591 us-gaap:OperatingSegmentsMember agx:IndustrialConstructionServicesMember 2023-02-01 2023-07-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2024-05-01 2024-07-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2024-02-01 2024-07-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2023-05-01 2023-07-31 0000100591 2023-05-01 2023-07-31 0000100591 us-gaap:AdditionalPaidInCapitalMember 2023-02-01 2023-07-31 0000100591 2024-05-01 2024-07-31 0000100591 2024-08-30 0000100591 us-gaap:HeldtomaturitySecuritiesMember 2024-07-31 0000100591 us-gaap:HeldtomaturitySecuritiesMember 2024-01-31 0000100591 srt:MinimumMember 2024-02-01 2024-07-31 0000100591 srt:MaximumMember 2024-02-01 2024-07-31 0000100591 us-gaap:RestrictedStockUnitsRSUMember 2024-02-01 2024-07-31 0000100591 agx:TimeBasedRestrictedStockUnitsMember 2024-07-31 0000100591 agx:RenewablePerformanceBasedRestrictedStockUnitsMember 2024-07-31 0000100591 agx:PerformanceBasedRestrictedStockUnitsMember 2024-07-31 0000100591 agx:EarningsPerSharePerformanceBasedRestrictedStockUnitsMember 2024-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-05-01 2024-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2024-02-01 2024-07-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-05-01 2023-07-31 0000100591 us-gaap:AssetsTotalMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2024-01-31 0000100591 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2024-01-31 0000100591 agx:PowerIndustryServicesMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:MajorCustomerOneMember agx:IndustrialConstructionServicesMember us-gaap:CustomerConcentrationRiskMember 2023-02-01 2023-07-31 0000100591 agx:KilrootProjectMember agx:AtlanticProjectsCompanyLimitedMember 2024-05-03 2024-05-03 0000100591 agx:ExpiresOnMay312027Member us-gaap:RevolvingCreditFacilityMember 2024-05-24 2024-05-24 0000100591 agx:LettersOfCreditExpireOnMay312024Member us-gaap:RevolvingCreditFacilityMember 2017-05-15 2017-05-15 0000100591 us-gaap:HeldtomaturitySecuritiesMember 2024-02-01 2024-07-31 0000100591 agx:KilrootProjectMember agx:AtlanticProjectsCompanyLimitedMember 2024-02-01 2024-07-31 0000100591 2023-02-01 2023-07-31 0000100591 agx:KilrootProjectMember 2024-02-01 2024-07-31 0000100591 us-gaap:DomesticCorporateDebtSecuritiesMember 2024-01-31 0000100591 us-gaap:USTreasuryNotesSecuritiesMember 2024-07-31 0000100591 us-gaap:DomesticCorporateDebtSecuritiesMember 2024-07-31 0000100591 us-gaap:USTreasuryNotesSecuritiesMember 2024-01-31 0000100591 2024-02-01 2024-07-31 0000100591 2024-07-31 0000100591 2024-01-31 iso4217:USD agx:customer shares iso4217:USD shares pure agx:segment 0000100591 --01-31 2025 Q2 false ARGAN INC 0 0 P9M P24M http://fasb.org/us-gaap/2024#Investments P1Y 0.30 0.25 http://fasb.org/us-gaap/2024#SecuredOvernightFinancingRateSofrMember 18500000 9500000 P14D 10-Q true 2024-07-31 false 001-31756 DE 13-1947195 One Church Street, Suite 201 Rockville MD 20850 301 315-0027 Yes Yes Accelerated Filer false false false Common Stock, $0.15 par value AGX NYSE 13499650 227015000 141349000 384697000 245024000 195910000 117607000 335648000 207058000 31105000 23742000 49049000 37966000 12428000 10501000 23853000 21092000 18677000 13241000 25196000 16874000 5604000 4118000 10398000 3489000 24281000 17359000 35594000 20363000 6083000 4592000 9514000 5487000 18198000 12767000 26080000 14876000 -186000 -185000 -976000 255000 1459000 -683000 490000 -720000 19471000 11899000 25594000 14411000 1.36 0.95 1.96 1.11 1.31 0.94 1.90 1.10 13403000 13403000 13331000 13408000 13880000 13542000 13727000 13544000 0.30 0.25 0.60 0.50 232685000 197032000 251997000 215373000 95315000 47326000 46086000 48189000 48871000 39259000 674954000 547179000 12098000 11021000 28033000 28033000 2022000 2217000 1637000 2259000 7830000 7520000 726574000 598229000 99693000 39485000 61698000 81721000 253736000 181054000 415127000 302260000 3379000 5030000 418506000 307290000 0.10 0.10 500000 500000 0 0 0.15 0.15 30000000 30000000 15828289 15828289 13497550 13242520 2374000 2374000 165902000 164183000 243519000 225507000 2330739 2585769 99644000 97528000 -4083000 -3597000 308068000 290939000 726574000 598229000 13350180 2374000 164501000 229364000 -97728000 -5356000 293155000 18198000 18198000 -186000 -186000 1459000 1459000 1004000 1004000 147370 397000 -1916000 -1519000 4043000 4043000 13497550 2374000 165902000 243519000 -99644000 -4083000 308068000 13414404 2374000 161347000 206584000 -89883000 -2473000 277949000 12767000 12767000 -185000 -185000 -683000 -683000 1184000 1184000 16381 -208000 611000 403000 77132 3057000 3057000 3342000 3342000 13353653 2374000 162323000 216009000 -92329000 -3341000 285036000 13242520 2374000 164183000 225507000 -97528000 -3597000 290939000 26080000 26080000 -976000 -976000 490000 490000 2215000 2215000 260630 -496000 -1929000 -2425000 5600 187000 187000 8068000 8068000 13497550 2374000 165902000 243519000 -99644000 -4083000 308068000 13441590 2374000 162208000 207832000 -88641000 -2876000 280897000 14876000 14876000 255000 255000 -720000 -720000 2218000 2218000 81851 -2103000 3050000 947000 169788 6738000 6738000 6699000 6699000 13353653 2374000 162323000 216009000 -92329000 -3341000 285036000 26080000 14876000 -2716000 341000 2215000 2218000 1415000 884000 943000 1035000 469000 -196000 195000 196000 -995000 -162000 48492000 -5600000 -2103000 -4031000 10661000 5176000 40521000 -8931000 72682000 20195000 91181000 34553000 57500000 90000000 95000000 159750000 85309000 60261000 9230000 2671000 1031000 3312000 -44562000 8458000 187000 6738000 8068000 6699000 -2425000 947000 -10680000 -12490000 -286000 331000 35653000 30852000 197032000 173947000 232685000 204799000 1531000 665000 9138000 3270000 1410000 888000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 1 – DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Description of the Business</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Argan, Inc. (“Argan”) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (“GPS”); The Roberts Company, Inc. (“TRC”); Atlantic Projects Company Limited and affiliates (“APC”) and Southern Maryland Cable, Inc. (“SMC”). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the “Company.” </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Through GPS and APC, the Company provides a full range of engineering, procurement, construction, commissioning, maintenance, project development, and technical consulting services to the power generation market. The customers include primarily independent power producers, public utilities, power plant equipment suppliers and other commercial firms with significant power requirements with projects located in the United States (the “U.S.”), the Republic of Ireland (“Ireland”) and the United Kingdom (the “U.K.”). GPS and APC represent the Company’s power industry services reportable segment. Through TRC, the industrial construction services reportable segment provides on-site services that support new plant construction and additions, maintenance turnarounds, shutdowns and emergency mobilizations for industrial operations primarily located in the Southeast region of the U.S. and that may include the fabrication, delivery and installation of steel components such as piping systems and pressure vessels. Through SMC, which conducts business as SMC Infrastructure Solutions, the telecommunications infrastructure services segment provides project management, construction, installation and maintenance services to commercial, local government and federal government customers primarily in the Mid-Atlantic region of the U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Basis of Presentation and Significant Accounting Policies</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The condensed consolidated financial statements include the accounts of Argan and its wholly-owned subsidiaries. All significant inter-company balances and transactions have been eliminated in consolidation. In Note 15, the Company has provided certain financial information relating to the operating results and assets of its reportable segments based on the manner in which management disaggregates the Company’s financial reporting for purposes of making internal operating decisions. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of July 31, 2024, the condensed consolidated statements of earnings and stockholders’ equity for the three and six months ended July 31, 2024 and 2023, and the condensed consolidated statements of cash flows for the six months ended July 31, 2024 and 2023 are unaudited. The condensed consolidated balance sheet as of January 31, 2024 has been derived from audited consolidated financial statements. These condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”). Certain information and note disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) have been condensed or omitted pursuant to those rules and regulations, although the Company believes that the disclosures made are adequate to make the information not misleading. The accompanying condensed consolidated financial statements and notes should be read in conjunction with the consolidated financial statements, the notes thereto, and the independent registered public accounting firm’s report thereon, that are included in the Company’s Annual Report on Form 10-K for the fiscal year ended January 31, 2024 (“Fiscal 2024”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">In the opinion of management, the accompanying condensed consolidated financial statements contain all adjustments, which are of a normal and recurring nature, considered necessary for a fair statement of the financial position of the Company as of July 31, 2024, and its earnings and cash flows for the interim periods presented. The results of operations for any interim period are not necessarily indicative of the results of operations for any other interim period or for a full fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Recently Issued Accounting Pronouncements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">In November 2023, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) 2023-07, <i style="font-style:italic;">Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</i> by introducing key amendments to enhance disclosures in public entities’ reportable segments. Notable changes include the mandatory disclosure of significant segment expenses regularly provided to the chief operating decision maker (“CODM”), disclosure of other segment items, and requirements for consistency in reporting measures used by the CODM. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-07 may have on its financial position, results of operations, cash flows, or disclosures, but does not expect to experience significant changes to its financial statements from the implementation of this new standard. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">In December 2023, the FASB issued ASU 2023-09, <i style="font-style:italic;">Income Taxes (Topic 740): Improvements to Income Tax Disclosures,</i> which introduces more detailed requirements for annual disclosures for income taxes. The ASU requires public business entities to present specific categories in the income tax rate reconciliation and provide additional information for reconciling items that meet a quantitative threshold. ASU 2023-09 also requires all entities to disclose the amount of income taxes paid, net of refunds received, disaggregated by federal, state, and foreign jurisdiction. The ASU is effective for fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-09 may have on its financial position, results of operations, cash flows, or disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">There are no other recently issued accounting pronouncements that have not yet been adopted that the Company considers material to its condensed consolidated financial statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Description of the Business</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Argan, Inc. (“Argan”) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (“GPS”); The Roberts Company, Inc. (“TRC”); Atlantic Projects Company Limited and affiliates (“APC”) and Southern Maryland Cable, Inc. (“SMC”). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the “Company.” </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Through GPS and APC, the Company provides a full range of engineering, procurement, construction, commissioning, maintenance, project development, and technical consulting services to the power generation market. The customers include primarily independent power producers, public utilities, power plant equipment suppliers and other commercial firms with significant power requirements with projects located in the United States (the “U.S.”), the Republic of Ireland (“Ireland”) and the United Kingdom (the “U.K.”). GPS and APC represent the Company’s power industry services reportable segment. Through TRC, the industrial construction services reportable segment provides on-site services that support new plant construction and additions, maintenance turnarounds, shutdowns and emergency mobilizations for industrial operations primarily located in the Southeast region of the U.S. and that may include the fabrication, delivery and installation of steel components such as piping systems and pressure vessels. Through SMC, which conducts business as SMC Infrastructure Solutions, the telecommunications infrastructure services segment provides project management, construction, installation and maintenance services to commercial, local government and federal government customers primarily in the Mid-Atlantic region of the U.S.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Basis of Presentation and Significant Accounting Policies</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The condensed consolidated financial statements include the accounts of Argan and its wholly-owned subsidiaries. All significant inter-company balances and transactions have been eliminated in consolidation. In Note 15, the Company has provided certain financial information relating to the operating results and assets of its reportable segments based on the manner in which management disaggregates the Company’s financial reporting for purposes of making internal operating decisions. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of July 31, 2024, the condensed consolidated statements of earnings and stockholders’ equity for the three and six months ended July 31, 2024 and 2023, and the condensed consolidated statements of cash flows for the six months ended July 31, 2024 and 2023 are unaudited. The condensed consolidated balance sheet as of January 31, 2024 has been derived from audited consolidated financial statements. These condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”). Certain information and note disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) have been condensed or omitted pursuant to those rules and regulations, although the Company believes that the disclosures made are adequate to make the information not misleading. The accompanying condensed consolidated financial statements and notes should be read in conjunction with the consolidated financial statements, the notes thereto, and the independent registered public accounting firm’s report thereon, that are included in the Company’s Annual Report on Form 10-K for the fiscal year ended January 31, 2024 (“Fiscal 2024”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">In the opinion of management, the accompanying condensed consolidated financial statements contain all adjustments, which are of a normal and recurring nature, considered necessary for a fair statement of the financial position of the Company as of July 31, 2024, and its earnings and cash flows for the interim periods presented. The results of operations for any interim period are not necessarily indicative of the results of operations for any other interim period or for a full fiscal year.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Recently Issued Accounting Pronouncements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">In November 2023, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) 2023-07, <i style="font-style:italic;">Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</i> by introducing key amendments to enhance disclosures in public entities’ reportable segments. Notable changes include the mandatory disclosure of significant segment expenses regularly provided to the chief operating decision maker (“CODM”), disclosure of other segment items, and requirements for consistency in reporting measures used by the CODM. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-07 may have on its financial position, results of operations, cash flows, or disclosures, but does not expect to experience significant changes to its financial statements from the implementation of this new standard. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">In December 2023, the FASB issued ASU 2023-09, <i style="font-style:italic;">Income Taxes (Topic 740): Improvements to Income Tax Disclosures,</i> which introduces more detailed requirements for annual disclosures for income taxes. The ASU requires public business entities to present specific categories in the income tax rate reconciliation and provide additional information for reconciling items that meet a quantitative threshold. ASU 2023-09 also requires all entities to disclose the amount of income taxes paid, net of refunds received, disaggregated by federal, state, and foreign jurisdiction. The ASU is effective for fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-09 may have on its financial position, results of operations, cash flows, or disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">There are no other recently issued accounting pronouncements that have not yet been adopted that the Company considers material to its condensed consolidated financial statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 2 – REVENUES FROM CONTRACTS WITH CUSTOMERS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Disaggregation of Revenues</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The following table presents consolidated revenues for the three and six months ended July 31, 2024 and 2023, disaggregated by the geographic area where the corresponding projects were located:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:85.55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:39.15%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:39.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:39.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 195,249</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 319,580</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,800</p></td></tr><tr><td style="vertical-align:bottom;width:39.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Republic of Ireland</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,075</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,058</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,656</p></td></tr><tr><td style="vertical-align:bottom;width:39.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,993</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,568</p></td></tr><tr><td style="vertical-align:bottom;width:39.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Consolidated Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 227,015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 141,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 384,697</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 245,024</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 8pt 0pt;">Revenues for projects located in Ireland and the U.K. are attributed to the power industry services segment. The major portions of the Company’s consolidated revenues are recognized pursuant to fixed-price contracts with most of the remaining portions earned pursuant to time-and-material contracts. Consolidated revenues are disaggregated by reportable segment in Note 15 to the condensed consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Contract Termination </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 8pt 0pt;">For a project being performed by APC to construct a gas-fired power facility in Northern Ireland (the “Kilroot Project”), an estimated loss of approximately $12.8 million has been recognized, of which $2.8 million was recorded during the six-month period ended July 31, 2024 and the remainder recorded in the prior fiscal year. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 0pt 0pt;">APC provided 14 days’ notice to terminate as a result of project owner breaches of the contract. Those breaches were not resolved during that <span style="-sec-ix-hidden:Hidden_lfh-zRZb8UK_JSmhiYjHpw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">14-day</span></span> period, as a result of which the contract terminated on May 3, 2024. Subsequently, the project owner made a draw for the full amount of a $9.2 million irrevocable letter of credit, or on-demand performance bond, issued by the Company’s bank. The amount is included in accounts receivable as of July 31, 2024. This amount is now </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">part of the open and disputed claims related to this project. APC and the Company believe the project owner initiated the draw without cause, and therefore, the amount should be refunded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 8pt 0pt;">APC has significant billable receivables, unresolved contract variations and claims for extensions of time, among other issues, related to the Kilroot Project. The project owner has asserted counterclaims that APC disputes. APC will continue to pursue all of its rights under the contract, and will do so through legal means if necessary. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Contract Assets and Liabilities </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s timing of revenue recognition may not be consistent with its rights to bill and collect cash from project owners and other customers. Most contracts require payments as the corresponding work progresses that are determined in the manner described therein. This can result in large contract liability or contract asset balances early in contract lives that decline over the terms of the corresponding contracts. During the six months ended July 31, 2024 and 2023, there were no unusual or one-time adjustments to these balances. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company recognized the following revenues that were included in the contract liabilities balances at the beginning of the respective period:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:39.14%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:39.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:39.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenues recognized from contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,874</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,735</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 131,229</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,958</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 8pt 0pt;">Contract retentions are billed amounts which, pursuant to the terms of the applicable contract, are not paid by customers until a defined phase of a contract or project has been completed and accepted. These retained amounts are reflected in contract assets or contract liabilities depending on the net contract position of the particular contract. The amounts retained by project owners and other customers under construction contracts at July 31, 2024 and January 31, 2024 were $19.0 million and $21.2 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Variable Consideration</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Variable consideration includes unapproved change orders where the Company has project-owner directive for additional work or other scope changes, but has not yet obtained approval for the associated price or the corresponding additional effort. These amounts are included in the transaction price when it is considered probable that the applicable costs, including those for additional effort, will be recovered through a modification to the contract price. The Company also includes in the corresponding transaction price an estimate of the amount that it expects to receive from claims based on management’s judgment regarding all reasonably available information. At July 31, 2024 and January 31, 2024, the aggregate amounts of such contract variations, that primarily related to an overseas project, and that were included in the corresponding transaction prices pending customer approvals, were $11.7 million and $8.4 million, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Remaining Unsatisfied Performance Obligations (“RUPO”)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">At July 31, 2024, the Company had RUPO of $1.0 billion. The largest portion of RUPO at any date usually relates to engineering, procurement and construction (“EPC”) service and other construction contracts with typical performance durations of <span style="-sec-ix-hidden:Hidden_qvn9iCbVHEi2Y3KOapV5Dw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span> to three years. However, the length of certain significant construction projects may exceed three years. The Company estimates that approximately 42% of the RUPO amount at July 31, 2024 will be included in the amount of consolidated revenues that will be recognized during the remainder of the fiscal year ending January 31, 2025 (“Fiscal 2025”). Most of the remaining amount of the RUPO amount at July 31, 2024 is expected to be recognized in revenues during the fiscal years ending January 31, 2026 (“Fiscal 2026”) and January 31, 2027 (“Fiscal 2027”). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">It is important to note that estimates may be changed in the future and that cancellations, deferrals, or scope adjustments may occur related to work included in the amount of RUPO. Accordingly, RUPO may be adjusted to reflect project delays and cancellations, revisions to project scope and cost and foreign currency exchange fluctuations, or to revise estimates, as effects become known. Such adjustments to RUPO may materially reduce future revenues below Company estimates.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:85.55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:39.15%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:39.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:39.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 195,249</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 319,580</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,800</p></td></tr><tr><td style="vertical-align:bottom;width:39.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Republic of Ireland</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,075</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,058</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,656</p></td></tr><tr><td style="vertical-align:bottom;width:39.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,993</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,568</p></td></tr><tr><td style="vertical-align:bottom;width:39.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Consolidated Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 227,015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 141,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 384,697</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 245,024</p></td></tr></table> 195249000 80281000 319580000 147800000 28167000 48075000 57058000 70656000 3599000 12993000 8059000 26568000 227015000 141349000 384697000 245024000 12800000 2800000 P14D 9200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:39.14%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:39.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:39.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenues recognized from contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,874</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,735</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 131,229</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,958</p></td></tr></table> 90874000 64735000 131229000 86958000 19000000.0 21200000 21200000 11700000 8400000 1000000000.0 P3Y P3Y 0.42 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 3 – CASH, CASH EQUIVALENTS AND INVESTMENTS </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">At July 31, 2024 and January 31, 2024, certain amounts of cash equivalents were invested in a money market fund with net assets invested in high-quality money market instruments, including U.S. Treasury obligations; obligations of U.S. government agencies, authorities, instrumentalities or sponsored enterprises; and repurchase agreements secured by such </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">obligations. Dividend income related to money market investments is recorded when earned. The balances of accrued dividends at July 31, 2024 and January 31, 2024 were $0.6 million and $0.7 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Investments</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">The Company’s investments consisted of the following as of July 31, 2024 and January 31, 2024:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:71.96%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 69,292</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 109,489</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Available-for-sale securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 182,705</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 105,884</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 251,997</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 215,373</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 8pt 0pt;"><i style="font-style:italic;">Short-Term Investments</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">Short-term investments as of July 31, 2024 and January 31, 2024 consisted solely of certificates of deposit (“CDs”) with initial maturities of one year or less purchased from Bank of America, N.A. (the “Bank”). The Company has the intent and ability to hold the CDs until they mature, and they are carried at cost plus accrued interest. The balances of accrued interest on the CDs at July 31, 2024 and January 31, 2024 were $1.8 million and $4.5 million, respectively. Interest income is recorded when earned and is included in other income. At July 31, 2024 and January 31, 2024, the weighted average annual interest rates of the outstanding CDs were 5.4%. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Available-For-Sale Securities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s available-for-sale (“AFS”) securities consisted of the following amounts of amortized cost, allowance for credit losses, gross unrealized gains and losses and estimated fair value by contractual maturity as of July 31, 2024 and January 31, 2024:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:35.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:61.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Allowance for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Credit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gains</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. Treasury notes:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Due within one year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,109</p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Due in one to three years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,045</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 449</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,292</p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Due in three to five years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,502</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,257</p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. corporate debt security:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Due in one to three years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,046</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,047</p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 181,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,208</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 296</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182,705</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:35.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:61.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Allowance for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Credit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gains</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. Treasury notes:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Due in one to three years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,217</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,555</p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. corporate debt security:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Due in one to three years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,406</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 77</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,329</p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,623</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 307</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,884</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 8pt 0pt;">As of July 31, 2024 and January 31, 2024, interest receivable in the amounts of $1.6 million and $1.3 million, respectively, were <span style="-sec-ix-hidden:Hidden_20Fec4ql30OCC1Z-53pGZg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">included</span></span> in the balances of AFS securities. For the three and six months ended July 31, 2024 and 2023, there were no sales of the Company’s AFS securities and, therefore, there were no amounts of gains or losses reclassified out of other comprehensive income into net income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company does not believe the unrealized losses represent credit losses based on the evaluation of evidence as of July 31, 2024 and January 31, 2024, which includes an assessment of whether it is more likely than not the Company will be required to sell or intends to sell the investments before recovery of their corresponding amortized cost bases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Earnings on Investments </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Earnings on investments for the three and six months ended July 31, 2024 were $4.8 million and $9.3 million, respectively, and they were $3.3 million and $5.7 million for the three and six months ended July 31, 2023, respectively. Earnings on investments are included in other income, net, in the consolidated statements of earnings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Concentration Risk</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company has a substantial portion of its cash on deposit in the U.S. with the Bank or invested in CDs purchased from the Bank. In addition, the Company has cash invested in a money market fund at a separate institution. The Company also maintains certain Euro-based bank accounts in Ireland and certain pound sterling-based bank accounts in the U.K. in support of the operations of APC. As of July 31, 2024 and January 31, 2024, approximately 1% and 12%, respectively, of the Company’s cash and cash equivalents were held by financial institutions in Ireland and the U.K. Management does not believe that the combined amount of the CDs and the cash deposited with the Bank, cash invested in the money market fund, and cash balances maintained at financial institutions in Ireland and the U.K., in excess of government-insured levels, represent material risks.</p> 600000 700000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:71.96%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 69,292</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 109,489</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Available-for-sale securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 182,705</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 105,884</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 251,997</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 215,373</span></p></td></tr></table> 69292000 109489000 182705000 105884000 251997000 215373000 P1Y 1800000 1800000 4500000 4500000 0.054 0.054 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:35.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:61.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Allowance for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Credit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gains</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. Treasury notes:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Due within one year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,109</p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Due in one to three years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,045</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 449</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,292</p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Due in three to five years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,502</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,257</p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. corporate debt security:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Due in one to three years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,046</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,047</p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 181,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,208</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 296</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182,705</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:35.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:61.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Allowance for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Credit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gains</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. Treasury notes:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Due in one to three years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,217</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,555</p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. corporate debt security:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Due in one to three years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,406</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 77</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,329</p></td></tr><tr><td style="vertical-align:bottom;width:35.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,623</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 307</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,884</p></td></tr></table> 25200000 3000 94000 25109000 91045000 449000 202000 91292000 55502000 755000 56257000 10046000 1000 10047000 181793000 1208000 296000 182705000 96217000 568000 230000 96555000 9406000 77000 9329000 105623000 568000 307000 105884000 1600000 1300000 0 0 0 0 0 0 0 0 4800000 9300000 3300000 5700000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 4 – FAIR VALUE MEASUREMENTS </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:8pt 0pt 8pt 0pt;">The following table presents the Company’s financial instruments as of July 31, 2024 and January 31, 2024 that are measured and recorded at fair value on a recurring basis:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:87.88%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:30.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:32.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:32.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:0.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Money market fund</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 144,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 126,646</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Available-for-sale securities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">U.S. Treasury notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 172,658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,555</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">U.S. corporate debt security</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,047</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,329</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 144,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 126,646</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,884</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:87.88%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:30.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:32.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:32.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:0.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Money market fund</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 144,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 126,646</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Available-for-sale securities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">U.S. Treasury notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 172,658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,555</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">U.S. corporate debt security</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,047</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,329</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:30.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 144,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 126,646</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,884</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 144956000 126646000 172658000 96555000 10047000 9329000 144956000 182705000 126646000 105884000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 5 – ACCOUNTS RECEIVABLE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Accounts receivable include amounts that have been billed and amounts that are billable to customers. As of July 31, 2024, there were billable amounts related to an overseas project in the total amount of $23.9 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company may extend credit to a customer without requiring tangible collateral based on an evaluation of the customer’s financial condition and other factors. Customer payments on other construction, fabrication and field service contracts are generally due within 30 days of billing, depending on the negotiated terms of the corresponding contract. Exposure to losses on accounts and notes receivable is expected to differ due to the varying financial condition of each customer. The Company monitors its exposure to credit losses and may establish an allowance for credit losses based on management’s estimate of the loss that is expected to occur over the remaining life of the particular financial asset. The amounts of the provision for credit losses for the three and six months ended July 31, 2024 was $0.5 million. The amount of the provision for credit losses for the three and six months ended July 31, 2023 were insignificant. The allowance for credit losses at July 31, 2024 and January 31, 2024 was $2.3 million and $1.8 million, respectively. </p> 23900000 500000 500000 2300000 1800000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 6 – INTANGIBLE ASSETS </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">At both July 31, 2024 and January 31, 2024, the goodwill balances related primarily to the GPS and TRC reporting units, and were $18.5 <span style="-sec-ix-hidden:Hidden_tLKFLhcgtEKQ69jkm7RI1g;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">million</span></span> and $9.5 <span style="-sec-ix-hidden:Hidden_i3S2E0xidEmbAxcUQQBh0Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">million</span></span>, respectively. Management does not believe that any events or circumstances occurred or arose since January 31, 2024, that required an updated assessment of the goodwill balances of either the GPS or TRC reporting units. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s intangible assets, other than goodwill, relate primarily to the industrial construction services segment and consisted of the following as of July 31, 2024 and January 31, 2024:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:90%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.02%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:27.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:29.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:29.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Useful Life</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">15 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,450</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,049</p></td></tr><tr><td style="vertical-align:bottom;width:27.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 916</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 916</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 748</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 168</p></td></tr><tr><td style="vertical-align:bottom;width:27.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,393</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,198</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,217</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 8pt 0pt;">The following is a schedule of future amounts of amortization related to purchased intangibles:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:83.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;width:12.1%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Years Ending January 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expense</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025 (remainder)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:12.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 196</p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:middle;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 376</p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:middle;width:12.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300</p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:middle;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300</p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:12.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300</p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:middle;width:12.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 550</p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:12.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,022</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 18500000 9500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:90%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.02%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:27.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:29.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:29.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Useful Life</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td></tr><tr><td style="vertical-align:bottom;width:27.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">15 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,450</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,049</p></td></tr><tr><td style="vertical-align:bottom;width:27.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 916</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 916</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 748</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 168</p></td></tr><tr><td style="vertical-align:bottom;width:27.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,393</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,198</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,217</p></td></tr></table> P15Y 4499000 2599000 1900000 4499000 2450000 2049000 P10Y 916000 794000 122000 916000 748000 168000 5415000 3393000 2022000 5415000 3198000 2217000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:83.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;width:12.1%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Years Ending January 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expense</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025 (remainder)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:12.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 196</p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:middle;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 376</p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:middle;width:12.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300</p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:middle;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300</p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:12.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300</p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:middle;width:12.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 550</p></td></tr><tr><td style="vertical-align:bottom;width:83.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:12.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,022</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 196000 376000 300000 300000 300000 550000 2022000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 7 – FINANCING ARRANGEMENTS </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">On May 24, 2024, the Company and the Bank executed the Second Amended and Restated Replacement Credit Agreement with an expiration date May 31, 2027 (the “New Credit Agreement”). The New Credit Agreement supersedes the now expired credit agreement, as amended, that was executed on May 15, 2017 with an expiration date of May 31, 2024 (the “Expired Credit Agreement”), reduces the base lending commitment amount from $50.0 million to $35.0 million, increases the letter of credit fees to be consistent with current market conditions, and establishes the interest rate for revolving loans at the Secured Overnight Financing Rate (“SOFR”) <span style="-sec-ix-hidden:Hidden_r49YSDB_Xk-pho3lbNM1xg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">plus</span></span> 1.85%. In addition to the base commitment, the new facility includes an accordion feature that allows for an additional commitment amount of $30.0 million, subject to certain conditions, that represents an increase from the $10.0 million accordion provided by the Expired Credit Agreement. The Company may use the borrowing ability to cover other credit instruments issued by the Bank for the Company’s use in the ordinary course of business as defined in the New Credit Agreement. Further, on May 31, 2024, the Company completed the negotiation of a companion facility, in the amount of $25.0 million, pursuant to which APC, the Company’s Irish subsidiary, may cause the Bank’s European entity to issue letters of credit on its behalf that will be secured by a blanket parent company guarantee issued by Argan to the Bank.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">At July 31, 2024 and January 31, 2024, the Company did not have any borrowings outstanding under the New Credit Agreement and Expired Credit Agreement, respectively. At July 31, 2024, there were no outstanding letters of credit issued under the New Credit Agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company has pledged the majority of its assets to secure its financing arrangements. The Bank’s consent is not required for acquisitions, divestitures, cash dividends or significant investments as long as certain conditions are met. The New Credit Agreement requires that the Company comply with certain financial covenants at its fiscal year-end and at each fiscal quarter-end. The New Credit Agreement includes other terms, covenants and events of default that are customary for a credit facility of its size and nature, including a requirement to achieve positive adjusted earnings before interest, taxes, depreciation and amortization, as defined, over each rolling twelve-month measurement period. As of July 31, 2024, the Company was in compliance with the covenants and other requirements of the New Credit Agreement.</p> 50000000.0 35000000.0 0.0185 30000000.0 10000000.0 25000000.0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 8 – COMMITMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Performance Bonds and Guarantees</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In the normal course of business and for certain major projects, the Company may be required to obtain surety or performance bonding, to cause the issuance of letters of credit, or to provide parent company guarantees (or some </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">combination thereof) in order to provide performance assurances to clients on behalf of its contractor subsidiaries. As these subsidiaries are wholly-owned, any actual liability is ordinarily reflected in the financial statement account balances determined pursuant to the Company’s accounting for contracts with customers. When sufficient information about claims on guaranteed or bonded projects would become available and monetary damages or other costs or losses are determined to be probable, the Company would record such losses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">As of July 31, 2024, the estimated amounts of the Company’s unsatisfied bonded performance obligations, covering all of its subsidiaries, was approximately $0.3 billion. As of July 31, 2024, the outstanding amount of bonds covering other risks, including warranty obligations and contract payment retentions related to completed activities, was $19.9 million. Not all of our projects require bonding. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company also provided a financial guarantee, subject to certain terms and conditions, up to the amount of $3.6 million in support of business development efforts. An estimated loss related to this guarantee was recorded during the year ended January 31, 2022 (“Fiscal 2022”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Warranties</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company generally provides assurance-type warranties for work performed under its construction contracts. The warranties cover defects in equipment, materials, design or workmanship, and most warranty periods typically run from <span style="-sec-ix-hidden:Hidden_l7N4wLuj8ESM3Bf1dUmubA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">nine</span></span> to <span style="-sec-ix-hidden:Hidden_7d4ZvNd7nkmEuY6hMqgESw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">twenty-four months</span></span> after the completion of construction on a particular project. Because of the nature of the Company’s projects, including project owner inspections of the work both during construction and prior to substantial completion, the Company has not experienced material unexpected warranty costs in the past. Warranty costs are estimated based on experience with the type of work and any known risks relative to each completed project. The accruals of liabilities, which are established to cover estimated future assurance-type warranty costs, are recorded as the contracted work is performed, and they are included in the amounts of accrued expenses in the condensed consolidated balances sheets. The liability amounts may be periodically adjusted to reflect changes in the estimated size and number of expected warranty claims.</p> 300000000 19900000 3600000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 9 – LEGAL CONTINGENCIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">In the normal course of business, the Company may have pending claims and legal proceedings. The Company maintains accrued expense balances for the estimated amounts of legal costs expected to be billed related to any significant matter. In the opinion of management, based on information available at this time, there were no current claims and proceedings that were expected to have a material adverse effect on the condensed consolidated financial statements as of July 31, 2024. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 10 – STOCK-BASED COMPENSATION </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">In June 2020, the Company’s stockholders approved the adoption of the 2020 Stock Plan (the “2020 Plan”). The 2020 Plan replaced the 2011 Stock Plan (the “2011 Plan”); the Company’s authority to make awards pursuant to the 2011 Plan expired on July 19, 2021. Together, the 2020 Plan and the 2011 Plan are hereinafter referred to as the “Stock Plans.” As of July 31, 2024, there were 1,540,667 shares of common stock reserved for issuance under the Stock Plans, which includes 488,799 shares of common stock available for future awards under the 2020 Plan. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Expense amounts related to stock awards were $1.0 million and $1.2 million for the three months ended July 31, 2024 and 2023, respectively. Expense amounts related to stock awards were $2.2 million and $2.2 million for the six months ended July 31, 2024 and 2023, respectively. At July 31, 2024, there was $6.8 million in unrecognized compensation cost related to outstanding stock awards that the Company expects to expense over the next three years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Stock Options</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">A summary of stock option activity under the Stock Plans for the six months ended July 31, 2024 is presented below (shares in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:47.13%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term (years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding, February 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,365</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.95</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.43</p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61.22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (627)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41.56</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding, July 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 740</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47.87</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.93</p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercisable, July 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 669</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48.72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11.24</p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">Vested or expected to vest, July 31, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 740</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 47.87</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4.81</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10.93</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 8pt 0pt;">The changes in the number of non-vested options to purchase shares of common stock for the six months ended July 31, 2024 is presented below (shares in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:73.66%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-vested, February 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 92</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.85</p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.89</p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.63</p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-vested, July 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 71</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.06</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 8pt 0pt;">The total intrinsic value amounts related to the stock options exercised during the six months ended July 31, 2024 and 2023 were $17.1 million and $0.9 million, respectively. As of July 31, 2024, the aggregate market value of the underlying common stock outstanding and exercisable stock options that were “in-the-money” exceeded their aggregate exercise prices by $23.0 million and $20.2 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Restricted Stock Units </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company awards total stock return performance-based restricted stock units (“PRSUs”), earnings per share performance-based restricted stock units (“EPRSUs”), renewable energy performance-based restricted stock units (“RRSUs”), and time-based restricted stock units (“TRSUs”) to senior executives, certain other key employees and members of the Company’s board of directors. Awardees earn the right to receive shares of common stock as certain performance goals are achieved and/or service periods are satisfied. Each restricted stock unit expires on the three-year anniversary of the award. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;"><span style="background:#ffffff;">During the six months ended July 31, 2024, the Company awarded PRSUs covering a target of </span><span style="background:#ffffff;">5,000</span><span style="background:#ffffff;"> shares of common stock. EPRSUs covering a target of </span><span style="background:#ffffff;">10,000</span><span style="background:#ffffff;"> shares of common stock, RRSUs covering a target of </span><span style="background:#ffffff;">5,000</span><span style="background:#ffffff;"> shares of common stock, TRSUs covering </span><span style="background:#ffffff;">39,050</span><span style="background:#ffffff;"> shares of common stock, and </span><span style="background:#ffffff;">2,738</span><span style="background:#ffffff;"> shares based on the amount of cash dividends deemed paid on shares were earned pursuant to the awards during the period. The number of shares of common stock to be issued under certain awards may exceed the number of target shares if certain performance goals are exceeded.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units for the six months ended July 31, 2024, are presented below (shares in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:73.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding, February 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 348</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.21</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 77</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42.07</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Issued</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (51)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42.14</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (62)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26.13</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding, July 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 312</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.96</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 1540667 488799 1000000.0 1200000 2200000 2200000 6800000 P3Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">A summary of stock option activity under the Stock Plans for the six months ended July 31, 2024 is presented below (shares in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:47.13%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term (years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding, February 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,365</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.95</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.43</p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61.22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (627)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41.56</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding, July 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 740</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47.87</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.93</p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercisable, July 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 669</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48.72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11.24</p></td></tr><tr><td style="vertical-align:bottom;width:47.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">Vested or expected to vest, July 31, 2024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 740</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 47.87</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4.81</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10.93</span></p></td></tr></table> 1365000 44.95 P4Y8M1D 10.43 6000 61.22 627000 41.56 4000 60.07 740000 47.87 P4Y9M21D 10.93 669000 48.72 P4Y5M4D 11.24 740000 47.87 P4Y9M21D 10.93 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:73.66%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-vested, February 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 92</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.85</p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.89</p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.63</p></td></tr><tr><td style="vertical-align:bottom;width:73.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-vested, July 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 71</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.06</p></td></tr></table> 92000 7.85 6000 13.89 27000 8.63 71000 8.06 17100000 900000 23000000.0 20200000 P3Y 5000 10000 5000 39050 2738 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units for the six months ended July 31, 2024, are presented below (shares in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:73.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding, February 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 348</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.21</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 77</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42.07</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Issued</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (51)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42.14</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (62)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26.13</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding, July 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 312</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.96</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 348000 30.21 77000 42.07 51000 42.14 62000 26.13 312000 31.96 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 11 – INCOME TAXES </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company’s income tax amounts for the six months ended July 31, 2024 and 2023 differed from corresponding amounts computed by applying the federal corporate income tax rate of 21% to the income before income taxes for the periods as presented below: </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computed expected income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,475</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,276</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Difference resulting from:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">State income taxes, net of federal tax effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,186</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 455</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Unrecognized tax loss benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 961</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 529</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Excess executive compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 404</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 400</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Stock-based compensation windfall</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (531)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (126)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign tax rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (240)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (643)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">GILTI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 505</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Tax credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (453)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other permanent differences and adjustments, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 259</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 544</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,514</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,487</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Net Operating Loss (“NOL”) Carryback</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">As a result of the tax changes enacted by the Coronavirus, Aid, Relief and Economic Security Act signed into law in March 2020 (the “CARES Act”), the Company made a filing during the year ended January 31, 2021 with the Internal Revenue Service (the “IRS”) requesting carryback refunds of income taxes paid for the years ended January 31, 2016 (“Fiscal 2016”) and 2015 (“Fiscal 2015”) in the total amount of approximately $12.7 million. At the instruction of the IRS, the Company filed amended income tax returns for Fiscal 2016 and Fiscal 2015 during Fiscal 2024; the IRS has not completed the examination and approval process for the Company’s amended tax returns and refund request.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Research and Development Tax Credits</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">During the year ended January 31, 2023 (“Fiscal 2023”), the Company filed amended federal income tax returns for Fiscal 2022 and for the year ended January 31, 2021 (“Fiscal 2021”) that included research and development tax credits in the total amount of $5.8 million, which was netted with a provision for uncertain tax return positions in the amount of $2.4 million. In May 2023, the Company received notification that these amended federal income tax returns were selected for examination. At July 31, 2024, the examination was in its early stages of documentation requests and review.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Income Tax Refunds</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of July 31, 2024 and January 31, 2024, the balances of other current assets in the condensed consolidated balance sheet included income tax refunds receivable and prepaid income taxes in the total amount of approximately $18.3 million. The income tax refunds included the amount expected to be received from the IRS upon its examination and approval of the </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">Company’s NOL carryback refund request and the completion of its examination of the amended tax returns for Fiscal 2022 and Fiscal 2021 as described above. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Income Tax Returns</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company is subject to federal and state income taxes in the U.S., and income taxes in Ireland and the U.K. Tax treatments within each jurisdiction are subject to the interpretation of the related tax laws and regulations which require significant judgments to apply. The Company is no longer subject to income tax examinations by authorities for its fiscal years ended on or before January 31, 2020, except for several notable exceptions including Ireland, the U.K. and several states where the open periods are one year longer. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;background:#ffffff;">Solar Energy Projects</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company holds equity investments in Solar Tax Credit (“STC”) investments. Primarily, the STC investments are structured as limited liability companies that invest in solar energy projects that are eligible to receive energy tax credits. During the six months ended July 31, 2024, the Company made investments of approximately $3.3 million in STC investments that were committed as of January 31, 2024. As of July 31, 2024, the Company had no remaining cash investment commitments related to its STC investments. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">At July 31, 2024 and January 31, 2024, the investment accounts balances were $1.2 million and $2.1 million, respectively, which are included in right-of-use and other assets in the condensed consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The Company has elected to use the proportional amortization method (“PAM”) for STC investments that qualify. Under PAM, an investment is amortized in proportion to the allocation of tax benefits received in each period, and the investment amortization and tax benefit amounts are presented net within income tax expense in the Company’s condensed consolidated statement of earnings. For the six months ended July 31, 2024, the Company recorded $0.7 million of investment amortization related to the STC investment that qualifies for PAM. For the three months ended July 31, 2024, the recorded amount of amortization related to this investment was not material. The amount of non-income tax-related activity and other returns related to this investment was not material for the three and six months ended July 31, 2024. During the six months ended July 31, 2023, the Company did not have any STC investments that qualified for PAM.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">For the Company’s STC investments that do not qualify for PAM, the Company accounts for the investments using the equity method of accounting and includes income and losses related to the investment in other income in the Company’s condensed consolidated statements of earnings. For the three and six months ended July 31, 2024 and 2023, the Company’s share of activity from these STC investments was not material.</p> 0.21 0.21 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computed expected income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,475</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,276</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Difference resulting from:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">State income taxes, net of federal tax effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,186</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 455</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Unrecognized tax loss benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 961</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 529</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Excess executive compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 404</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 400</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Stock-based compensation windfall</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (531)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (126)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign tax rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (240)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (643)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">GILTI</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 505</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Tax credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (453)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other permanent differences and adjustments, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 259</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 544</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,514</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,487</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 7475000 4276000 1186000 455000 -961000 -529000 404000 400000 531000 126000 -240000 -643000 505000 453000 259000 544000 9514000 5487000 12700000 5800000 2400000 18300000 18300000 3300000 0 1200000 2100000 700000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 12 – NET INCOME PER SHARE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Basic and diluted net income per share amounts are computed as follows (shares in thousands except in the notes):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80.14%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,198</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,767</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average number of shares outstanding – basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,403</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,403</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Effect of stock awards <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 139</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average number of shares outstanding – diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,880</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,542</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.95</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.31</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.94</span></p></td></tr></table><div style="margin-top:8pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:49.7pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">For the three months ended July 31, 2024 and 2023, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">74,500</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">785,167</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> shares of common stock, respectively.</span></td><td style="width:49.7pt;"></td></tr></table><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:72.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 26,080</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,876</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average number of shares outstanding – basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,331</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,408</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Effect of stock awards <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 396</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 136</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average number of shares outstanding – diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,727</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,544</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.96</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.11</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.90</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.10</span></p></td></tr></table><div style="margin-top:8pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:49.7pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">For the six months ended July 31, 2024 and 2023, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">209,250</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">818,501</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> shares of common stock, respectively.</span></td><td style="width:49.7pt;"></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Basic and diluted net income per share amounts are computed as follows (shares in thousands except in the notes):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80.14%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,198</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,767</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average number of shares outstanding – basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,403</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,403</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Effect of stock awards <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 139</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average number of shares outstanding – diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,880</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,542</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.95</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.31</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.94</span></p></td></tr></table><div style="margin-top:8pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:49.7pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">For the three months ended July 31, 2024 and 2023, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">74,500</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">785,167</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> shares of common stock, respectively.</span></td><td style="width:49.7pt;"></td></tr></table><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:72.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 26,080</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,876</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average number of shares outstanding – basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,331</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,408</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Effect of stock awards <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 396</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 136</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average number of shares outstanding – diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,727</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,544</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.96</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.11</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.90</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.10</span></p></td></tr></table><div style="margin-top:8pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:49.7pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">For the six months ended July 31, 2024 and 2023, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">209,250</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">818,501</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"> shares of common stock, respectively.</span></td><td style="width:49.7pt;"></td></tr></table> 18198000 12767000 13403000 13403000 477000 139000 13880000 13542000 1.36 0.95 1.31 0.94 74500 785167 26080000 14876000 13331000 13408000 396000 136000 13727000 13544000 1.96 1.11 1.90 1.10 209250 818501 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 13 – STOCKHOLDERS’ EQUITY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">During the six months ended July 31, 2024, the Company’s board of directors declared two regular quarterly cash dividends, each in the amount of $0.30 per <span style="-sec-ix-hidden:Hidden_VbnXYCzV106uQ_fpZKI8Jw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">share</span></span> of common stock, which were paid to stockholders on April 22, 2024 and July 31, 2024. During the six months ended July 31, 2023, the Company’s board of directors declared two regular quarterly cash dividends, each in the amount of $0.25 per <span style="-sec-ix-hidden:Hidden_LYHYmzXV40K9bwUE0HKd_Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">share</span></span> of common stock, which were paid to stockholders on April 28, 2023 and July 31, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Pursuant to its established program and authorizations provided by Argan’s board of directors, the Company repurchased shares of its common stock during the six months ended July 31, 2024 and 2023 and added the shares to treasury stock. During these periods, the Company repurchased 5,600 shares and 169,788 shares of common stock, all on the open market, for aggregate prices of approximately $0.3 million, or $44.87 per share, and $6.7 million, or $39.45 per share, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">For the six months ended July 31, 2024, the Company accepted 417,431 shares of common stock at the average price per share of $68.04 for the exercise price and/or tax withholding in connection with stock option exercises and other share-based award settlements. For the six months ended July 31, 2023, the Company did not accept any shares of common stock for such transactions. For the six months ended July 31, 2024 and 2023, the Company used 260,630 shares and 81,851 shares of treasury stock, respectively, to settle stock option exercises and other share-based awards.</p> 0.30 2024-04-22 2024-07-31 0.25 2023-04-28 2023-07-31 5600 169788 300000 44.87 6700000 39.45 417431 68.04 260630 81851 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 14 – CUSTOMER CONCENTRATIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The majority of the Company’s consolidated revenues relate to performance by the power industry services segment. The following schedule presents the percentage of consolidated revenues for each reportable business segment for the three and six months ended July 31, 2024:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.37%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Power industry services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:38.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Industrial construction services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Telecommunications infrastructure services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 8pt 0pt;">The Company’s most significant customer relationships for the three months ended July 31, 2024 included three power industry services customers, which accounted for 27%, 14% and 12% of consolidated revenues. The Company’s most significant customer relationships for the three months ended July 31, 2023 included three power industry services customers, which accounted for 21%, 20% and 12% of consolidated revenues. The Company’s most significant customer relationships for the six months ended July 31, 2024 included three power industry services customers, which accounted for 28%, 13% and 10% of consolidated revenues. The Company’s most significant customer relationships for the six months ended July 31, 2023 included three power industry services customers and one industrial construction services customer, which accounted for 19%, 17%, 11% and 11% of consolidated revenues.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The accounts receivable balances from three major customers represented 25%, 21% and 13% of the corresponding consolidated balance as of July 31, 2024. Accounts receivable balances from three major customers represented 16%, 14% and 14% of the corresponding consolidated balance as of January 31, 2024. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">The contract asset balances associated with five major customers represented 16%, 16%, 13%, 11% and 11% of the corresponding consolidated balance as of July 31, 2024. The contract asset balances associated with two major customers represented 39% and 32% of the corresponding consolidated balance as of January 31, 2024.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.37%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Power industry services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:38.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Industrial construction services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Telecommunications infrastructure services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 0.765 0.745 0.738 0.716 0.219 0.232 0.243 0.257 0.016 0.023 0.019 0.027 3 0.27 0.14 0.12 3 0.21 0.20 0.12 3 0.28 0.13 0.10 3 1 0.19 0.17 0.11 0.11 3 0.25 0.21 0.13 3 0.16 0.14 0.14 5 0.16 0.16 0.13 0.11 0.11 2 0.39 0.32 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 15 – SEGMENT REPORTING </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Segments represent components of an enterprise for which discrete financial information is available that is evaluated regularly by the Company’s chief executive officer, who is the CODM, in determining how to allocate resources and in assessing performance. The Company’s reportable segments recognize revenues and incur expenses, are organized in separate business units with different management teams, customers, talents and services, and may include more than one operating segment. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Intersegment revenues and the related cost of revenues are netted against the corresponding amounts of the segment receiving the intersegment services. For the three and six months ended July 31, 2024, intersegment revenues were $1.4 million. For the three and six months ended July 31, 2023, intersegment revenues were not material.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 8pt 0pt;">Summarized below are certain operating results and financial position data of the Company’s reportable business segments for the three and six months ended July 31, 2024 and 2023. The “Other” column in each summary includes the Company’s corporate expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 173,760</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 49,642</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,613</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 227,015</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 150,233</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 43,200</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 195,910</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,527</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,442</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,136</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31,105</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,192</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,965</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 669</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,602</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,428</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,335</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 467</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,602)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,677</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,707</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 894</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,604</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,042</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 470</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,708)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24,281</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,083</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,198</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 98</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 98</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 148</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 210</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 104</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 463</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,947</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 241</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 161</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,349</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 476,912</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 55,175</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,405</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 138,462</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 674,954</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 384,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27,817</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,331</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,502</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 415,127</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,467</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 90</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,033</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 506,365</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 71,787</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,041</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 141,381</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 726,574</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:43.99%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 105,345</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 32,756</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,248</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 141,349</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 87,094</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,076</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,437</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 117,607</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,251</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,680</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 811</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,742</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,596</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,446</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 727</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,732</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,501</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,655</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,234</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 84</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,732)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,241</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,607</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 514</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,118</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,262</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,234</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 81</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,218)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,359</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,592</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,767</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 98</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 98</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 128</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 260</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 99</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 488</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 148</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 220</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 386</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 319,196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 45,590</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,273</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 86,073</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 455,132</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 183,405</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,996</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,717</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,488</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 215,606</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,467</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 90</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,033</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 346,192</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 63,074</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,264</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 89,178</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 505,708</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 284,026</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 93,341</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,330</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 384,697</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 249,225</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 81,079</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,344</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 335,648</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 34,801</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,262</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,986</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 49,049</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,320</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,838</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,279</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,416</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,853</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,481</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,424</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 707</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,416)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25,196</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,768</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,626</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,398</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 30,249</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,425</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 710</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,790)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 35,594</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,514</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 26,080</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 195</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 195</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 285</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 455</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 201</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 943</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,219</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 273</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 179</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,671</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:43.99%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 175,521</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 63,063</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,440</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 245,024</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 147,429</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 54,638</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,991</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 207,058</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,092</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,425</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,449</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 37,966</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,310</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,906</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,430</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,446</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,092</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,782</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,519</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,446)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,874</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,697</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,205)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,489</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,479</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,519</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,651)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,363</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,487</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,876</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 196</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 256</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 564</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 213</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,035</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 537</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,031</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 1 1400000 1400000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 173,760</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 49,642</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,613</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 227,015</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 150,233</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 43,200</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 195,910</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,527</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,442</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,136</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31,105</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,192</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,965</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 669</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,602</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,428</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,335</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 467</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,602)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,677</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,707</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 894</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,604</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,042</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 470</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,708)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24,281</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,083</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,198</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 98</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 98</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 148</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 210</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 104</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 463</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,947</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 241</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 161</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,349</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 476,912</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 55,175</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,405</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 138,462</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 674,954</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 384,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27,817</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,331</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,502</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 415,127</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,467</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 90</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,033</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 506,365</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 71,787</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,041</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 141,381</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 726,574</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:43.99%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 105,345</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 32,756</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,248</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 141,349</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 87,094</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,076</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,437</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 117,607</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,251</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,680</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 811</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,742</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,596</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,446</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 727</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,732</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,501</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,655</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,234</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 84</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,732)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,241</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,607</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 514</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,118</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,262</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,234</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 81</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,218)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,359</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,592</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,767</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 98</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 98</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 128</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 260</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 99</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 488</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 148</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 220</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 386</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 319,196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 45,590</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,273</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 86,073</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 455,132</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 183,405</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,996</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,717</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,488</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 215,606</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,467</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 90</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,033</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 346,192</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 63,074</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,264</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 89,178</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 505,708</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 284,026</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 93,341</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,330</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 384,697</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 249,225</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 81,079</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,344</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 335,648</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 34,801</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,262</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,986</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 49,049</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,320</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,838</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,279</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,416</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,853</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,481</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,424</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 707</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,416)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25,196</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,768</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,626</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,398</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 30,249</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,425</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 710</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,790)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 35,594</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,514</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 26,080</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 195</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 195</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 285</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 455</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 201</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 943</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,219</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 273</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 179</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,671</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:43.99%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;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','Times','serif';font-size:10pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Power</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Industrial</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Telecom</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Totals</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 175,521</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 63,063</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,440</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 245,024</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 147,429</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 54,638</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,991</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 207,058</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,092</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,425</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,449</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 37,966</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling, general and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,310</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,906</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,430</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,446</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,092</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,782</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,519</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,446)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,874</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,697</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,205)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,489</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,479</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,519</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,651)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,363</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,487</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,876</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization of intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 196</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 256</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 564</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 213</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,035</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment additions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 537</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,031</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 173760000 49642000 3613000 227015000 150233000 43200000 2477000 195910000 23527000 6442000 1136000 31105000 7192000 1965000 669000 2602000 12428000 16335000 4477000 467000 -2602000 18677000 4707000 3000 894000 5604000 21042000 4477000 470000 -1708000 24281000 6083000 18198000 98000 98000 148000 210000 104000 1000 463000 1947000 241000 161000 2349000 476912000 55175000 4405000 138462000 674954000 384477000 27817000 1331000 1502000 415127000 18476000 9467000 90000 28033000 506365000 71787000 7041000 141381000 726574000 105345000 32756000 3248000 141349000 87094000 28076000 2437000 117607000 18251000 4680000 811000 23742000 5596000 1446000 727000 2732000 10501000 12655000 3234000 84000 -2732000 13241000 3607000 -3000 514000 4118000 16262000 3234000 81000 -2218000 17359000 4592000 12767000 98000 98000 128000 260000 99000 1000 488000 148000 220000 18000 386000 319196000 45590000 4273000 86073000 455132000 183405000 28996000 1717000 1488000 215606000 18476000 9467000 90000 28033000 346192000 63074000 7264000 89178000 505708000 284026000 93341000 7330000 384697000 249225000 81079000 5344000 335648000 34801000 12262000 1986000 49049000 13320000 3838000 1279000 5416000 23853000 21481000 8424000 707000 -5416000 25196000 8768000 1000 3000 1626000 10398000 30249000 8425000 710000 -3790000 35594000 9514000 26080000 195000 195000 285000 455000 201000 2000 943000 2219000 273000 179000 2671000 175521000 63063000 6440000 245024000 147429000 54638000 4991000 207058000 28092000 8425000 1449000 37966000 11310000 2906000 1430000 5446000 21092000 16782000 5519000 19000 -5446000 16874000 5697000 -3000 -2205000 3489000 22479000 5519000 16000 -7651000 20363000 5487000 14876000 196000 196000 256000 564000 213000 2000 1035000 537000 476000 18000 1031000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 16 — SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 6pt 0pt;">Other current assets consisted of the following at July 31, 2024 and January 31, 2024:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:73.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax refunds receivable and prepaid income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,288</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,267</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,214</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,985</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Prepaid expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,268</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,035</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,101</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,972</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 48,871</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 39,259</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:8pt 0pt 6pt 0pt;">Accrued expenses consisted of the following at July 31, 2024 and January 31, 2024:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:73.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued project costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 30,747</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 49,135</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,015</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,206</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,696</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,726</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,240</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,654</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 61,698</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 81,721</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:73.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax refunds receivable and prepaid income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,288</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,267</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,214</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,985</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Prepaid expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,268</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,035</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,101</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,972</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 48,871</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 39,259</span></p></td></tr></table> 18288000 18267000 8214000 9985000 8268000 6035000 14101000 4972000 48871000 39259000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;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:73.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">January 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued project costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 30,747</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 49,135</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,015</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,206</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,696</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,726</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,240</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,654</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 61,698</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 81,721</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 30747000 49135000 18015000 21206000 3696000 2726000 9240000 8654000 61698000 81721000 false false false false

>$P]D# 1)EJ@ M@&!C&Z";K(IO]H#A6UXV2O9NZ0EW<\W-%<5%UR.QJFUZZ*17X?S=5F.SUN]% M%(7O1L"ZI>>J6X+UQ5#SH>9#S8>5]<]460]U'Z(^1/U'R,U?(8A2='2M>#TT M4M<$7M'(H.+T;"L)HHXY^_>CJ-NOU#XFZ/W52VH>!(8=)H,E6E!(NW4'MA&! M=.XI5:HJA1!$D9O%UF&QX('H'JJVGZJC]?E?WCUKTB7_#.?!$G;L09_$:%- ME-#2/&2Y^Y6'>-.QZV$8 S.9>=J=/K/UX_N\V=?2W]'AQ%.]/6'8)LV29:B* MOO4 '0RC[L#2N.RI7I(I$LP%W^E]JFT3E@[? FS %LQ0A>]%9P_L[8.;B M?F<#_,OQ1=<4RYB<2SA*[= )%QI)8#LYV0#9W_XD. 9N?K!7Z-/5;\-FMU"! MKZW _[[U/B'??M$T'B3!E*8.QH[-NVNZ&\^&,^X7WTS_T6WNFS?RZ^I2T,)R MF55!I\EY0.P-M>$VV>_2UTNQ(H==LL_'4QD0O/@!=[T[7T^XZSW^KG?FLXOS M[E:;:7^QW_/$Q,&9.C4BMX!%1WR:GLR.)2@L?Y7@ESO(7/DN@:"'\X)I;^Q$ MP\U[;?E^Z:.($]Q,_< $ 7+\_3^PU:X0^JYM%OZ!9G\>>%>"Y1C?KI6^HE;< MGI2@[4#;@;8#;0?:SJ4+PJ#I?*!@['8MY^:3CY_SV&GY-0IY4\V2AB:JRFDHZ,U93P9&Z >R1J&9F^?DD64)&#_8 A#$(9N:0.'EO/MVPS0=#YR MVP':SE/;#MQU'G#7N?\SB!_P6RM&H[E3PBFI2IP_6JW%]IJ)MZG?FIXP?-=O M_?@)P[?TXPJ7(?XS_6K(+4@5()FH:R;_LZ2[NF> L%AHQ.[^F+8GL.+QFW2Q M_O,_T[LH@KOX$<17!DPD!FSZ\=0%-V#!GW)=@@\U:7;&^Q'_]\+/CQFH1YLK^!(#S.I.X9;IRN M0= R+UY@+?(R1UZ'"; MD; A2_W.-L4/ZK<_\2+!7+#W#(0."!U/#QWOWS<1.XLPB!1M(@Z-42R4A=IL M2%FW!R.=5K?LKU=41ZUN,5 ZW.''S!$ILAM79]#BL3@U^\KW8)_&!K#H$+K0JI#J->@/G>9%5I M9VY(>OB&D\3)0DE8$@T!Y%X Y!(YR5^#C&]?_]E;95VLCOI3,:[X:'M,NGI- MN@'4^&:1M:>X'!,J$QH5#F-_1C@1,U$P93O M)FS$:Q4_ @J3':JPERP&>C(\@>[(,\0S^+"BCDVRNA-U==/9E+@*(?LW@ &Y M9MR U6?^M-]TA#:*;,>C]JC3/YZHH+_]2:!L$:79L[22^\Z!Z@T79^1.73\) M*6#!]G6>$\BD\+YOB'' />?0]Y/8?%?G@/9JVOB]@Q0*.XL2]W)VY156_ MNOL,)WZYC+[;F9-+;=ORQ";>DX"Q&/CUGG79*S7&>-JW?2., M44DA(UU>4DK,6!I&O%ZIP<@B>I. M[K9^]?F4BUQG:90!V*Q6C J8.6.A$L76JAD(9-=9L")!PG=5[J-!]^6JNR ( M_.!E%'X@MM']JM%7E7IU)![0SL:W;M#ZM_-Q3&&ZQ(E(OT+$(U2<4_0VM?[L M,@I*%RGV4E[ 4U9_0O._D4KPGS7X;U\E425"W;%NDU(EM.4*SF*\,ZP;GQYS+?+U5*V]:=725BNR,+2[_.>$MV;]5_[B9C;,_^/ M7P31NYREFYUU$XVC0=??153#K_Q\>]?+PX%*B_:2H!1#Q,M-?2H';(NJ\AD< M,&D^@&0@&D!7X(DB@9W X[:WEQ?H$),J0A/MM<;F#6SH?S=<&J%6.+/S'7&O M;Y!@N"%9K7[,XJ.)X3),D2/?NU%^I] 5'!SB 8ED?><>TL?"CAVJL. MZ\:A[C_KJD/=A[K_K*L.Z_2N4Z=W]:J,@+ M;#">]_M&_^?S(=W G]E1RP_#$Q'1KM7?1N8 0^L@'O@CS&71"H^]=>=8CZ]X+ZG^L\ECG\(*H&&(@@ MWHNM6CSSQ]N?;X;TKM\'"'19+NGH05TO-7I!VK/6>BZG?E_V!/WW_+[;O\52 M\0.0S*-@Q$$ /&-?B +="]U,_@4W$0JLS'N04M=SYS:>:CTO7G!]>RQ#%7ZL M]80J#%7XSM?STE4NM\?Q[97(G#O*?:KEA H,%?BNE_/B5<>WQ_(CEBR?]7CN MXQ7,B+#E2H%.U!RDW>TNR$%UW$5^/G/SK4][R6D(+RF-?IK1.,J-]\S^7_F- MJFY[:=ZG!)*/!#U@N'H8VK-$-UYI]=U[]:F-@51C4?*CY4/-A+?## MU@+##/V/9N'2S!K_FA:J^(&BNT#YDA/BS44<1BE7'1!)L^]DVG:>VA$4M@%4 M12$KMD'M^K2RU3 ZR\+3%^TX].S&"#?CF]R,'S=]?T[@Z%1G'K68;QO.&NMY M?J=+JAU23H$C3=%_!SANO[([ZPZ3+.%RE0CP6,\-=NGWYVMF\F1F#HL)'VD] M83TL5.$[7T^HPK>@PC<=^;W;4G[3'WKAN#$[X<-9Z MU"UY84R)>+E3*4_P?;BO)L$?DS6;+V(7ZS7]?% #2["N#32P(,-1]1/<.K%ERE!G6D2OR$C'6YD7>I._%J(2O1N,@P(>ZQKVU]X%#<=NQZ&,3"3F:>=]S-@ M.;Z5FWTM_1V*3CR;:U>HQ3@:=WIHO-"&5J?B44#8:AB;/9M+%PD6NUP>X]DM M#=81WP_>P#IBJ/M/H?NW7U/VF2<+W]AE,Y_]FYOL-PL_\#$Y[NIB:RX.N2HV MI2/S(#2SW99-GZAD+U4P!O$&%HS=9L$8K-Z&F@\U_P[.\[_]6&S4:VE1;"P& M#A@(O;K2E/%9Z^E]T?7.[1-;Z M!S>E:(K3I8,GX**]\B8#I2?I/'/,>J$?V)0^GJ?^UJK?QKT(00_G!=/>V(EN MF_"FP\6K+Z=^8(( .?[^']AJ5PA]US8+_T"S/P^\CT&M^'9E\A6UXO:D!&T' MV@ZT'6@[T'8N73P$3><#Q46W:SDWGY7L@4BW/6"*>N E<@E?4I+M P#+77NH MB8J\P ;C>;]O]/F?CO[*K]'+F_J*-*PY$?0U11^P_=J$=*15S]N,>*^&+[8) M:QJ&I4$?05ZLU '6,$(8>DP8@M6_UZM\AZ;SD?^3RU^ MP&_M]OM.'07J +6GZ^6F<0"#9=M*_=;C8<5W_-:S'59\YLG$?Z9?#;D%J0(D M$W7-Y'^6=%?W#! 6"XW8W1^KV FL>/PF7:S__,_T?-UDG@P*LEWT*\,G$L,W M_7CJ@ANP_$]IV<2'FC0[8Z4_J4G#]C)L=$2DV>,[>V,N+/;\+U3Z9ZQ(<12F MS"72/U'8OZ.7]$Q3$1&E=Q+A#95H$T:\AF-9!Z8$-2BB2%/OW<:!=O/#">HK MV\U7(ODO" ?G< L^'PM^O/IAGNR+( B/,ZE[AANG:]#U@U0 ?!0%]C2.T@>& M^G[']U+N M]U$Y)ZPF?: ?&$U]&2#I7U?EPSG+5%-15U:XCM#7Y^J.8>0;QW!3="MV%_TE MITJQH/'=86DG-6X0/_QMN./V[AIWXMV*Z![BJF56,CYS%^#C'?N$RW[NX.R7T2.L"B[)929(F[_%[M@G@,UOMD9\?O0KYY2/AA_,K0?3]6 M1EASQ1%JE1I36[4DEAO-&\B&?!-01F2G-;3L?1T5VIM=9 UJP3(\ @IS/(S) M]P"$> +=D;MQ1SX_GA$1DI[7)G17;,K$'AM8(45-;P #P^(L540)^BS=S6[JUM@M @.LZ[Y.C__;DP+4!?CJ!;0( M:!'0(J!%0(N 3:1OKXGT[0D!EH9#>X#V .T!/K!Q&P]LW)X4H$7 '>(!=XC; M?U_B@_=>*F :Q'JP+V#% H[BY+U<>'G<)R@^\5X*]G)R0OYR+?I,E*=#M+;V M523AI"3LFUB'E"][+Z6S!9BA>?+*V2_&7CWF7&I?XC6<>+F7@I-XD<)16!-Z M'PW[+U@[?H_&_&-GH)]IR;=QAHKZ544BXW#O#$N>6CET#@V'L%+KA[=*H.%# MP_^E.R'1%#AD'.\==+\P.AMN%W5)]@9!(*Y/=KUYW5%$G<:7;66![% G X'L M3@A9Q%AX)^0^^FE?KD0*@L /WNC84#.C9V!US*DJP^:2MN>>N+E!ZW==DD96 MHHR+PJ1O^6.LWJ+US/JS&QTX5:30?/=M6$()S?]SS/]RY=0_:_#?OH_!=3O$ MLLK)!W&Y6W9&NY*XZ)=O^3Z&:N\THB(L@*.$U0.U'H\(0S@:?WH?@TE"?Q;6 M3]_);6*4/?;Z*=OWM:G$#E=3?A@/=:D3U"=M M];6E;5@P0<+M-H.#[#8%Q<''H: K\$21@!PN@WVU4JFIP[FT.GCM\_G!CXMK^,ZXZU'VH^\^ZZK P[CJ%<5;!0):K:F%$=.L1ZJR6L9&<1=!%E+U6)!.MK(8S<#8S 9RG@78O'N&L!=?_: MJPY1_UY0_W.=1S<<-=7&1F6<)1&T2^;8FI/;GZ]?>=?OV_K;H2OSHQ!=MV/? M8,=VT%3DU._+TM??\_MN_QY)Q0] ,H^"$0)7T[;$,5?BQUA.J,%3A.U_/2Y>FW!['MU?7%N;[=9./)W'XU#6=ZVTSS.5%25S3+[',RQ)AMOF/6R;5\"<,V=UKXT-LB*[ M7"SM2*=-6A)%FZY2L1VK,X&N_3[\[48>2@[AZ6!S[6>L+H5JO"=KR=4 MX5M0X9L.]=[MZKZ; NO0V_01U!Z$SF@YY41[_//]$/YRNL*^_XU/SMYQF>HA M,(4WGDD/)$R$R9(K(-C8!N@FJ^*;/6#XEI>-,M#=&)QPX;38XZH[1B+%I1RS M[9'"B_U:XL(Q:;]WO(AC%.SV#@NJ[K&@"M8A0P6&"@P5&!;20Q5^E/6$&'Q] M!;[K9/ 5(@R.=&RSXV]%4:_V\%9%(16JNTTCC*R?QW="C+NLRSYFCOW52\X8 M!(8=)H,EFE%(>W8'MA&!E)V4*E6?0@BBR,V"T;!8\$!TIS7:S][#^ORORIXU MEY%_FG)7&BXWT^YDAPZK9D4&PBJ*A>TO/#*;CET/PQB8R>H34K/-X,MW;@-$=@AC:KO5(L6QK.IL_0XC1:I(D+OD'[Z,>QL'GR MXP .;)X,=?\I=/_?-W\C^S//";ZQS68>^#=WV6_>FRQC'(C'8%D7UWL4I^>M MU8+LR.EVRZ9%'!>[4@WQYCGJOQZBWR;L- LU_PDT_^;WV6^_M]H,&H1$^CBC M#OU]UVL,J'HSNI4]METQHZ4WGCP85KMKMT0064B;OJV*%3D\_R+;^3J7 M/+N=/<>E#]C2'>H^W&CA1OM)1TGGW2!5>:)-2Y7)2*SN*&P@[OS]JI(%H<=3 M(A+/GQ+]SSP*.?HJ+X<^ 5C%@3%/! 2;O=]E%>N/F.^#'_?TONCRB3.? M$Z<[)8,W@CG*JZJR,R3:U'I-?)I8.I>>[E!%&LV?[9POX?141@*KVQ_.H84J M_/ L0Q5^K/6$-7L/IL"PZ/31.7Z^5L"WG(3_1H#QK7K3H-J*YTW0)%%$!/Z( M<&>"L]BF\466:F<9V"( ]RF@"L.M[2FVMDNDO7]P2R+Z,4K-E&U)Q'O5 M6F-ESY>VF6U):7+[.UO27=Z $/1P7C#MC9VHL7FO+>>O<)UAZ@?1NR!2+<]8(IZX"5R"5]RB*2^%E;6>,R+:QPA#F4UV!O-_\_>FS8G MKBSYP^_G4RC.S#QQ;P3R" D)Z'/_)T* 6,R^B,5O%$(J0" DT(* 3_]4E<1B M@]WN;F/ KEGZV+B0JK(R?[E45N;OQQ!S.R_D*!\"N2=G_+3M0ET9V7F\)*FE MQN,TG>XFO%13X1@E'O_KGU2,$5(D2Y? $(&A6U+@1')>SV\GHO.>_'$JC==9V?BLAN1><+/[5;WW_"\!I_ M7"&?_C_#9X\, &( .%%3AW_,J*9J:<"-48^^N0G#]EP\%OZ -NL__S>\BSJV M%S^">"; '!1@W?:')K@!"?Z4^DJBJ]1''YAAG]YJEIL4]?ZL9YGBW*;]0?F/ M,NSQ4NJ^YZ+%0>J?2:C7\KI8>TPN>HQ1XI><.M*6"W:,E_37/W$NED@G8SQ_ MP8I)WTH51H'F*\O-,Y+\#X&#CU#OGX\%OYYX,('Z#3AN.).2I9D^VH.&[2 " MB)[G&$/?0PU].G;-MM#J'-LTX9 27">J/7C&>IAJBC*KK&899O,XXQVCDZ-[ M <8/'MV\XY() AT$.@AT7 PZWJX=)=6FKN.UE2>II_7];"Y;'/7X/TRIO02, M).5,DQTR_;14?Q3M1], W4[01"1)03-$X&-IAB5 \H$QBZ^'(\+U5W7',/+* M<5K.44K)K9T=2V677YIV.I[CNG^8_W@)_(@[&[_78V<51JVSB<>5JW#K4H!H M@0[?V 07X^.G17)(WC,!D'L!D$O$)/\,,EZ_R+,9YU2IT.\,)3]O,]5!PE2+ M]1M C5<+B.1E8[+TAK6TU/;TM BLE=[)B!@^$G_]DT['A,2I'T-N_OS)>>-7 MPX_DK3LRMP<@[^^$KO.=8J7?FW69 ILKT6FIZFR7-Q ->150P KPY41UU6#4 MU295ZPQYL5,) 04U1(\Q*8[@"3%'[M<<^7Q_ANWEY8&>**PE55[55IETGFO: M-X !+T5_UAMX_J0VV,I9-"L/)&2>GKI^$ M%"1A^SH%^C$5WK9-KDT6PARDAP41$2(B1$2(B! 1(66C[[%L]'T(",D;)P)" M!(0("&FZ<8M--XB(W ES$!WRU77([?>E>.<]FCP8.K[J;*AXC&(9EKN7"S2W MR.\W5T/R4O=JXM')#_?'N?2+5'/-%EL90R[3F_1\$1C*."M>]EY-\+3FUAN^ M4IZUT^ZB_N0\+14[4#AN=Z\F$8_Q:7*OYDXJ_5\P]_T>A?G7SG _4Y)OXPRX MP ^F;3-9FT@;L= 8;-=Z:CG#TD]NQ1#!)X+_1W=:&G*B5VWDM)Y$/W*3.=_* M%-GZ#=YIF65:DUF93Q:EGEFRRO&",$AT100"^$X+&V.9M_) " S<3BGNRZ5X M$1#XQ1LI;FDTV*2K54,R5D&)VS:+Y7CQ!DV QRJC]^DGP#*;CC5X7'-U=B)@ M$P#?2&&2L11WJ2MMWS(%E(C_C:2#_Z[ OWZ?Q!>J%FO'E^H,Q,V<]B32CP/K M!E(_7[]/LGB,:UPJTYZ5JZG2)K-X-/+],1;^Q%__I%(Q(1$G^=]WTDGF@M=% MB/C_SFV0H2FGAY75DF'H EO.28O9HMNY 0?@53@0NXE5N;U,*@P8K\3,MM]- M>3KV!-!M$#:62@H$#8@I\'T\ :V9=Q20, I,W75X+;6>5/U;4.@O!;>120UXE($AF.1(WG$"+>F6 M<.U=)\GCA/>_ZZX3WB>\_UUWG23K72=9[^J>S\NRW]QQV>\/.A)9.7&Z)C72 M"::P;8V'ZZICR/SO>U,-QQX97L5VW3,>4;"H/G58+L_)Y73#G/=I61E[385+ MX&.->.)L+(/D_!(8^68P0CIMD LA7^-"".']:^\Z0?U[0?W/-1[%-#OW>IU. MFC%$JS@;9A+RTK^0W6=ZF65F9M<:4GL1G\0MO5E.H"XQB; +_<_LOMN_RI*W M'0#G06F^XP!+VU">HUJNB>E/C:'933+SODBJZT?'-K[5?EX\X?KVEDQ8^&OM M)V%APL)WOI^7SG*YO17?7HK,1WNYWVH["0,3!K[K[;QXUO'M+?G:*)_P/N%]PON$]TF.S)?*D2'9883S"><3SB11/$W=AH;SMM%43M/KS;2MT2^N-5]AHYWF]F\ M1 <+:ZQP @[$)]G3HL,?5VODNPLC4<8WJ8RO $B?%+3_2.!8K7V_LE3F*8;- M]V8]GLNE2^LF @X4H?\)<-Q^AC>N$@.W<+Z ! SSNL$:_?QQ14V^F9C?7#X M22HD>;&$A0D+?Z,EWR +W[3G]V9I>3&^I>T@W^\P\WR#H_-FI;N@?[^X],'\ M\GP>#K,_!=AX6OX&&TF^52JE9RM_)2:QG+^:BBVJ@22#+,X_Z) MB_%5*F*'P61[$861@:,9*+L;,@N%:HD[AN8!M$(T"G$4Y0+/,[%_2E*\OU>J MW\D-1BPOO?@O=O/\WL,P\;7M&RV(Q_5#_N Q MM9HMI17K]#9%?OP'Z=R_I7-/5"WK#(7&6+8E-N7R#N\^>=,Z5K6H62P78_C3 MQ$L"..0.R=>^0T*4+5&V1-E^A3.J#U&2]7%F39?]K.']<+.I;B0G)G[\% M;4^N@! 6)BS\G5F89 5^*08F::U??<579N";/PG_W(C\*R[&:QFM;I!*N8Y< MG$CU^5!O3E;6E"Z+R,- 7@AEN0NYF!\/V0@=S:(LKMTM$P']1 M*;7;HN%N6K(A^_/U0%K8\J@\Q$H)!;Q_JI2^RCV+K.I.*-U8&9"W=7)SXN+9 MG$/;T8%#A]__$5^L*=EV)>?FHY(MX*F&!71)=2Q(%S<*2:Z<.%V3&ND$4]BVQL-U MU3%D_O>]O]S.>SE*L$!NS1FGKV*M13JH")69D"JWJT^"KB_=L9)@E'@<.7U" M.DV*-Q,8(C!T2PJ<2,[K6?1$=-Z394]DYUO+#M$Z7U#KW/^IQ2_8K5)Y77D< MCG+JC/7R3_/)<*YYK2:R6\/#BI_8K7>9H/^?X;-'!@ Q )RHJ<,_9E13M33@ MQJA'W]S\?_\=%YB_N7@L_ %MUG_^;_AQU6F^&11@+?I,\#DH^+KM#TUP Y+_ M*26@1%>ICSXPU3^AU'O5N?M8D^AR2ZQMM$EVNA'_(-4?+Z7N>RY:'*3^F&.U?2#7LQ\F4"\"QPUG4K(TTT=[T+ =1 #1\QQCZ'NHAU''KMD66IUC MFR8<4H+K1!45SU@=7K^T*AKULB!GA:WN;>J;W#8C(OS@48T:+ID@T$&@@T#' MQ:#C[?I6IF/)U9555*7YR#*;7E%95Q)_F$1U"1A16AZSY)Z>-I!.9M\;Y#/K M<8#-D!2Z8 B!A"4VR$?&.KX>C@C77]4=P\@KQW!#)I :T\X\+=?]K"(V>IEU M_?$&\6/>\ WFL1'PLWHAUY2;CWU?X)H(/]"A'1L78@QS&OX@R=<$0.X%0"X1 MR_PSR'C]/I$W[ZRW[TV1E?'S5>K;29Z"ZF,XLW/&8^T'N+ M7-\?*Q8V/]#MHS0R/RYYZ/_-X .?4WXU_$C>NB-S>P#R_@[PFT&['R\OTIQ< MX =\(&>DW&/Y!J(AKP)*OI:K;I.&1,\*NI5)C[/\L),([9$DJB?()4X+Y1,\ M(>;(W9@CG^_/2'1"F!2?A(94;G*;>'?L\OSP!C#@I>CKLI7E]6JK),_'FWXF M7ULJXBH\44&]>5)\C.&$GU5*^S_\UH^2UZ-]U ":^6XC4X<=C':Q,P&4JJ$& M[:JU@0NE+-M#/74<^+%%&?#+8T)0]HB!LNP!MFXYZN.OH)WSXCS"= M&AF6:FD&'.[N]('[@!>Z7Y9NN M3W2!2@+\A80$]"<]PWYSV:\#S&_1A?@&F M=&/USW_@/[MW:B90'23)D[]WZ\#;%DUS+[<8,N'OT=+XAR24G!UZ,V/3A,XQS^P]M%\=6?S@ 6BG0*'FQ4]$^>_;B!PLU[\FF M7EK;?@#COB3-N16K&-H474\F^82J0Y](%Y3$,,XH:0!&RB@59QDP8KF4ED34 M5R_.B^](_A!;!;$6HTJU[ ,EUG)46\ZT2[F2V"I)[7W>Q_6GF:W74H M^%.[7BGEQ [\I=V!_ZE*M4Z;JN>IK-@N4OE*O7=+,_]7R8+H;_LN5.ONOS]Q M8AB 4GL0>GN2LJ5"E0Z5T6&&$3<#+9%,I;6DHHU2D)L97552Z51:ID&=DO]-)V]NM6/=E$8[D7XZ<%UWQ$4AC?99]9+A\ MQY;K@[ZH< KSA]G(Y4ZMW,5.L.%K+A6[/Q MNC "\I?B90A-.1[)P-5M-VW9?\7+<\K_+" MO.DVH75X,K*L6""?[?6<63V^;&@S0V/2]4!)G8YDYKE\PS3J"XGN5P8)H[(8 M%ZRQDC[SS&QOSDZWBBBQZUQUF"S3H]I05" G@Q]]*Q2[&X^;3-:14_,SF-WK=T6;@\$^RJJQ+M60N M4 :(G<_L5%":Y/U2NBS--LFED:H*-)>V2K'G5BZTEP-9L:ZG@CJY6)V M785#S^Q5KU68UONK3GJV-!J;3&G1["A/D*YG-JO=YK6)*XBIZ5ZT+%35]^TKT!7-:9 MC8W'6]6F.JL$,W;2E3>%=F/J+B&JG9&M7+;(C1M&IC1;MG+5+,MSZW1UC!S$ MDZ%B/%=]7)4MF9C M@TD_W]ANMK)$:V)GM9*%? 8B!G=F8Q_]52FM6VX:NJWY 1U4.XTI!%;NS!8P MGM8H2:W1:E:HT]55Z\GRF?48-7,]&2I[:W4CS%-%N2V,^T$W#L2RAMM4G/)K M?2VD-CW3F]5;C+D2,TPEV<,E>T^&UIIMW:L7IQO9F)ATUE>[GD/OJOL^'^K7 MY$(NSG*"5#:GS8XYM>2N@X>>J($:W5>GTF.0DN;+J=NO)$J->FJ,_.!3"K2? M.GE-9+*R*A>S3]NUQ6;F4+><0\+TPIQX&T-A-DDF/A.[SN.@/T9#3^;Z:*R- M[*B],J6--5JNAG*NIR?P4T_FVJ(YJ+*:@ZRT*7/^XZ37K?(!''J&!SJMQTYQ MVS-EJ;W,:RT)!RYJ&%L=#3^:Z:<17LU$B MUY+JC:[<8-Q%N@.!*'%&O3+EEMF;S@)%;C-)7V4&BB;% R5Q!C(*T(5OUQRQ M+RU%4$G1%:8+2GCHR00DK9WH:O/AD[1QO K/^J"Q?\V/UP;,@A?RAR[9"7@6,[ULZ="9TOU??LW0>AYX4_>>:@'06WHC', MB:/E.;N)12^,A[;A3\-O8>B>?4B_64_JR'4Z>KX-GSDR[6#G>^U^IU$8[T?H MQ :03C]U(Z,X 7[Q;J@Z=&W3]\ G>Y1' W\U,!+]^T=13_;AS>@UV8=/VH?X M0^+-S?MZJ MT_"/)['73SGZ_PDH_S$)TB\I$-X=/?WWV5J@+X06^/_^XO_ZW74E'I*IE\?_ MGWJQ.O6'IP-M8TU5X<<3EY(L'>CGKN ^OWY+^/_+\3_[N_P?CS\P_%WS/\NP MB0^Z7G[I34Y=;Y,3)YE;][;)W$> V.=67SD1ZKB_4VZ-"^@J]D%\F'IS)G[XV68B$ M$ EYYGY_$2K%?NDUYXKC<64(QW7Y9?ES)R=F<)(+? M[QS6<.R1X55LUSV36+\.BCP=KZCNK#V>I#5_W>CF%92!QD%37(@Q*>9,5OV] MN-I$9C]*9M\.2W]'F;ULB<(W99;WJQFF23=%V>]D*D&F]IAJH&+:*&4LGHBE MDN=NPGR(=7!EIUK4I[[KX2LOE&=3#H ;I!DFH*R])8$^1[]IJ+W2PK%1I4>= M&FXH>P'0!EIC"I%D97@&^(BN2\1[(-[#M?WKFZ("$0@B$,2=_G1W>G^+,,[B MYV !HP52B&O@3/OW]I6.]N$ M,B[\]<]/*N/<7S#@I;F#"X]0J,(&L%R\:Q18HY\_[&CABYBQQ*6Y.Q^?V$7G M6C!D4+_Y[)' GX'$%ETN;1N5T492'^E4JYW6MKP\1A-#9@\;YR]M]GQW<2&@ M<:TXR!V"QF7MJW>#AE1@K;(NID6)%:''I&5'4@F("KZ0CT C=:G#E:L93Q5D M;WZTO?2M)/SSCW7/9 ^3L,Y]F"_UW4DDECLI%+MSY==+58UG5Y4ZX^?XAMRH M30I#7U12R'J)QQ*7MUZ("-^+")/TC,\U)MXKPJL\QTAV6>*9>:H;3XCC@>7T M4-TL:$ND4N>Z.-U]FL9+XR('X+9K!MX+E$H*21#9-.G.L^1>(O!"A(_.7KF4P_ 8I:=]GPY.EF*H'L MQN@^M7O*,([JAJ*3#:RF9,V0J%&2SFV M,YPTD7 C R9]FF#WI=)OQ#GJ[K,-$V_L$4HU5JVQ@6K;JJX+/)G27 M/GPBGME5+9ECX:V/2GO1%;'DGL&ZIE0:]M=ULR/1LW[#*S-UMF^)J!T#.IE* MDZP:@@$D.G-?EL\O8X!DM0PQ.V[F)*.YT)IF:<6WUQ@#7K%W[CU<@YNI?I@9 M\PWQZD[!B<15/CD[!LD9Z@NJNI/0#SL_&4.:]I MS0!U?4+G3)>W2(@XWXLXDTR93\Z4^1UQ%G/#@=\)EFEFGFSV+'WI]ZP^%F=D M7 CL5\R;^?O9G>VC:B5A_ 1N,F4:*A9N4KGDKEVIVZ,"J0Q*)(1(R*T%*3Y/ M0N[,%1X!5(K._DHT,>2_FR%_7;_\,\XZKU!CU;\NDQZH2,DAA2L43ZU#HG64S?3CJ)FWT#U4-.I?E5CYM5MLE2 M:BE-I'I/7PC^L$$7RP$2:^AQ\S&!>4<9X/OSN4^*IL%Q:'F1TTU<".)"W+>3 M?8X8WR?HNW$+@X%//M^#2"NQB):[S>;G@E5=JT03W*;Y*/M@G?*YZRT6J:M[%.:J6M3 MP^GZXT)J&"#YQ,&8^)G^+E_K-LGN?&>A;E1\A\32]U7LHRNR)#ASQXX4N5#R MS8(L.XENA (M6GI4W+IR2&DZ X2=NEJ0A_7AAMFH-!_TNM6!(T,@Q 5<$TR, M9]_A$Q%X(/!PP_&2KVCGO%/<7PV%*$,AN7V:3CB9EL5F:NS*-J=CN4=UTV+I M,Z&0/S: KG_H=('TSN\(5;:C X<.!_^(+]:4:YN&3OTW@__G>Y$D,H>N1Q)B M&_U6L'B'DYLSX)B?9 /7SY3EF3_Q?;_9F4WRS%B)X[JP238FI-Z1'T]@A<#* M'YM1!%9NV ;[55@I-8J5IUIRI3)UD$TPVFJA&ZL P0JJ>\_$WG6O_XYC3VP" M/[]&>@??B(-Y97CYY/@4 =/;L=$@!F0A!#0B!,AL9!?5A#H$[O<@< 9'-VH\ MER\L6D.);8F%>'FP,I=S48F')6_CL7B*Q*P(I'Q&3(M RNW89W\$*/X=Z88W%Q5[@1LO#;$W0"3\$FV"D8=G\WF7 M0;\AC'ZK)5\\*>E>;CU_JUW_EHQ^X>R>6[^\?.43S?\,GSTR (@\<**FCDZ$ MQ':1RE?JO3:5;]6K5*G6E=J=4JU B=E.J5OJE*3V?_YO2/R%.S[COCTJ7*T( MR$U1@0@$$8AKU_RX'2UYM:2(AN]H$]6%#[-'E#NQ'8_V@#.G#&L%7&\.+')A MA)BZ-^+3W4""UV7CX0UU@R6N8XO:TC<<4 2FWK&KJN<[<._:0$/_/1^[,@?< M>L;IM0SCR[+ #7M)>9H(%!97YN23,?Y,90%RUX2(]FUXL3<@VI>-2_^):,]3 M?J-GUCLS*-<383HL6IW41$2B+?SU3YJ),6^+]OWY[2^-E(A*QF=8*5_$#"4N MR=WYZ'=XEG=A<\BQ(=%U-^_8\S;$Q/KH%T"S:R[,=7Z07#.&79X,M\MUHIB# MH,GA] #^+&B2Z :!DB\1W;A#*+FP^?4G4%)Z+'IT7 $I.;MNIW-/3(<'I0!! M":J2SJ=C2?YB5=MN(S"DKE3#1#>,:$AQVH7TH=P]Q8@329Q($A^Z2GQ(W,EE MWG80K!U@+ >&YUKCUK9KP&C%W$92Z<1XUM2FSIH=*RRN*IOB8QQSVAV71(F( M@),HT76B1+\LX$^CR5AWGQ959KDR_5)09#+#,A9P:*L(3(Q]N^305XL5?8KA M\MT]'.+GD9#1K5A(+_P\T=)W+EY]5%6=&? 0&KSI[C498.6FTJ HM1V^G2Y/ M$ZM:O:FPN.9L.L9R)'!$ (4$CA!8H#7'V;^_1I!CX:#KI]XF1BU,U?)P,30 MK; %,LF(#W2+/A"IFGK#JOBE+].(Y*N!I LJ9FDG6V=TL#KJKZSI@ELR="4O M6>6\0G,2U,%"6/==2)+"J41$2;CAH\,-OR*B@"OHJP%O3&;SS*K1K54?&7: M112=BIPMH_ZE @VE0^X):B3KVJ;J4, "SGB#3(DIT$A2"KEH_J&1A-N]:/X% MS16$?=ZF"KR)K1_)^ADDC&]Z-<5N!0,&U%+KLE\MY+:_]_/*EB%&:F7J6#U'07[:TKQ;1<+O7]E M_DH5F-)..)]5@7FU.C)75\JJ:ZDMF76M3K:QF/C)-?1P< '01"+&"Z0%+Q%V M4L+SSJ(>OP0.+S'!>&I)7,.8#V>%I]FH/Y&8Y* ]1IB *Z8G^-37*-YYCT6C MB"]$CDVO6%[C#JI-?7?>(!)RU7H;-URFZF9K4N5+-;&6O5Q-JF_%^=\R*?LS M*BW>U)()7W^#)7].8<7;45"W=/2=M>=S&U'"UF:4 Q:[+#IBIA(S];X=N2\? M&=\=<^=MI[47W/HHE.@V$NAS!6AR7(9?]?D24S;DQCIK3I\D04131'W,4TER MO$V0X*LYK#> !)^3_/=+2&!8_4*\8^7R#*T)>JM06:K!-D!31-<+8TGN-/Q] MOPU#=Q1"EP/PD;]NH!,#2R(PUQG-FD@LL0$@I-^L'W+_H8_=!6-JY-ASRIVH#J"'*LH$5 .XS90+/,\$ MF*8QR@(>LAT"PYM,;!/-DO+4-9S(0C5TXB*1#&!R-^"FC1=UO'Y>40")>P9) MNXB$O7V0]1KPZJ/>0TND>/5B1G0O@QH9EFIIY"H&R<[[N*L>UVIT*[ ML?&9.>VV-59/S=T^1#-4KJ9XMBK2!1+;$C4>'/\ \U"MVA('!ZCJ%Y0$=_$"W] M^0='(]_R,))3/JE6U@V>\5>LG>#S+C<80P\C+"^9$D@L@4#)14V)FX62[W/L MV SQW"RF4-LZO#RK;BVMLD)S+,QI>L[J:6&8P?100K MR&9C8BG^M/[?5PNWO6J3Q:B,5"C5:J@R23U/-:16J9XC03?B*7^7H-LM ++H M*O41Q.*=8==TY\ZFD,\7Y=ZDOIC9>G&4],?70>!S@#J:]Y,;B^Y*O49NLP:3 M@:4'$%!Q0=5X.AECN'<@*H$5 BLD /=YL,(I6C/O*"!A%)BZZ_!::CVI^M:5 M#+LSL%*(JW7=338JDI"I2ZG!MC3+RV,$*RA?*,G%+ICN?,OQM3=L-PE^>A&K MC?C![[I7PD'$T6U_:(*KI%3^S^?=1/O\E=X%N!Z"<6PO+P_T1&$MJ?*JMLJD M\US3OAUPK8!DJJ('/,QKN8L7M"?. KFR0;K $ DA$G)[.2ZW MKDX_4W>VT-II>T3[+J!4UP6HT.S04PTK+%\"HA05Y*53)LI>@7^&,\<9.*20 MR4<=AWZ)H-EII@2)D%TU)18+=WTDNT!$DEV/Y+ID[1+/\K937P T)6M<0<)= M,=20_\^$R_R\U*_W5-J8%0H)=RN:"9KVQTH"U\*-Q_CW7!\@,$%@XC3S@<#$ M55-)H1!MR4;2WKQ?6FB6 "U>85WG%,]_6"$&VYT:A(5:G6 M$2O4OK<>5:KEZZVJV"G5:R3V0#PK$GL@L0RPK\^6":NJK*"K@.NIIF/Q,WV\2$2!2#^)*-QZ1.%=TB]7.E7G*3GM2_7B MJ-AC"HU4WPR0]*.+K3$V>5I?]7)&SI6C!\_M'GL7; E/7$A'8Y+!3*Y%?"$C M"?7:>!Y0?:U_1B^CR@DGV$YF,1CGCN3U@3.6VN^XZ06<:SW0P9D"[*I5ZAT^%K:K_\U2XQQ<(>6D MTL[9;6+JJ(=.N(F=":!4#1J0<%(;9 19M@??I3KP8XLRX)?'CFI":\G!\2!O M ER -@0" .JY W_"MZA5#_X2==^!PUT/?H#[%SW@A?[QLH27,GA<]TXDD'2> D^LY>FM!W(Z1AF/^]2(SQ.<%1HZ(7%.>/)HW__:_CN1\0 M@=9LTW9^[,3^:%&3\+B+Q0@P!O30 >J,5D?PO3]4,U W[L[<3C\DXCMO[<<> M.A 9J#CSP*;_ESKZ&9'CA)9S=4T?42Q"'-H$(^]']+7=9Q@N]A_:KH'X_8<# M3"A%*X">_NRY>&,\>_&#C3\(%]J7UY7;>]79F[SUG#3G5JQBG%"&:9;5AT-. MX5(ZIR1 ,J6D1T,!?I[B&$88":S (NJK%V?(=YR?BJV"6(NA,HT/.'N[+6?: MI5Q);)6D-K4_.KW^/&OU#IQ0ITYEZ[6<5&M+.?13NUXIY<2.M,\Z%RM4NP,_ M0 ?"-S7_1]_<4%P\1B%K]Y8F]J^..O1-U8&6AXG^H\XA'GDNRE#T)K;O0I7M MQE"R(H#8 ;5DV!.7@DI _?H[O-T$XR+!_HHO?&. 4-B_]% M 6C++.!T/<<'%P#<]^\.WF-H@-DAS5_HO9=_-0T+_(#J$3CHIY,_XY?\P+2. M((**4PC8X_&_J9S4SK9*#90"@DIA=(H2E9';I9K4;F.DRXCM$FXST&A);90_ M@D=^%K\\XY$&_$G;G.X]SXU73VT[_2@)?+)4Y\7U>BDUO\=NYN B'6.!W8C0 M%J4RO@N_Y[J7@YVI[WK&:/,Z+40DYE!=6MH#]2_$:2SS-_X,_QS_^]_87/8U ME.L=NA1PG^'DH9$WGE &_#B80)S=T': TL!=?^@:NJ$Z!CJ&+8#Y7*4:=@!1 MMKUQ(3C #RN5+#3.=4H=C: %HR)[???B0J.]>^W?%++M6_80.J8NE0TM_!?S M[+2RA^&B9ZH00#2JX=A3H!V^1%6,.8+.UUXJ-O9/P4/:M@_WQK&HJNIL3/1) M%GDW+][=KNZ_!>T,1##\Y;V'#[ )#;@06?". $K'$,C=*@:D":(H9I!<4>NY?HM_G<<%WX,QXY5Y$/A]0+ MP%]#&PN]84@M>Q%^'1,=:!,+12_PPWP3A\/A:E>&!J<"B8FFN,!<. 96Q,3P MV ^8SS2XDQ(KFC,8L?B$%PQCV';!E H* %_PWH8,O@1 \D/[1WS_#O< MLA:(Y@YWIX2,?CBO'7-'OS\3BZ/GER%]=7O^X@7EAX- '#$(G/XB-!>..07K MM.3?;K1$2&.X \[FL&OP6[:#PPKPLS%:.]JID/V@W(=KB+YF1#N_8Z.WGG)@ M4030<#E'C#)1PXV"7Z$L*$#A)CY[,L80Z#!B&'S&GY3G.Y:*?5_X!W?B>SJ$ MQ'"_X=XYD/.T#36WD=NVC6 T3%S9K^$(8 _L]V*+0W1270^N;7RD2M &1_L$ M5S%7-WM.1G\=J4.H]-50QG1@0KR!Q$;##;@XU335G5J"( T0-><+V\(,Y_K: M!*'1PEA@L0IA''\7[2NR\:@5_"\PW<,.072,0<5@P*_NU<L>$1;M[["V%%L81Q!_H3F&2XY;?5[,&L2Y\?WCT&<:HX4KPD@\&T9L6 M(K2!KF:T-D$ MM0&J VU%'6EGZE&U?&B"4UR< BHD$OIC9*Z=9]&(7:#R!BV0' M2QZD!K0C(#(XT!:,'O^.(Q4T@5\[A3F2=FAR+%3D(D%F=WV$&)%8.KX9X004 M'=^,3(9CXZ@-H-.!C70\;'=A";%BY'(\,VC;TI&#EXT@XA@8T$/0<1.2V"C8 MY<(/X)]-DFJM0<>"3.AW*$IPR>@G$+1"9]@=*0RI3<(M, MH**3FI"#GYWZ_0HO[;8-VHUPQB9D>K@H^.1(>TQ]*[3T\0Y$XOGV(T-4"9^) M'#O@V0?A/O8>D<$'K>>0?;'O=;3#R 74I&*,W1Y#QLOH!;AQDL1W_%+/AR*/MO+PI641LF*M*]A14;SL77O M_0E'()L4"3>4*VL! M:+*XB*"(Y"ITO@SG\+X=)AVFLCMZV_UE)SYG%=C.IGJFG\XH!ZSYC3DZX#!L M'>,,,D)W"F!GN\ 7''F=>+[6YL67,060#.X6%D5%L&.V KMIO_W(,.3QXL'P M;Q&)4+#HB#'/>T(GO]_7T;E CLZ_W=%YT9S%.0'^+YL4HB-RR,21LQQJMS>/ MQ2*'^=5OO>EFAQ)S_+6+1Q/@#AU%$AS;@C]J(_D2 M+90Z36[\/2(%+8"P X)JR75]J$".8P+/2'C%R #VI%=@/H0H'KHO"//W1[_' M<]YEQ;E4QH;_>695Y\5V9F]\&B?+/7Q57B"-?3BD:)[L MB8EJ>'!%&KI('X4%6WLG^5\=:#YH%)MB_OV#*LU1 " R :#EV3KX[+MO'DZQ M(>6-?Z@AUHPX^(\>-P-01\.!^OX9P)I@Z_W8S(6&163LP5'8_=AYD&>B! \H M7($_"9V3YQ&6.2*.9T/#XO "'+,]"J#L@J%@O4#VCQN9Z8ZY.00\(I=)FQA@ M="8R@(UP9T_Z;#U7/1P=/']SJ-5W[S3" [[00#HZLT Z'MM'T/A%07##.HI< MS($:$LI'UAHD,3:!X#LC._] 8&SR&G!@R!K(*@&X$QHR0M [C@P(Y*)"1D8F M$A6>M.6@D&'N1;&@@P/^TDY"9C^.!?W"HQ+A5'=V&YPBL@Y#D08KU?2C -)D M-V%()&-$X0/-O6NDZO;^;!AR^X[+<2@?>VD(]#WWC-T8.V]ZQ8[,PA@RM8ZX M,D8-?8_2;>RQALRB8208 %P[)'I$&WYQZ>4$<30R@6%;L6?@5PU%TP!,+63T$#;@6:!E8U-1W M#!?Z06&P>4=SR.M_@$L7!)/T9<#D6B&!#HJ.1,YII(F &L@..@F'" ?U R=T^[/Q[%+="&@.2+ +#7TXG/^?6/C?2U?V=GMPZ MORVF'(]9KE6]_>BEMYNZB.SSR)G8CVP\65N_N4FXC.!)HV5IM6B;J3$O_6T2O&K14.$(T_>/BZV^U*7-@JS+#??3G.#FMJH!#($S+UF'A;KRRKI9FAVCX4727>+J-G[LET8=^T M!5; \D$>VBE9^&QTI:4'K;UL=%Q_ZI,.\VVVL.S+6[BA5;Y9HKMJ*CL^/>L^ M/^X[G77C3%5VGZG:DKI239;:5+Y5KZ*T]DY+S';:5*_4*5)9N=VI5Z56^X.] MV1LC2>Y@2$2*..*_:Y_OCVP3:G%L0V!/,[+^W.?JRXDF^R<'G">V%'K.&-AC M1UU,T.F' U1H_B(M'AZT0#O'74!U&NGK,,L@ M:IV"A$X_*KW'1VTTHP?SH%@;KV?!\&*!*\.BHR P\_#>^Z_,^^^_1M&(*"(= MWN5$*:KJP@4_=C\<3PK%;Z,)H:@HW@MK-ZTP6*SZGKW[((P4XT^>!92/KH-& M8PX!^Q3_P/,X-.PYNZE%KXR'RWY?[4R$02;/G8G?K'GSD_C MKI^RZBOTK?^$WM9_4BR'--A%1_M]?_%^_2POA03BINQU?K"E\ MWO09M2%3?TBL#C[]JH:G7M+^U"ND&!>/O4*ZR^CP.^*=RSA8GT. C\20#Y&A M^Q:AMK'^10$BBN9N%,U%9(7]75F)QQ_2)^TK[DI84+K"AX'IVT<:5U_KKQLB M?\08]XVB*+/F2YD9MP"@7];:^-Z"\G$(>F%!(0AZ503]/3OSVMTNGE7[^"@[ M\MJ+^JVKVA^0!'7M=7]$4XXHT'E;34I?=-VX6$,-_FS"K^O@9X;7;PK[S&/5 M%->&J^"[0-%:Y]U(4*W5&KUQIYF4L\YVW"](VHRE?[^YZ<<@03!3 M*NUY*3.4#7<\L6N#83VGH@MNJ$T/$V-3\FLD3;"]::+6V1UO"E M6^:O?[AX.L:GSO4[))A(H(! P6\;1_Q3;R#D"_&6U"M6,W'G:=5?\^*5H4!, M^&#UV*UN&#"=]Y9YMV?T\A@*D)^42,92S%M0< >GC&=Z-=S+P>'U8>NRAU^G MBSSN[7C9Q+4O@TI_$KPI24JGHC<#J:T\2L)DFFXL;29?+%P[> /67+DOL^WR MS B:O>UC;ZSTTDTE@8(W;"H6%Y*7B]U\?:%^,[66"/4-"?5OF1I0J.NM=7VT MS4B\/%>5D>W7.W*Y>VU3HY+I=?MT06"D7I!?)9=I%O2J2*B%O_Y)I&),DK^< MS_'%A?K33^%O*,)"H.RVH>Q/ B@0RC*%E1SX*U.2YVEVD!&YJD9?/:0\G&MF ML%0'(V8^+>540Y_-MMTQA#(40.&3,88_U_V=8!F1ZB\FU;]KH ATQU03I;DU MJ[OE>;([8!-!]MI2W5VKTTRF\IB8]:QQ.'#0R'7 M#@H^[TI),F$^/!/FBLE>EP>Z&USO#6#CGT1D"AFEEQV/G(RR-IA"9V MI&*_ ME\Y?.R+#R.-RM?FX]F9J9DNOC2JCE=0 +A5"(Q?CTR29YC/.BZXM7 1,[BH2 M!,%DL&QR*S4C)AA:;2YN7P/BQ6TC:V39;O+:1UJ%%:R&45][,UYN9^6;4; D<1A-T""_$>.&M&/>M M)P;MVXO&6?R"['']_D.S 9(G]/[8US,8X" ,Z+:/*N)?!?<^,MGQV@N[ 8 [ M'](2%H]\44TT)[/ZH^O6Y;+ZU*Q=.U+E69MBUQ.K'*-J*[LEZ_YCA48M?1!L ML%,NS6XE60-="?@;J5+T1_8@N+:DBXQ!-Y:9 M84\J%Y.L6[:4\4A'DH["2(EXC+O4%<]O< K_G3.*K@X#!-\^._#S6G.K*U]< M-8-UL9.OS&BO6IH)V> QTT3M ?$UK50B)J0OE ?]#0".B/IW$?47IHR89N=> MK]-),X9H%6?#3$)>^MR&M)\#%8.NGGV#KNTKCOF!@U2T2]NZ/;8K@I(^JQ*#^4 M'W#+9-7S'&/HXU['-O[3P@X :B.NPYJY.T9ML M!W>%#GN[[YLDX_:?R;]?ZR2)7HLZ@(\MN%:=6OB.BSI^H_>/C#70Z07<:X#E M +&'2P60":FY[7J[]SA@KAJX=_9^!D!UK!M^I>?_(!RK[ZM1. MNE4Z +TE[(@8T@!1M&9[@(KS.ZK]?UN?T5"[R MD$G5G4!00X!9!C@($<.]%1M9M(-HSSS'UU#[^;'JTB/#06^;MLF(YM>U0C?!W^-/[WOU&K> K B7!I.(BOCM>*Z,%5014=+<&-!+IBS%%J914W MJ,=G 7" #LE5=]HA/.R?$!$A>D#TC=ELJ6>>#'G&E.M*NE56E_2C_5Q/\>_0 M4_#Y/Z0=(2N0CGOM(X3:IZ8ZCJ(S6C==\IZZ4GD2)+Q.5C6Z0$39& ^G47X* M\J")Z#U1W;#S^P&98FB;H'&B3!:$ JTKX70@0!IHNM8%3 M?Z ^%>@.AB?",8@G*P/-[CV-D7F%VS/>_N=/YCMM!EK5Y&)987QO6_ S0_NQ M9(^?<1KM NT'W#C48<,%UC&K004,W]# ^U!ZH$%6:YC9P#2 M]) L$-!%=_?7(_5TQ&)U-CY*Q)^6::E02J>V93NO]]DF"L!1NKIQ7UJCD9E# M67@BV!"('@O-*FA+0'9Q?1,;+3L-9*-944,\5[ WFW9F"3*M;!<<_HY;7L/' MHR?9YNJ8AU6/>F:H(D+1D*M#N_1'$?]',4<3>MMZ&J;DLO+8GD^,P;2X",X: MN;_+I>&OV JPT+Z9?Q\;'-%'B(8TI.'>2L;_B80O]I):(>8>4^9 69V"8EU5 MH9B&4OI M?VA"Y8^M*S,32P2RV-JSU4=[@>E.VJP;V(^\DV34N?HV!KKXLL! M/*\DCN0L\0%REINN4EQ;FRHS.M'@?78A<5WPZVB]<_K@NS0 =!=Y?15HX;E0 MAJ"L&-Y9%&[7!K1B._1%D 5M @_N M)2*ZAM\"E2S\S8(FY1SA;62<09L9B@$TJ6.4X;K^H6O\2P]CJ%JST".)=M-P M(3@CM1.BM*KAW 2L!8"QPE-0L> ]PWKT"/C-PS,L.PBA_*4'&O:_.6KKHYD0 M]U$H8Q*A\SY0@:3C$GU]7BUZRR9.]$+R9>N>_WK6DFB? ?/""3A:5.0HLSBX M,@9TV/%('<'W_E#- .)BM,AD^B&QC];\V$=E.)R9P#RPZ?^ECGY&Y#BA)6H= M?T2Q9ZWAHZ\][PZ_^_ GK9>BC?'LQ0\V_B!<:%_^/ KX)F\])\VY%:N[$(Q3 M''G;5-!QY;9$ZU;9W6HYT$2F)J*Z>C0R'C#+E&F. [F<3QGJ.E,3LM.I]J$!NS),P6OGRN6.FIE16>QR:W3_AB. MY%^.M%I:K;#:,#E&\!^KZY1>=MH:>N;)VPNJ[ON3!&O(?CYH3;+CPBJGHY'Q MD]=W&?;16;>S*<;HBHXKR4VQ*Z R0,S+D=6:%&BBM,S+:G/1Z,F!9 MY9LENJNFLF,%#8U? F1>&)^GL8:%ZNQ#,_8"^E (R77#7>"PDF:JQAP!L*GN MHTP082,E_8!=\)VI'<$[],1, _H,9[2Y =6Q$3X(_@TK=10>LGV/TE3?!;'= MLQP %0D(#8((UUTXS(2J!)GT(Q32T#\R%/,K<0FT9N1QNG"T,3(T%+&" &%B M_71056X,VB%[VV]O#*U4QU##L!=:;$1@9-O *0!H[>Y"+-=@W70_%4'.$]X@C(+4@<0O:V31/QH::Z$VH$K=3G MG!G2(V1O+3JI@!Q81>'B0PC9@1Z" 9VIA;K!,5AD!(8,!VU3=P$M331GZ&7. MT-/'#CK?B#@;QX1!Z( <7'](2206.G UQQB""'(,*[(DH43O'!KX!1/2[\B9 M,:/-VR#;=_\IDBY(%]5$QB\.:)LXYGCTM=5N3I!7$.-0J!DEG@Z:WI$_>;RH MHZ!W[ED$A,(1$/?5V '$HB-=D CA*%4'?%)2-804) / M&ZWCDR(B)^QX?,* /3[(17: 5K\/]F-*XH4=>PS/W$[S2,SV.P._A08- 7RQ M%;%Z&"=R%Y MX2Y%CNT/O/1W!&-^[2#_N?]V[J0. X5HZ3N4V'20-NG ]V9, M6YO]M;,DW%7.'5E&(,OSPJJCS'-"VB]"3Q8RM;J [_ <'WR<>7SA4[?HA";R M;,(S8X0=ZL(%/W8_'$\*^0'1A)!UC7?&VDTK=#I4W[-W'X0>!_[DF6-R=.P< MC3EU_#QG-[&CSK)__4I&^9L)F:1S[:=UU19("^%;V(B?U?,D&T&Z:G^SG?C) M]1RR#Y\'36\6_2(;0:#IF^T$@2:R#V0?B(JXO8T@*N)&=H) TVWL X&F6]D( M DT?NQ._4<;CJK?@3XX8/^FR[-L1S@NG,/WTG/5WFISSO]ODG!4>>/:NFYQW M)@X 5#4\Z)/V!WTAQ;AX[!72742'WQ'KW/'Z/Q)"/D:"3JYPWI4$M8WU+\H/ M433WHV@N(BWL[TI+//Z0%NY:6EA\N?#SE^#S]XS,:YI.,K.Q"F]YS(N/\S(O/:J;[:%SU1OB0W76O:-%D^]0=P@&/GU2JS^,4;J_*H?+ N+_*S0 M!47;;S4FA6& KI(S?_T3Y^(QEKU0^>AOB9($'6YAK;>##I>MROK'Z#!;.739 MS] CIMRI.#)7U8M.'J,#=*]20BS]9H=W4H_U-^H[[*_L.P#=*0U+-3@ 7VH' M>E2/P@T+7<6>%RU]>9E;72Q,(ZR==%0=(:H+ME -7!II?_$=LK9GF*C<%1CA MZ^J+B>J"L,;5/L9VJ!%[*'NHV?.%"5!Q!UPF%@KY OZ"*T&XZ&JSI^+'[68> MUG =H8OYX;7IY]?8W6M@ <)[Z79XU]H"AWOZU"[3;+=X5%G$T'Q3 M/3SMN-J3>Y@8),+/RP)$E2;VU3[1FPXU E3OS"7X1]7R5>?H0WQA_*/+A8FN M4A\=&1AL+R\/]$1A+:GRJK;*I/-<\S)["C7=N;,IY/-%N3>I+^ \ MBZ.D/_Y\"K&->$=T.W9-WM2M8;_IK_6D#"GT39:?*A=G:]D4ULR\;RI--1MT M^XKXUS]L_$Q!N%#=&#?U0+2']MH'*P1[N= ^>"?SZKHHC5#6V%A:#"DN& MV\Z9^B='[X5VJ^UX.Z5VK,M>5@"!+&^YD>B&SX8+AG3!Q0&U?451M. AIA\N M)G*BKUT/+LC8E<&%?T?E/5\0(YQ4+*QV- RKY:SPPW=%CU1J;NNX3!2>SZ'B M>*0TT?Q"M;C;"X@ ]F$3]U5-CLERNL*C,M5[XR,LG(47!]<.U@M<6![.("Q2 M!:+3N[ 0U%!UP_J[1R5.9K5[9]O[5P&:ZO3RX)A:D M!-H"%QQ8>E=7[/62,6\2%SXG,GMVQLB>G>%,[LVFJ#70FO0L%MDZ!H121(^2 MU3FL'0\[KSA&'30K M28=1\WQ+B(];LY$-%6SJX?1,[!5U^FD5F&Y"Q;;VO2%D2%[/<$<&E-+&45W9 M^A#./ZJ?]Z^H=G]+;M1W!?NOJ(Y?@EWLA8;5*311!&N71HLH^J#L PP158\( M>:"CA/4"T#NX]%M]U,9T#R<&9^)X.8BL^RK'&C0N%=0> [^)23%QY=%IKJ8E MF69FOI,-IF5NU34SS[L&IWZ]D8!Y_R=82ANH>K%-=Y<;]>1!.T1WBM400[N'5HOA6NG[54-UJ/ @IP *K+ M%D.Z1O,=K#BCTG='CNJ.5:5&=L>IN^8LQ[[N>=\6%]CS-@L4^GM69%F/8EE8 M5[ZCHOAR9:6-[+!;E QVP)7KZJ++YZY24=RVP(MRXI"<;U1;>\GAJ%Y]"P$S M9DST6U5=&W-_'M79_EP)F!3D2:\%'CH_%UGC0R'%&!3JW'KY5A!H>G!3%?Z"*=H#:/83094+^ MAIR'RGT#!]GQSTJ>/F/6?=LB5"(2K%%1\E_9SML K*MNEU=?]1IB+EN5ESFC M9G1;Y4DE,_[)=AV[#3OS?U?Y\EF+FG<&NO785;"+%D\;O-5@^'(L^VVFRJ&#K27^OPU1_NEKHF(.(*W#]V&=3-ZS#\HZ6<31K M]Y5I"V>F+>P5\!EG-'GF"\G#.J]D69;"U@ASW,HL/&JP4 7N=, MM-70^==0PQVX*ZBU!][]:(+AX\,G1><0^_B_#E^RB4IC/Y\H:C(45L=&Y:BC MX=%\L;GEAG87JAP.J0I]=>C46QI61V'T:V1";>7OGH?B37;X5' @(NYG D8C MK,R&D ?G@)I9=F"A7B7:Y&6]W/VR=FWJL(&H^]J>[GO.'0+3#D[1^F'?J>*X M7/SE*\^J[@3]O[3TC16$,[@>T=+;$\AAJ+].R5J!:)FGE6>[1?VI/QCX7:;, M!L9BG]-\9%M>XO5*?VMOS96KTC41SN,1>/_TUEQ78QAO^E MI*9+?/].'/>.WOA*DV]F 1^$Y7-4;'#AH%UU# MO!.U<$%UJ@$2#V<&/ H5[@_=&71R&)TV'H^?P&VAE]#10@6VGWW5P-8FYLCC MJ*S\T(9F$(I$^G"V]B$Z\/?Q+VBR>.08A0:MT$<;0W0PL,3['N1[?,09.WJ/ M&IUZ(EA<(%V+PKKX\L?"@9@!WX (Y0!H-&GXH%8=0U,MA 9H/OI.>+*)8YA? MH1U-BK2C =^O'4VMR])EL9IPF.J._#I?28GGVM'(8[W6KS@34P*TU>@I M3RL['XSAR),^*Y-5+0/M]SX[,XKQNJO6@0A&P;EV-#PCS9M"*5V3P6I33PFR MI0>+L^UHC)K4R5B:#V3X=J4KB=UQ0@_.=8X!K,1ZO8:G,*SU!)C&TLRLL\US MG6,TNI[O/VZX%M-SAU; S:M\(MT\USDFX ?EQFC1#*3V4UWMV3;KZ8RH)$[? M'I>;B6J[,M[.YAVOJ ]SU=),'RO\Z3+/ M2BD;)/2-M)X9W>)T]-\_.6SLRD?*DM)'4A94*\-]*U9'XW&9_=_H$FE12$]EOV,OQ[+15Y, MX5T]H98]S$GPG^14-H##M>3D2G,@M5@E=;(#5C"VT]7"1A*F3'EKZP+'/Z*1 M\9.).H,R7TRGL[1<:%6&5;,)_ S 7882+X>NRFPU&>1$,%.;22.UJJI<8WFV M=U"AG&JHDYY1DN;%I2*9R[GKE8)S'+ 5T@RD_]J=]30IG9N.*^UD':6ZGZRI M+M:?O,G:\6;M9,7G%KS7'VW1R-,U51.)AKIIT8),/[EZ)UZ01H&&&/!T3:U@ ML#;S;L&:+;U<+D\/:P/5;Z*F=2]'2B,[.Y$;95'J.95,P^+ZSFB,>/5D39)K MK48RW6O-LA-/>K$EO%I^L^F-:D9>;GIG>Q/6>LP[@R-,UV5K/ M7BR-M".5<\--SNRLF5EAC(:>K*FY%41-K"2;4KG5*W+LUE/H_'E9F4QFXC09 M+S++IZ4R\!WYV!1VXI!_1@40A$.%(XX9*,.9P6FR65 MZ757FW5#T#:NCMY^0M%%SECF_.HD+8/^MCKUEH6JJ:!GGE*42V;H -HL#+.4 M1ME,LR4V>0TW;3^AZ&//F"W8E%J?]=9^L@,JE6E/%:'W<$*GD9%6W&4[,9)4 M5G223E\86683CCQ9TR8^WM"IJ0%FH#%HC.3XR%"6HI(Z?::6-WFC/V<*R:4FKK9T;5M$SSQM&0;UR75K6FV61F8IMM06AC#D=FEQ94K.:JL=G/AM, MEQVZ,HF+333T9*J^49H+F=&3+:MNTYP,VE)J6*>0NNBW/8'JNO M;+Z%GWK"J:['68KGCI[D;'TV-+D^K_CAT)-UN4^+6GFF)Y^8@EY^4C.SW+"\ M%M'0$UY5BZDY%+^J/EMFQT"HMA>V[^.YGC)KD1YUZC613DC^*ID>M;O<.O,X MQF.?$O@1-]*84XV=*9M/G4K'D,KN M,#/DFO-Y+A^Q,]?FDQ+3;PV6O/QK&^43SG+92"WI&,*>Z*M7-1:=B M-7QC0X_/::N"5%%2B\RR*?6F?K?]5%O:;2DXJZTJ6V/&9LLS5O)]S379]3A; MGXAGM=5R6^"-8:859^:36GW,@.4L%YRU5\3R&'I%7,QF M3VI>D/QTQ:ITGPKY9%<\JZV@830 R_-A4\YZES MJJ('<,X^SZY"Q7E&G+Y8"(@(@C*H^.O?[@:,1I.=9#LEZ0_WOA/M0/<:KC7T MZM4GK94@Y]>9 <]S*DL5+;&="C?Z2?J4M4J5.EU;WUHC8EE;%LT1U5,[N=8I M:U6,:2.1;DXTM9>PZI-J.;.64N1-FEK8ZT0PW-V'M]2EK1=OK+!]C M-$KMT<-^HL$LROV2?-):U?M:.$-*(YOAJ]LI0[!5HN?2)ZV5*\AAFBOD6AR_ M2J0$;5N4K/A):S6>LBUB'$M9JB*G'7G,,O:LL3YE@P E5_VXS=28,%\IYM>K M0B$,]/Z$#6(*+2:]G:QSJM)RNKTX0<3;83CRZ#;(13Y7"D>K2E%U*:?,*;%> MW>K(ITQ0>EGN.G%^8ZO+HI5FZ4&V3 .$2!_S4[6D>J4[9J8<2S<26W:=6"@V M?.:QW#NTL*0R]23G1J-:9;3IC3D3/O-H1:S%VWHMPP#@S.5LAU\0*1*]_8B? MS>;(&- =9<4U^,:L,]MD!<&&1O68GU1FXA)NJCE1EX/61%QRE55O"!^ZX^WJ[#'!9*&>_ERE]DL79Y59C2 MW]U)CPH408"N^V7[SQ>6P>I_03#A-^M\SCV7$#$#VK9W5VN> M++;J]2J-8C>K+)E>,CDN)"C7G2[IA]]$)/%M:M+^CD*T7>RGDL/PE"AL6;8^ M;J43=GT-*?1ZU=[EJKL_HFNWR=[O;8)>VGKNG, MP-AT+XS V'1>3GRPC^H?_=9[J=VXJ$]X@46^W@[XW*V +[NRO^WT>\G;6=XV MIM?3U]0']/4'<=[+J)SS:A&,5G>XR'.)\M=N9WZ^-O<71K7432W5MV+RY]#K MUOT%T8&&,.S)M9\S/QMNW7IYMVB?"(/)6Z_[3-T18[>Y7^#]S0\/^+N_DH4I MH? /-D@\=X?$3^SP?J0EXJDS1B<:'U+EP3:=I_)3E36+.VUE4^D M'ZGTJ195Y_-*H&&ZM91C[<;:?2'M_E!UP@6TNV:TPLYP4R 81R@MJX5.,9R< MM[S&\"21?HRE3O4\?B'F7R"@HH.^6&% P;#%PSUA>#3L?'?D?*GPZ:]0Z7;> M]%T0@=@[$G<[*GP)=+N8[[)3Y[QALD"9V9TNYZ2Q_?S;"<3C8\JFO6%GFIJM M3XK;5++2JU=@=3+P9\@4]9@D3MV%<5Z'YKNK",8)C!-WX07]!4Z$*XG%9#"B MQT2#[[K)?&5:M6+PP 'RC.*/J=2I^[3.XAG=U._?'39/H.=W#)O7<,[FLE'= MS:^!N&+8=_.U?@E$O)CG]'8X2*RJ*S?%E+M,95VQ6Z6YU&(3ZU$<.D=4G'Q, MIX\KU'&V!^,"QH6O[BF]C0O=-%O--N+#'.>DJUM!&Q"Y5!8VMDC 6PKBC]%D M])W.$+X$YV.7X/Q7.9PP_/E)@3V1A-VV&DSSA0X.R2BW.B1S>I_OW0=@]@[1 M@# )-LSTFYYZC?N]8WBBA*KF=AT"LSEKUTH0];12@((IP&L%DN_[]Z@O[Z?/ MU01--4O/+?4S;A9,1S9,MS'9"R59IB.' MAU,BFY5;';-?(,M1^3WM3^$1M&=^U_P7>+U,]\Z9C3>YJ+94;59M$$.WFX\M MB5A:1DU_4;?Ð(.VQIDF6%@DY:_KWB&5Y7(05I-(Q_#-4C="3T+WC&R6Y$\18-G,J>&)GK=N7/!K4O@-]?CG!1<%P ^@-=+ M"&!-L TY[)T(FPPN-,?:G,F&^N!#4[:(ZT;M9--N 94$S# M#]#0VJY6&;L_Y,+-4F&2X4MLJ86ZJ)^Z:>Z6!VLO1/9$L2:4%J->A@GGM)XS M6#*LL?KX>=T/DMT WF@_(6THU6&-:CN*ZW7U]_[N0Y?A>,58 M\*$@SN%EV.$6#-.>;8D9."5PM.'8%I0#>.076A=D-Z[5\?OJF/>>Z (Z*CV? MAK1'PC:86L[SX+)[CAV<*?KP=%MO>ZT5DO2XT26484-(JV_*\<(CU'=*?Z"/#'Y0E!=$/GV;V;2H+YO]EMX+DQ,/@1" 'LW0X] MYD=X6YBQ1E>6P/O3!%,201RE&98%.^[*)O@!:) I@97 OY%Y1?=:@'M#T(]! MPVP0&_"*&5KQFB.AVU,-[YH4YSGPQPT2[J]!0C2.S^7?QY%+W"#A3AB!#R'? M"2/2D236B'M@!.Z/<">,(",8F>Z"#T0DEL:,P'FF\S+B_4=Z7N/('WTZ1L<_V(TJ0D53\2SK"58CP)QO\(XAPZZ/OATL^FS'X?&\Z"MUS?,=83^]7"WV55H-? M3 K2D\Q[S/MS=R:]0L_5O^$^$Q1Z8M_^V_OV/T&>Z: 6 M&B/:#_5GLZC>';/_1SHSW.Y< Q8 + !8 'ZB"Y#G%1-[LW?IS;[%MMWYRCH2:I\-NJ;OVX%]R)^E&"GK519[C*HZK'TKXPZT:E[Y()VC-FE=T M7A<47BOIEFTZL(/^0>M6C@WR2G685CKJW:IN8U)6IQ.=J7<%:S!+;V@R3^LR8$=\?/(T40)WJ^WG_6^#Z0X"L"P1_[ M/5T="5!?7.H7%KNS- &Y4['[0\L,;'YN;7X$P9D[&K0UZ"#(<_TOB=/G6O -9\'&UBW;^5 M[L/::%0>BQ0E,+67%>G&1CG4YAR>< MZ*8]SL;K,J02\*K(1R)VZH8UO/>&ZX6^1KW0#9.$/Y#-N'[B3F4;6])/Y2)1 M8B(PH5/ 77GZFAW5JI6,FR%3$K?LAODJ+[,E.DP#&J4??L=B;\4E&&8PS&"8 M^6$P:RYE*?+9ZE(()TGC\,7Y)G^N;*]3URQMOEOJ\(]3 Q9!W7AEUH]3"'8DH-FQ_ MEZ[T+)J727C%K*TI-KTITV*"J&Q%=3/FDN%22P9F+?WP.QF_X*;?-UR5WVVJE^RV4*):+5+5*Y;&=]1X4E;U;8K:MRIB6' M*U6B8G<*RT+2239D>D02L+"$)!Z)6 )OPOU56N-G0T^0X_@ZV(.W\3X1[?UL M(?="OZ\CXMB\7NM/]*NGOM0F&'S-CLW*['9)05) M"KV@ TB@X79;%TC>'X)-%("-:#A E&\#N>?K4'B/2[T?8*5Z>6X@Q@H;AN=6 M]54FG8^VC/6'H=#'WZ>7 /@"'O>S>!G>4JP3&+<5:#96&4T=KL(0298EUZ2N MT".21&FY%/F83%^PR_!/!(2?@@>O%QW=?*VX2]8=5&G<7 K.+O&O%6;&)=6Q\O51O3ZMP#M>@%6$^;1'BDAAFX@1 B/$]T6( M@X95)Q!BT)?"E>E"R3/AKCY=I^( J&IO$+2WH*?MB?"*PIG$I02I[F_":,F*D'$A/6 MI(G]Q#NV$7R Y,G[Q!==;\R>+/MCX">>HB33D30(+Q]@BC68FO]*TEOHF0HO M165UXOD&>.9$,]8!W8+?PU"7G\; C*CA-:#4KX5A*9#K3Z8$[(RRDEX\TU=H M].)@*#^V#,VQI5TD3?SS&EB^-Q!\^5YD!VO9_7O1,E',B"LQXD\'YC$CKL2( M/QWJQXRX&C2]70J &7$U:,+(=!=\^%.;-\P)#$T_BQ%_Z(2%^7 E/ORA6Q?F M P:FG\4(#$SWP0<,3/?!!PQ,=\((G&>Z$T;@/--Y&?'^RN_7.'*E=A![FT6" MI-N2>>N=WENWBD #UYZ,CPU-?+<(^*L6# U^^'\/9.SADR1(D)%4_*:G45+O MD(SQJQ1[^%WF=8O=?CJ&G 95^#Z M<'>H#M^SA_,]$N'6IRX/EWPV>T!]UAR05(2Z[(4J?POW\)3=FM<%"9;<'"(\ MEH(S24$ZDKAK&4#5DYCWF/>8]^=%?_+2!/E;[C.6K3P!A < "@ 7@)[H L(\0]F;OTIM]BVW>-L/Q MOT=Z?#89_L)[-+ GS%XWQ7/.APL,CS MM:6\XM&$F[28)#]\ P['!MFE.DPN'=U]TS#CHMR9U6FBMW)6L6:SN3 8^8M< MV2I5)U&VNR2F:KBU[=-RO%:J)^A1 EX-D4X\4N1;M]_<;^+X/F#@*Z+ '[L^ M??GK&;Z]V+W9"N1.Q>X/C3.P[;FU[3G[?:;TO-U3%+W,$^R@4V9F UE-961@ M>=(/O^.)"UZ^@/4?ZS_6_[/I_\$M"A_0?V/9DJA-W!YS#@/(EEWQ+E@+T']T MN4*4P " PT\, 7<$ >>^>G5&\PQXYI1E*M6YL*\"B#WC\3]> MJ_ UBU6$X"I=P*.Q';(\BKNX:@5GQG]89ASO .&J%5RU@N4<[^?C_?P?N&XL MY3]IV3]7RK%O_@77C:M6?F+5R@U/--T#$7R=O3$1OEZ2,F> ]0!"9X/4UF$J MT4]5A@TE(Y1>X(=%_)NR%XOX MUQ-Q[#]>I]JE);46:9YJ%YA&I9%P8YI3)4LMX#W":II2&.3F2B#\F MJ.CE/*N?B <_!0Y>+SBZ^5IOF+_XB1)_ND+CYE)PF0,X][C2GVK_WG?@[H11 M7-B)JL'P9)(+-U?S3$U(.)L%-(J7/EB'X>%NE ;#PX^%AX,,Y0EXL#FC.YXZ M58/+=MDJNZ@F-(9= WB F<@H<<%4Y$_$!QQ WWRI/P8AGM'A$"M.@$ T:DQ- MIE>8$&[_X=#*L[Q MFHB\KWI)EATQ)D)05)#.L;;2G4HB? ^6RT9/^YR+2FMQ)*]7+ MJKS+I?+1E'.:]XQ^0UI*_J/9N33NY3'AR6>=-!ER?$AY+T".%#5WS6$OFE8;8G_; M[17CD])J#%'H0&/"EB2$E4W84Y"G(OH? M6&9>$F)++4HTLEER&(Y'%X6A?%+;/JLOWJ_P06#F@%+:P655_D"'Z"/\,T GCUCG%:6<8_+P.2-JA(0I.NH8.T6+CN@T-;=[G4Z:4&B] MJ(XS,6[IO*5HD'U0NM; M%J2_E*TFJ8!3*]HY4UC#NU"8_*VI3@I>)8DU=?- M!>$PRVV2:9H=LDN7@>!=BC3QDZ3)I:DMPPE2EY$A-#[55F9%&W:@VG?4'2^%(3VR=-;*19_0I77G%)=1XU:QEQ($]CZ]:-24,W MBXG:M)BKJ?PF+"JLT(U5X_3%I>8%:1*+M^JVEAH_/ M4N%!KD81B4(^K6FF,H[5Y(??NG'"T?KP!R$+O! A(D2_K#$'@.FB_&_RE_4" M)2'F^7 'P\1OA'P-N!*X>%.:2KH%[%])%XRY!&-B8&@UWK*4"0AJX)1H$7IL ML"8 LI5N9$L^+QN39V[6);LQV8^C]SG:FY3KX>58C'.NJA@#VDGH6T/^ZA!Y M71H2\4)S0;&\3K!&F,J0;'W5MUI?'4NO2T/29CKSP3A=8[+Q!1,>E\ L>E\> M=*]+P_$\FDP[FMU4$V2'+J>:1'6BT&=#Y[VP38;WL(6 FZJAJ[A@C.>O!?BF MAF/#,09<.R#^WN*!\PM7#V-#(Z1+MO][Q O*P?L@JQ002?HS$)75[_^"?P*W M7= DWH19G*D?H>XR,M O#W8]B7]>).]R>#L5%=NKU?%BX[2W##1I].__VY_[ MQ3SLU9A39K83_Z?!9^AC-/N0\-2('N> M3$GC870&GW[P7,08VU@\42#>O1!?_CXG^J9L'9+FU(I?"*N7DQJ/ND5QV!\, MG"Y1H=;*8I/)&X2R'L&AU"6$\D7"ACA*V'2>/:F0:(#7Z(8=&DN:(JTDY&8Y MNZ3[LS(#C05@9H<$=,-\\/F8MZ!V>_&KM.(U?^E UZ65 B@M@&#UW?FA]501 MIB$_2(;N'/A;\!8+ B!\QGHJ(0 ![UUYB:*UH M&E@7F/S24<"TX0%:2P*? 9""J2A=M'8?P;]3])7DH2U8&'(A(8@9*PE,TG- M%0A>)LQ"&#I4 XA_7C4/^-RR$3FLR%7R<&_F"\G[R1<>B]\;U_>AQP##:G@6 M^04JOOQ64W3I"8"G9,*?CK[VTC&H5AB\E>%-'7#,@L):VF/T[JK ZQ-B?TK[ MLC?Y:*X'13CGSA.>VRWZ4]HP6+_G#=4-W5A(< :Z?-*Q*7G!O-3GBV:A,=#= I_8%$ M*R0;$$CW.H+VMW'@F0DX6<7[MF!G&VHV.@'!\'#2F8D]!J$\J84^!$B M:I_A^0UH)8\PS'@,DNZ PLA$P(H#8 ' _[PG0 _&?_C5#/I=&,JLH<.PQOLN MU%8L]88F] M@)1@12H(9B> ZB'>AO.6%CSJC0JB9%NQ'?B\2&A_?4!'#?!WP#-% MD;0@F?"'$..81MCSL\=P[KP@>#$W^*X$PP_X!O!?,'X!XTG *,1L^;6_] A3 MB<"?+6O\7++Q:FL0& 8D.WG/PG&D92_WQI4EY) MZ")ZHM7 'Z#?#F(*I(_(]$PE#:S%#4V" U#[U#RBR&Z--5X'H3.*(D[$.[SM M \%\#+1#]',:NQGFK-W#T*1\Z0(##V3J\5@6X%='TO#XO+S=?E_ = G)RL<6 MAX!,VH#'>%D8&*[H<*EA\-<.C'HTL$S->MR+X2!W3/@"$VBW]5JJA0^**EPA M;/?Z2FVC-H1DPM&=7+2T:4$C!),(_-Y(TIFW;+*>-XEYL[NHJHV)+ ]H,)(D MCX8V&ULNFF4L+CQJ;Y=Y6-0SX4#+V;M]#0 MY,NAL4EKN$YWZJ;:**VIN-R(SP=N:Q0]7KY3-=696RNZ1*.5XSH;>1[/]]=@ MY-'RB427R$F4F.>46=J(+N+4>JC D4?+=S?+M)YKS'J.4&AV6P<@CDFK#YM;(IC(S9CX0%+(1M1N--AQY1%+& M"6][=6O!,0F67W:5.#5;-.';$T>+YYS9=)Y9:HPT$HK)Y;S.1,,M,/*(^(L1 MN4C%E-:,X24AW:';(LV*<&3ZYC1;*2ACE^$S0E0S$D-.7<$UD4?+[_(.SXY6 M88F8#T2V/UE-C:X!"77,4=*81G/I[3RE%D9]RF@D"Y6FA)YZ1("P&9_96B>I M,VZ>6I"IRGBJ=EJCQ#%+[>4T.J.YQ)A9JDXO&M],\J/:&CB]1R,71K'4XR252V7$Y6>S%#B@U:8I.G6G#HT>H9HB*1'5$> M,Q6QGLX+HANK%V&_I:,U-1TW6Q"Y@+$;<=3[GY M+!9/:A.%K,FPZ.]HGBUG/6::81;(4WS<'W4-5N[R:^\(P>'(M1J.IK;.+*NZ MJ_:PD$EV>(N#APV.56]:8I8EV]TV59:O9]<5*M4U*3C18]5+KRMI=ZH6^ERE M7&!4,98F%D-4GGBD3T9Z8@ZWH]Z&D98VR]2ZT0&Q0$.#51V4)YXC)7$8 .Y. M;><42] ,Z$M8'?"&C&8(ZD.0W.ZHQ+8PGO8TM5=GXOJ8T^7X"$2=$H@0%^!I MMNE(ESH2?>M(J=[H,*&8=QJ-_!7*TZ5VJ$M7.2948VB6:S,UIMYASYUA?+4. M$\82$T/3C#7,3*,BUI#O\5DGG>U#1]/K(V"].UWO>9R"+7**_+9B.=),O%BTGVA:N"/6D(MAV]RG6@"1J_L*2GX(?]2<%- M.G]"<.L+L44/IN7M"/*.;00?>-N!Z).#7<.]XG=_S/.N;"H92:70_I]M!E/S M7TEZRWYGBP8B$G^S(CM[>\V&@- '*$M M^#T,B_^?O&U6N(7_Q]U-?[\9 MO3@8RH\!2#BV=.6-SD_M .WM3O_U<9CHFW>T849-+V@Y^$WK$WYWW^0">)7E'ST?H %(;LZF\M: M[^LA!*33?OSOD2:?#<6^<*1?TA>.;7T5D$MA M0?@2@H #HO<%1%A>,'!@X,"!$Q88C!R?BZ"^F1Q\+L"Z]6URV1>=MY[.%E7= M>F5GW5CZFV+)&Q#BPU;BZJ3QRA[+7_3@:L9S7PE,6Z/&9*\] MK=^ =K1K0)MQ=S\6%J-8Q\.]'04T@*Q)\[%DGGJDW\_6NR)4 M6CJ2+KBGG[4>7CT4_<#50W '@M9%^#_F>1_B1#_JW3U$T8>@;7:OK(U2G=HR M3R1XE6C/&OGTJ ?[X$G][]QAX/D^P(,:<%._OF)ITLNE MW4H.+WO^XE)R^'97LR\LAQC^[EGL[@S^+N)WD3_1[TIDYLU.+#$WB$)O:HS+ M%I&S6O)-_*ZZ*>N;97K=(>9Y.VG,Z4QFT4#W#U' \:(2CXG811ROJ]?8W8L% MQ%"$+2!VO,[2?>CV8O 'ZL"?BAOL_M2]3.*?A?K""-B["14,=$VS5N2#=LR<(E:7>[ M'W$KNW3/:62\>X&%]-Z$].M465+WLMO/L8$58G?;*?XCM&Y2:R46X[(ZKVY< M17:3Q*9)?WK'?[>#DS=,EM>DY_?EI+']_-N)#?\2GYS-I-FZK58R2JO9K)3X M0F\-.)-X^$TFJ<=$/'69_7Y<\?9MH0O7QWUE_F'[^K6%%)=28:G]TE[A16I MOX)7R-6+2Y80;4/EYYF4]T.75_;Q;T^6&H2#6CKN1 JP=]^G-?^\<;\X M =RD@W,\*%K[3^M M62^-JUI]-E$K\?ZPRC\_L*QKZ>GHMMJFHK*KOKSACU;Y8WL>I1" MZ5[BD8@E+Y?M_3X[XN4;JPM.K%_(%<_/)I.:.ZV9:B-1HU?AL&28[DU<\75_;LEYB9/57HLNY:EZ M*A=-05<P ?3@*N4/ M^3T'\AD%\BD:#@#BVRCN^=JJW'Q=M_92OF;K35;6DLWJIJ!P;*8\MC9,SQ'D MUN?]"LN2WMNSB:EE*J-:IIOG"LO<*%ENTDF[WAJE<:],C#48:[[AYD37S%2J M6[O3YBK-J5MGI6&VO;P.UF025KY/Q"F':5BE5JX7LW.-(L0:N'^0HAZ3Q$4* M@WYRN?C-E?0"X)/X8N"#2\BQU<16\VLW:56&Q1RG;N[C!MKLW)/W@ZW21E83=Q5%:,/1I\[0)^+^^R%1'(V:?3H M!$$)?;J1%@>YY.HO:OL_@#X6LR;<*E&W&)>J8O"C1 MNMBPIY(),%-25I!?UC.@=<"[,IHAJ#Z>C4=5;=F932J+.;%D,SVY$$^1%0L\ M50+(MP#/M4U'NM2F36HG;_\='SQ__[8W)+0 N V/.&'!T SS*5"9E]]JBBX] M.3K0,_C3T=?H)4]H[PV\M=[H,*&X)^ODKQ"=S3:X>H<-M9DL4^K2F2KSW_^, M/:Z=70%GCF4K$_=UDM""8#C ]H7,'2-#BBYHCBB%^+GWE3WE[="47TFAL23I M(2!]FB2&@"-P.((W)?0=>H9MA 3P;@/(GQ4)T5;(F(3*CN:&HN1C" K:8PB* MCQ1:2_M_%CS0E#3>!B\!CP&B;P @M("A#BU,8R8)-I@A_&OPK&8X>@YZ= ?RX$&"\K4+Z 6D/! M,H'8C'D+"!@0$B!@T@IX9(C54(R@: 4/0UJ;_&6%)D$I"Y00\$X%_25X !3C MT 20R8"2G@TFL>!=Y%3"-WACP-_!(AA$ST?P%V. S/SN.1-%TH#A]Z0(22%B M(M(J6=+AE('VB(Z$E@<4($J$1-Y%B@75!RSS$N [BP #<60,@] M?165R02L%LX4_ 9?MN)-%[[F% G!?"1>F.[H'0D=<-H >@OH&E)L])+=W'R^ M^U.$TT)"84'/0;&FD*> 7L8:O$^"^O3B#W:\!V+*R\C[WS$:%B3-X>$\GU3P M3SR >[%00P#A L(F- X$$;RBPW5JRF3WUPL>NG".QIM[R^=A)."M- "\8+AI M0 ,/9G8\:?@)0KVI*4EHS9:R@22RIV!BP!B)AP@;6@/$/#6'WS^-#H/Q*CK9<#664]21-1AEC%Y 1*.>]5=T"]@ 90+@4 _4X@WE!9IX*.?P/65>=P#,?!OAKT.4!5:] M:O#Z.SF>JC;+Y$I<&4RE.*MO5&/"$"MHSR/15QF,:'<9,CWG?%K6W'0+^7R1 MZTT;"]40BY.D(]^*3$QAR)'A=*8'IN8PLT%3$ODH4 PR,BIH:2Z?2B2A!4 !V_L-?+!@+"%+2 __&2S&]%8B5Y)&\ M3L_EJMHKL$1^F,F6T1/AI!3= 9ZD_<:X$1Q&_J"P+;$+VTKU#ETOE$"T%J)9 ME@'QVRVC-CLT!D[E.W 0A5DAV3#$-1!EX/AH4'.> ZR%"53,!!,.G+5"DT4/ MZK2S8-#" .X+<&D@(EB/Z L$V9=&UB!/FW$LP"G+H@7@REO(9=Q%6 5I/N>; M!I@/ZUJV-*]J@A]FS>*Y*&$KL0W3$YKQ;:23A9U$LTJ<3" M+::BAY6&O.%Z51+"2>J$H0T=I'+"EB2$E4W8R^,\%='_1G:UDJ].!=EF*JU$ M>J;.D^T2*9_,77U6U+Q?D;3KD C:KWW%\C]Z^.V#WRZMA/YW%8OQ'O:W#,+_9Y%JIVF"I$EFF!D+C,&&54A=BOKZ.NJZ=#@^X<&LF:H.Q3LM5 MX&RF/\E[) MA*GXJ0_/NTP[I*Z_P4 0_[Q(/ET 2Y7,P"Y0L;VR=,\PD(2W"C1K].__VY_\ M\YF!%Y9R;U533Q(HM#T@2^&Q*?%JF)^ %S_QVIIW+7^5R70D1@;[#4^[?84H M*I(G(E3ZGZ&]GR$]CH@YYS?A/9+YVQ%A39K83_Z?!9^AK83=AX8'!D_(C %I MA$\_>"[BC&TLGB@RDK@08_Y^&^M-X3HDS:D5\\%V85'6&JT,5R$9-EO8+,U$ M;1LE6P!08[X'NAM)9A*%F9 8&0Q5U6LLK?%4/DV#D63TY="ZOBJ6C;7>XUR6 M"R>6H[&S6=/ 4Z5>CIS*Y<)V8FTK*FNP@S'=G?>7[188>?1Z,6IE.9X5TJJ4 MG_=SE;FM4@)\9O+ER)G1D_G:O-=7J;$^%39KR#G47,D&F^&:729K M2>-2/,I/V^DU''JTIFQ_+,:Y>7C"49G$?*5(_;FU@#,E$T=3G39L*ALKME7% MK E3K2++6@T-3;\J5 T/%K7,S*SUUZ/H,:7D7&;9=)J$0809 M-P=<&&-E&S08>42I5C=CL(4LM6;<%I5G"DFYTW/@,X\H)67=L3@J$"MU.9#( MS,(!!C$.GWE,J>6VF<[FXC$'L+2R3A4YEI@G9#CTB%*\4U7-OM$N<*S),48F.UDJ\/W'E%)'KM):](V^NJQ,'2FI$EJY MVX)#CRC%<.E1/KL:2]Q\.J622R;:;X"@+'Y,**1C@. M!#5Q/+*;:O=SLMZ0N:7:(VLS:1P>]V0P\HBFVUIV4 R/!D-.:H07%3O&%XP" M?.813CBT&+R\93X[66").4#)]Y3%/66KBMP6"I<>'II+[9Q.?I+;6& M0X]H6NK;2[O+K8L,9<97\FALQ.99]-0CFA)4)KEBZ2W/%%2)91^MGU+RN5B[ON+8_E"CB'%CJ<\@^APM MJMT.#\()+AY3G8(^2G#E=(PV6J=0LM;*FM7Z>&FJA0Z](*D&.ZL04*..GFGD MG/"V6J\LB64QI\W7$VNS2;=.X4FNM6W/;8DL<$M%F;962WF=)]:G]$EGXJ5. MH588JX5%J/1B8R\V*&H,T2 MYP)Y9>NM= '&3G.,)R#(Q0+>M2^&STQ8(X-^L;\\<[MR3S#TZ6K#EAA*HF.)C4F>07X MZU(5^$!PV[.DB]+D^9.7N;",6^-GAIG5 !4[,#5XG!)+=IU>.EOOEQE>*T67 M\J+;*FGRI9)AR(I[IP;0\3YQW;"/XP'/#T2<'WOI>-9$_YCD<2GM.MVT&\_+?1WIK?M^! M7RH9(:BW2M/VW.B]Y\/MN0F0Y8!HP>]A6#?UY,4V:T"F/X84?I2'7AP,Y<>6 MH3FV=.7HXG-U2\\AX5\?6*;>;(:+&7$E1J0B\3=;BV-&7(D19"2%H>D^&$&^ M>7@",^)*C$A$,!_N@0\8F>Z&$6^?AL:,N)K3A!EQ%XS T'0WC,!.TUTP CM- M]\$'C$QWPPB,3'?!"(Q,]\$'C$QWPP@<1=P%(W X=R>,P-!T-XS 3M-=, ([ M36?EP_L;A+^ZO!K,/XK,!Z_6N)*9Q$;Q@D;QLR5C-Y=IQN^^ M(F+4>POUJ,^B7C(2OVQ[V;\5@()I6!9F_D683Q*1V&7;>_XM]VE!<.:.A@'@ MYP) 7;(QZW\FZS'V8^S'V/^# > (^W'H>B>AZUM<\_(.Q_^>28N]F/4+YVDX M2YHX6JBJ3*2O FRIRPC N2#L"PL#[35\Q8)P'G_F:TL"6/$6'8O'XH!Q >," M%@0L"-A 8 .!<>&]N/"Y^/BY#>33/P1!DB:3ZT:3Z 8AU-OG;-'PK9=T_2R M'Q9??]U_$N+7FT"]>H'W^_HW'=S@AV2H#D3(\OO^)M-YIC?/#\<,M9@TZY5F M,U.JT@>=?F'3W2?1,6$!I27I+UO]OCX-+X*' ?SNACYUMMI8!"FM&59MK-I1 M1Y<& ]CU#UX/&@^Y$F]:Q]UDSP3@/T_:O:KF6Z_['+?TH;+@VZKM3>X O;+: M?_*2SC?FA':G3MS5.=I2/::?9U1.663;_46EFRLU8%?1^,/OV&,L?7R9%L:! MOSQX=>MUG^>VSANM! /!7P+!WD;E?HAV AH&9#(6X\SND)#:#=VQY\D-J<+V MK*F'W]1C'$,#=A&PB_"-D*$NV2=0(&FYC7BYPG28\)0P!#W#=!LT:A!.@ECA M,4T0& 8P#& 8>/T>H+/ @%0PTVIV$A74Y;8D4UFW/".UUC4CA; QR<>V;"O% M\<6UD5K:!M5;HO;_,1PJX% !APK?#@G>'RJ$57Y<, R*)<)EIEUG$TXI&T<7 MCB1AK!"+8R.ND^L1R-36%1M0M;#FTK$! &B-A; M+L(7J);-^O>\>Q>7@.E;4V5A?=&BV!OM^?V,#;Y 4MK[@N)K:66;T8;EF5Y6 M%8TN%BI*N3(5Y(OM]16W4:N3+G?S:F&2U&.4F,MLT-U)<*^/N/!>WS<7:=\2 MWZXNXQZ(X!GQ&]/@UA;]=K!QO0P )6=SVXIFM(G>VLK7G&5=IKOP5K_XP^\T MF;BX)QY0M7P+1&K;3:%8ULT8P>>V8HD=B/&%M;YFC*,N^@.QT4@-U*P\T)ET*M-, ME6&V!.YRXB '!SDXR,$X\JD@QZ7ZK>R =4UF.4GD',4UB1D*:3*6PLB" M'13LH&!@>3/*6>8H(;Q:16?M6+N<@B "=UC)Q%L@\@5/6P8"$R(I M](*.80,:XV.77^_8Y&Y57V72^6C+N&IT;Z]4);G1)JF"M$*Q-EI*E)B >I MA]_1QV@ZBO$ .P/8&?C:<' ZDDV/R(72&Y9Z#"66ZLTB.T@PA350?;A?1ST2 ME]RQP[I_/QJ!=?_ZV;&6-3?=0CY?Y'K3QD(UQ.(DZ5RUE#!GS N909HCN%YY MHFKIIJU,NBVH_3$<">!( $<"WT/]WQ\)C#M\K4L6-BQ1(2K1_F!5V1AI&0)" M$H8"9/J"^V,_$1"P.W#KE?Y$/#@="M#<,IK*K:TJUZA4R,UTNA:K%9@%\(X- M4F3R3]M:_[%Y\([?1\>8SB23BA[V;[DF(F]K[_-?PB_?J98P%_R@WF MF?*E*;63J,Y4 OS4-&,-Q#JD6"$><&4JB0Z0?V,2FCBV8THAWFO:"C_A]]#; M._THB2';""T<4YCR%OA%V;':>D*K>OV@79K.0=$OJ0'GI@ EE-$-0?4D< MCU;R9"TTN:Q 2$G7#3O);&FR D&Q!&1V 5YNFXYT/JB[L%@AG0B>X,.= )C. M+RSI*?AA?U()\&Q_0G-^$T8LTX-IA35I8C_QCFT$'R#4\C[Q =(;LX>8_ACX MB=_(.!U)I]&][;893&WO OF'=U^9'8U$H_B"^D/9^)L+ZO]B*_W-D\N8#U?B M XCQ$I@15V#$'#Q%VZV)BI WI/HQJ6UC\10'=+9-7K>@R_:$?H(&^U_$8QA\ M]>\OR8X/5B_]T3Y\SQNR_P#&%UCTZY<@G/<^C&@D]2:\W<,-!Z_<=_$YT;WQ M90_O7_@ -I (,3J<0JC,ZPYONJ$H^7BF2S^N+])_DXXYFZ1_X;L^_!#K+$IP MX\PA]M_XH;=>X'LRAR<S'0_!RP8!2Y"HK4P:PZ:TE;234PQ>FIRH,$JY'1/F_7 M.#Y)9)KA7D'>&O#"$P @T>3Y >36EA P)?E=W)9;PM)75L?SOH >6"O$HA!;UZH\#6<,YE:S)47JR.F%)EI.8LIYMFAM374GE/-SY5XOKQ\!OT,&*;K#>^N[5HW\LY#] M_:HN7 &?D\9V3K$$S; <\T0Q>WW*&JM:NI10Y^-!:KFN5DM.DKY4,?MK1PW> M*!5!W Z8WC$@,7IAOD4P,W+;S5%EYXEZME0OA.AVFZX7F!I3[["A78G*%?3D!5D:>JC&NR$J]AB"+'\, MV5,IE#7F0'C<$( O]'N&U]60M)$$!QVW )^P8,'@2WHN 4*(:&!;LFQT'*,M M+31@QL!7=BAK2J)BAVC9E+P/UHH]!R68G^"-Y8.QCR'> M"O'>2N#Z>3!+\,ENO89'(C(.9TQ@%8S_[M=6\A@"7SB"/]LQ M;TDA3?)*V01C/E=LM"CO($QH8AKST/]?J\:8XV THL)Y=CBEOFZY41T6)B#BD#+YZ('+OQ M(:"^&F2-;5R,7=!+@%#]-KL\_EC/#$J>BT%L?]1OS\@-KV99NK 5P ,BL;?8-!C2-$!*@"M\_1/0](-%=K'BHD$ MOS%"8PDRP5(L>X=E@F.:\!> L*IDPZ]%5 IO/2)4A* XUA1KZC]:@46,X,.0 M"2$#T 4HOD_?D&;P.D B.T!8!R)& SC1.K15(>"^\;H ![;AW_[+AQ:VD6\' M,!(ZHWA7@#2C+0^M9BF"B--[26%TKS9;U?2 MI?7#:0?G65. AW-[M2%P#6@,]L))N 4<* M+B/# P%E%T">Q8;>!0N"/C@4&7*G,6%J3V4J;H=)Q]M4CJ,JS94E])S43%D_ M_"8CJ>/N%_^,A$IZ"(9=MH]L.X/U;*@\+T('\C+QEPT53'.@-08BQ@O 6Q+A MGT\D'IWP1$:7A^= +:03_/,K>.V$!02:>6Y _;J2\BZ A4FM4^":1=&-#-94 M\B&0WA'^?8A+Q.5)RZ07744_ MP$XD$:8$I-B2X-E?(!$!1GO^#Y2P"\I X 8A&;@OGV@3YJLW5>>U9*HS MR0^-;.;C/M'E)((MZ&0X*TUECFKDY+I8#:\T 0+*FT[2,RHL3&.EP+!B["(V MO^8\>^Y_$*S,@>_M6)*'1\$\0[P7'R,Q@\?;0@;XW@SLNK(#32ND6);S_$X4 M\D HVHN'4!27_&6AUP!YA5_!*>OPI(E@."#>@,@T=BQ 5LN"884H3<#/8C#Z M5*@2">4=$T[J,8@T@@CB,!@#*+@ CHD?@.F2;-B*%WW <_'H:UY'H.HS\C%X MZ^5 ,_!"7[8[_[1LMYA:K,STV#K')JF$T>W3B4+IAOY^(5\WQP.KY#"-1J&S MF0EU5BX#4:;>=B>!?V(YO([0;3U5A&F(;F8?3\I2R03.(41#2Q$5($B/2) % M/A!E*(B[P8QC&@L)QIY 1SVI1F+K>ZS6GLL*F*L J1Y+4UZ;^%$MF!YT82W? MM02BSH?&&G@!<%P7/')C!5_:9(^_(UPGM$14QI!MV:,JO@$* #W80 8CFV!:4?(@7*+'SJJZB%[T&1S"& MMQ; IBDK27,CH9>S1!,"SLX:_G.EV]4^K8CQ^+!37TZS+8[5XAO)$EJYPJSU MAB*BJZ*!,KYR5?0+X]AX)CF-T.FD]J42M7JWWQ<;JA)/&ZS8#5/3(OWP6S>. M=6^?B3B>0[@#^:0(L_O@U'^2O(;U "#SSN:[4O1?BW@:$ 5-!W >+$$!;PQYI^XAGHE0Q@ ?P6)U M!&EC";SM.=L H(??0$:*T*,6?+\!D61O-_MQSV,!S@CTEA"Y3 .8-3 1&YUH M",_AD0; 1AZF^]&<%D %#$!#&I'@&/1V/(1Y5201@)4*X)SDL1,..22H1^N] M=:,GOZVX+S=O+KSMD=U%I=9;NQ_#6#E#3Q91C5FV\VQ"SD5+FX&?I5!T $JT M_<:X$1Q&7G:OY!B0;KA7DMKME60;M5JI@S9(SKP_H M 87 ;.NN3L$IE/2_1T3F*4[&=;HGL$(0!B9*!BTP7C>.E1XZ,L"CW-G: !Z M&6/T5U!;(/R9$#UVZQ\;R((_HGAMYP-#ZXV^!M,XLNV/\!FP!9@7-;[JR%JA M?T&[9!;!B_V/D?*VG MP'5QP\8:>31H2UNP'0!KP/OP$T.*%>1P '$ 4$TT@&+/&9MG#],*$G\H4P43 M*F->\V8M2M K1(F>_5((@.0$^MN*Y MH5ZPA1RW,8AV *%X98[HM,,X$6(AQ% X$Q^00VO#T4#\#LP/@#Y^Q2L::L@' M81RXW+YB)Q@?@%HMT%O!].Z3%KN0W5DJ7=FC+W^"&!]&42'/=^E M\4R%73"?W@OF965BK*/BJ$8LS?H@VS!; BNM'WX3D>/;54)C+Y/V1DBQ'^\_ M)SC'R'_:\< /(Q1+M?8CJC4*DZ'W\3QGI ^!.@(GPO7#4;C3B[[?ZS;ZG(J% M\UT!N [X>@>WF8K$^T!J19&Y+L9$XFGTH(=CBU(CBWDRT7N]7F MK)5IP:87D?2K&=%(J&[8@48 C_(9G'S/,'#\(J$[R,$ .AK/FQ#\G@W8 >W) M_2N4&@CD:+>3Y2P"6W#I//QQ^B_C^^ST(F3$V8WG323F8VL20CT@^_HY'C+@N[W2@4H2P6 MAFD?Q#ZBM)(T8X&P09J J<,T&ZWOF1)HZ_:QPIX"#^,YFPY!PC.-X&O102@% M90/FJ4)>,=V+1#:UJ_3P&M*@SW85<-\W+.YY(*U<-P!^ Q9D29=,@&%N@ W6 ML^<:MMV%%-@5Z'U"YVYMF&K@*.R2S[XG"_<=/=7?N8!>#G+O&=Z&I2A-$%(" MB818N?"V&J"PF4#G4$X/)F-#_@L!!>!%P8^^?V?9S];.2],!9]E=P*I\Z.XZ MNK>;_HZZ(2U9CZVKSBS%L+5H9D**W-P9T[>H&P+NA_2B;@@HVCN6D!1CPU5= M3.KJG'$&B6EM*3/L^A9+L-> BVYX FTARJ>^+(1"4;B?&$7.AK_1>R Z,!2 M^0Y;$1R-WUG52"@C>;?/F9MG#\G_+ 0C)Q-NDZ-]+>@&^0]! ML@W#UP#$#B8&96\!A V%?-#[M:%(>Z4\_F(.8P:X[0%W)*0-%%():)2X$W&@ M./!C%)7M9-F+3_P@;<%;8-&]P^]@Q/(,RV/4'-[0]][PG'M&R@L6AA:%LN)@ M2JH.%N_YCJ$@%(?+02GQ9P]P1W.HO""Z,T%XB:@4A)B>;X@V@?TI^06!XG-1 MPO,\@Y;W)X'%7]HC>M#.BO"6+R<>CD JP74 L[/#GL>@E-M%?^IO:8B'!0)> M@WVX KB3X)ULVY$8>C3P ^3;((CVR>J'P& ]4@!AS\%U\& _#>@!D(\]NTT+ M0 4_[ X)4[A[M7OI,UF>MT<:W&H^0D MK8N[*AH0O5O'NP(*HR>RA6F+)\(Q9=E+R"4Z.I1_4)X_O"\J.3>0KO\1[4[53!2\O X%D2]YU0^,+]'=LYDE-4RHEBZ86B M^_8%T).7_7*&'68>Y)Z>$TBVY]R"R4D'M0VZL:N*WJ/''B7\X8".-K)%;R+1B40=VHU^F3TX:X1YX>-GESZXM=NV;$R@6$HHS67H M;4]PLE"VV"DP&!DH"$TO)7("S%+C83[=+,H%8CG19;(DY5K9N7R\Q7EZW(_; MXB2)'?:QG4:V$L[0+).#^YU-IL[2G5*C?LL380 3RL#C@LI"G"Y9LVS _2D@ M%=R'0YG,E5^MPHO&(O!4X>_P&2$6#@\U :@='(E"W\%/#T]S[3Z&U;_P')GH M/XDD7W\2^&[_2;].I]X=>^K5T@"LF?,JF"YP'4 \]#)GOWO>[LB8H7L@0J81 MB)!@JH8L>46;]L&D@R-SS\^ #A?$1H!/R*<'OHYD^GNAONL6G.38+<^*^$MY M-?_YP3HR"ZJQ-:H,E]56L99-$+P[S:Y74W>3'Z[?ETNB(;$ZP!L]2/XPP \V M7$E"/(/B_W0>Y&9WNU0/U>8[7$S\/]WI40_AVO/ M]F/?PM#/96H9]\C$H#G7D:/?F'A,I@.O W"Y +W]D\R=UQ.:TE/'12Z1Y4E+ MJKL3GI,??L=2J<=D^D1Z^A76/OLXD+=!2.:!Q3.#=TI_LZ2UWWYDYQ;N>7S^ M0KPY(Z2XY&&)$RY(8E&.%_E8:ZHVRI;5X"K\L%7__,' TW)T^D *O9UN"Y7E MANG%$G)^D-$;3@R=9WKK] ' [4M3*+I/H>@HEZ:V#"=(749R7*9:=";&8'T5 M"LW[E)@EB4:7: AL?!9. E!,T9!"QQT==A0*HA$;M@3TDU9!QOJH&!LN\&4] M]'U(Z\<T""'WY3;_'BHM)*G916.DW-[5ZG MDR846B^JXTR,6SI7D=9:GBST18U8 -*[VP]\%8403I-^+J!:KA!J(9T$/5LVO\>QH)UPQY(8,J"(>O 7(DG MF65JAF$D^K&"ZE(KJS)/;@C# "8X$3F^.'E_L\W1S=V#478U>#-*<>QCQ?[& M_P%N'%6,>[D%5%04Y%90MM4[/[6Q0^B! =\Y4#$1=C2Q,E68&?Y'\$ MQY%['-)ZD_RJO$E$F82X,0:=>6\BEH Z>;@.]R&MEXF(T_757ZU@DL(%DS^G M8))' C]*CH'?+_')$4%(Q"B6C HCGJ>$43P1X\=Q,AH5J FD/A_\14<8U8O% M17%+)?)7,\[-2WF]M+PIHNCM[>JVHS.426%4Z1ZIY.=)Y=TJ@5&'KV]5BE, M,W2NY*I\9;39#(>Q M$=F:9@F)C6Y[5)RMYVOP[4?S%"O\3$P;4H?ABU6)GI.K:7T".VH3+T?.X\WL M+#:P$X2B&ZFT4%-[G"R#D4?S)+EIPC*7,Y[H-5QN..JG"2/: B./WIZ=3U=F M36_)1(]5*6;"$N'B&G;(/7K[8DO%!2M=*A-+*CLI*<".Y4@X\NCMLPG16[= M&*8Z&M.6Z[EEK@ND+G7\S$)VTM.)8H%4$V+%8!=*HV@IL#_FT3.3J4XW&ZNK M.L>NEK+@6/ET)0\[TAT]<[:@6D6V&$T1\])@0;=2 [JFTF#DT3,;\WC,%7AB MR/1:I65C,IUVY'1K1!+'#\T.6TY"7(UL55H CG48AW5S-!QZ]%336)4;T6&] MR"7DMC$KSK,LVT-//2(^::3#F4)\G>78 MM@U TISXM@*'D\ 68HU=6XI3'$ MLIHE8N6Z*.C5 MRZE.C3D)4&IT:.C;SBK&4)5.-ILB$JMDJ74*3.2DT^.J7XCC 327[*S;E&JFMK2FW@-OCU*<5G M^3:Q*BS2.L&N8FE'3TO+E;0^IY20D/.,_S$S M%N;N@Z9/JK"H./4N4 MFE6UTIQT.KWA:+F>TZ?466L6%GUWF$@PU#PU610%LMD6Y%/J+!;;,R-9S)'$ M,MR*"M$$UR&'K5/J/&B456:;I?)JN%5;BIQJ 265]]3YE1,2;^\Y?6"'BKK) M>8K;;%-YJ6LO+_Q_0TSOY#3MBQ9(1\LQ,_OH?^3/?0_[EO=SR)&7$'C$A&*,R'.^ #%2'B MF!%WP @RDHYA1MP#(Z*1*,:F>^ $QJ8[801)1F)O7L6$.8%5XFG6B_,D"7T_+ST$#P=#@A__W0#U\UA#&(]05[NO&8G)+,;E0V/#71$B]0S)> MW[1Z^-U#OTEB>+>OA+E^5G @(N1E#>>%) ![0=@+PEX0!KK[\8*PJ;L_+;A_ M!X<&*^)E"?/\A[HW)_F/G1OLW&#G!L/<]W%N?)@+,1O)%!0+V[N?Y./LND!C MKO]0+P!L[.MC1P8X.1KIOZ^@T347 WLU/\FY@[U;3NR@&\_V'^C=Y M7C'_]Q]D@OC5Y34'.SEWZ>1X##K^]US.BW\FSB\X(Q>;$#HA&0H.6=ZQ_'IM M\[X*?*4^Q=FS>1]?F,]-R0PA7G]O5O^5J_&%V=N1S+E'CG^ASDS__MYL/IMG M\859_HI&?\[G>.YJ]?0/09"DR>2Z%GKO?K''4%X:F^AF(_^X^MF MQ_57LR>OZ$#^?@>#Z$$7M8NU+B9W[2):UMQT"_E\D>M-&PO5$(N3I",?]#^, M7J,#L=]K8D^$O9[$N[Z'T8>@.TFTP;I.N=CN,BX7'JK#P8AQ==B9A8*=I:.) M^%'OP[-A^*UE__J!AG=L]];K_I]SK,0[]_J5%3ZGP)O04*]37^7+3%U:A>DV MP?!)>L;2T[B]V!IN=*"?XL@4Y;,G'3=OS,==WU?E@ MVAP9UD:2:["74_SA=RP627]C'#B[TW[/2O&!7DBHC?*SI"=KZ_F\^__9^](F M595E[>_G5QCKWOW&.1&MFTG4M<]=$:@XSXK3%P*A5 1!&43\]6\5J.W4LV,W M^\/:-I9%567F4YE969GE1$:9+UL)5>9FPVG-.9DX%BG\)UE[\#9K#S[,VMLC MW1WO)[(^B"US3VR]M6JMJ@M.7IG2N$ 41S$592B,092@(L^E$YXSQ'X3WK[% M'H?NNMYZWN?8X_S+HGWMBY#;DV[]5I]$HY[:14>QD8O)-^ M=-"/7.*>,_S$QL=ODTD MC1/>"[P5 =)C^LROCV77C@.XO@7[]>(2US1H/?8U\YJ?*#YKZ*9YPJ35::-7 MZU;P)->DU&6_ASMRU&#@K*!)>UPW^Q%A;3/*M[#YWS;\/>$IV:%ULH/M\]L6MW0@W,CGNR^> ME)9_/[SI@1P&J+XJD."+X?+YRH-.A_W+ OBN #K?P(_8G!6]G//RA[+*MD(_F<-D_QT.8TZDDBQYC["SS!OOGBRLN9JVWA6?T[8/PLF.5CU*6'("31HX84%7S985/0, MVC_4!:V?;RXAP=%*8,2G*_\>-H&YRMWSK\/>+YR> L)5EW(SBVLF MV5*W[8S:7;*.8 =RL2@/O-]@2"XUO0E _X!KC45&R"*+0J)ME),R5QCC ^P MD>IQMW^O*8X']YJ^V7E3<*_IWC:Y>[W7)%B##+4LQM*LK?2M1=)@\:(U0N"P MOMB4>.2+3<_1A@(TRRYO&C_FSGWBZ"VP9>_*EMUAXA=M626_+*S<V&'=")PR ?G;OT6U] ;C]HDK(VT>=:U56:DSLI7@H[ M5:6 /%.X9Y+&(['@ M/C'K!]%ZOT9?9^R2K%MPSN.)54S%H65"Z/Y[,W[D9P(SFR#,]N'/K-]S]81>B"UY'I@\4'C.IDM ME18]>C[T7@?PCX[4\!"?'PM]DL>@'>#C?D9)P V MH1MM>20TL52FW]$+XX[07# (<%X[83X5EOVWA1P1QYAS)C&0M?#8+U2!15[' M@^=?HB_?B0YG9_&);5KRT-V,,[YF\/B6R5MC$!+'B/IF2-9"%OQ3\ZRJD#X, MP04,+]9^")_^R $5%756%F@M^;#[N#HF'?ZP%- MA678(XJV&598!4/KMV!;^N:!![?^DS6R^VUVH'[=!CU9.VX2D03<\7XA)]]F M:.M7XOZTW^?XBY$1^M4*FY*\.-&_#OL<0L[C6$Y\)4.%YZ.-J= MG?";D.!M5 HDX7QD^.#QZ)M:TK=PHGRO&KUO;N-GMRE/%G,\S;OQ#_#N1;?0 M!UN$,Y0 ?6L[NWF)SXV?*/RE$I\!9'V;209(%B#90R+9VM,=X%B 8P^!8T)^$E>@4LO8 MI*LJ(#9HM&N,$BOG&9Y&UY,2IV[MGU=UO;6PG'_K?\?)_JTG?98;2MB=(\,% MPZ$_(O8?OGET#JG_3. ST6.=J-%P&"6T'P_W,3]^U^!U?Y^JSTH5W>%G?W+UZ??M-C;AI[. M->1AGI6%:)/*9=.%3-[QZW5?K%QW8*L'MGJ@#EQ:]C^C!H!&"PB#'CWE;$*U MZQ5.MS3%\2MTQR/T&?-AW^+\<==C'Z3#?O=1XEWG#[NMS_ZR2<:NXK//4 6P MXLK8A.V ,%%H8(..4V;\BK4Q/+#N ^O^&V[G5TCZ=2O7N]:B&3T\+1;9>3:6 MZ["3ZFA!KJO3QB/8*7]=D&GD9>Y\5Z812[<$-21KEB%KIBR&%H@V(6$*-63+ M#'FW,OT\IU[^$"^;R";Q"%CG:Y-"D@U_/7I/BA&X6Z$/9,@!!@C][SLW-R0B M"V':I\:UN,4)6;O?BZNX&R5&Y[9SH]=/,_]?7'SP6.=[U0I"/5+2V:.DOO>#D[H*3/),@IE:G MU4I@,J/EE$&2XN:V\W@+[G;CH*IT+)F;CC-3>C7HXM*8^?4'BQP[%S?K_02% MQT09F>0%4-U(B/'2\NQ)PY,G,<)H9( 1%+,0%%0%6&L1A(W1M]!0!8;J(O': M2^FC/^=W\B@+GG,^'XBI-18L7]P0Z!#8/Q#'8,]AV!=PO4?X/_#GT!9&X@J_ MD8V=,6V$/#1#61G-T, ].Q-]0A^])M?L9-)Z!ZLX8T>?%8;%)B?/M*$]G(-! M)@IEDR CQSEN+RJ;UUC6\U0AV%]6_.2Z3L9,JI"JK?H8P=4(+)&P%YD96E+QN^M0'5,"BR:/?V4L.'$!>9H6WXXO77 :D;B%<$S0T)B!/,M?;AXY4! M+-O00C-@>#RHB2#L\0ZBX68F?DO;F\F_UW!6:S0YJ[@)(3O2V*4#&M+G95M9T0)WBL7\@K.N0 M'NA+23:@O.B&"7[2DWJ\\>P<- +8!\+TOY9L3S.UX=E8J--(AS(00 M101Q+(,%G"XE6^,:[\VZYL.:U)M16DJ0'!HDJV&B>. UIWB2&@G="CMWS:I=W_W0^P^V2+_7]GC:97Q_ M6K"))^F03^"L/54J9,&A0"4,SGYCG+TYA,N[Z$XSIS!:\K5G^?(4F%.,NN;2 M9+,CYUI-$^-LI5:(#IF:(#-[YD^^DGEGUM)]WUS>-&T$CQS:FTZ-P(<2R:?5 MAE'W[7^/91?S0D.6A16!A?D9+5+M9K4NU7_]B3[!_?!%A]Z;!'H!IR"P/#KY MV?5N!]?4(\4'V,$A$_RH@L]&G! S)4[6VE-^X=P5.Y0JAI1J2CV4H'CT-2DXDG+'H)6B/E^(8$_K++\GT4V^B9 M*6_N'EG\XP=-,@_.UW:IT:>3HW:EFXEC67E!$HN5KJ17D!K$4XR,?YT8OO6S M5MU]G[-'(,$<0T-D/3PX5Z@!2Z&9('MMU[_U/%K(,D%?V09D/\W:^*G7UN6. M6]HW+"*AUEXV[1?,%]C+ (1DR-*P;\_>WIHSZYZG@KMVF1WDYU[O%YNLV<,W M[*"-VRVR=VP'EQ6QB*S9PGI=O?R!.VD1117.')V&C3>IG#<'WDAMOD1>Q!?O M3A+43DRBK[3CY&'NPW_MY73[Y->A"2&BC.$=CZC]3A:3)0I>V?)]C)AKW^VGPQ[\_"- MW)5KRJ"DH00>H2]$F*^?$K_*7/M+(N(#7L ' M UXDAT,Q1B=$:1A'JR]L?M$2^9A<-Z6:"3(8K7TZP\I!C!@2V/^JR7AT5LUAG8"AWNND(AGA^J-KIGA!VVS(RJ^4RY MS=4QH:ST^=R<6)H=![8\ZM.AA^7$(CL6.&CO]X5A"\O'"09N)T=]6F(]6FOU M[3H&@QL>=2G-,A87<7N&0JP#=Q(IBK:6*KSB>,^F0*#2VX%ZV*T MWG5JT[0Z8\JHY5&?VC2U',O504(IAM5>K@!*C0X]XG'LN-/QS 9X/2.&69M2 M8O%$IU5R>0F(1TV)7U>LB'#Z M2.-%M>N-D@D2U^_B(-Q76#>1G B)X4R=UYT+E4SXJ,/XH!(&!"1Y:D_?WL/E MM4*ZIQOL'IJ]X'-]7ZF,)V_W_D"QC&]:R>'%ZIYD4%/@*!8D*.[PDPD1I%&_ M"S($E1VN1(@WPDNCT:"RPZUE(8"D%ADTS>Z46'&R:D MBU[V#M?=%&,(4.9[3#( GT>:\D^ J#-56?@!LAL 5)"8/,"P>\2P\Y58^ $2 M'L!8 &,!C-TCC)VYOL(/$/,?@V4/G'3_L8HK/ 2&/3 W?+D$PQO1"K=.<;9S MT3@HR_ -LKG=2TV&K]QL-%+I)9NPI2K;U$JS7C@LF"GIB[FA/G,7GYW;$"KS M&ARKC1Z:573/M346M--9HTYDB^I,^Z[:IOIMME/JU?6R(PWRR;I?X8&D7HYF M#])&?N&(_]:3#M)&GJO$PV51Y"HII]\/(I_)7E5E>)D:6QE&*<[#/<<.E]TL M/?(+1Y!8A#B5D.[L.DQ03.+V2LG] ,.=5I*X1*J%NU-(]A/;G]!'POI@T6UK MSRDHG$_X'&+9-2718;[4#*^7O%B M,4Y6\P.![+! S16*#IX9I#85+R@B@IT"C^_E+3E4/O+>7=UOXR.YD:/XKFR< M?VY2"N-'J"9^DOU75!,R%EYPPUJRR]&I:#0GI3-4KU+W2VM$C^V8H+1&X".Y M._P(M!G@)VJY'([XN^Y7-)E4U8[S.A^G%$+,TG9&RE.--.,7[8":#$Y];Y]) M1C>&0'Y8K\F/.\\.=):;Z2Q;47E%;6EF4V$^9U1U15"F22J1+=&+5-VO!T(? M9PD^G]KRX%(7^%("[>,Q?2EK5+#ADGU&_6AQ9I1,)U@2JTJJ$Z8FL1FS6A<< M(>@(?IZB8??L2#D,.[ET;;%;3_;2T2=!^;$SI;1\'TYA-<-L@ZH6YXHJ52;R[OMH5,L&] M'#S]D10=!W7@CA.K;E,""I5H+9WLQR6E"@@Q'#=J6G%51WKU8?+ >*Y0,B>5 MV9BE^UQC0-=D8*=1)LJCEH5$,T%DJ_.94A3E 5O'RJZ00RVCARW+DIU43Y%D M=.K)#WG85-'"%N[,.(RE"::<+BSPAMN$3?'C7BNM.4&+P,65)A7/FHJ2KMC0 M!(%-CWHETE6MW;3(F%*T%U&J20P44(2]$L>]CAI=0^=F9IP3E&:7YBE.3A$!CP^Z&A3R$[ M&*AJF+ZNK;?N$[YD9GNI/MV0,)OY%?G02X8 KJF@HI_-T&J"W1%Y?Z/B$>^S MHF:0;WFU2\S&\2RO*IV8F)_6NHUB(O^&1_C#=1<_HL^P<'6\$FI;*6O :34@ M\V@BW(1][<;*^.L YV+9EFZX>XVWZDB8V,DNGVLLV^&6G*.Q3K(\3\>4\BHK MCGZ]-\O^IU?KPSGV[V*U-(MR<8YLTUS82M@"TTFPK0K*Q7\JL/C@P5^;S/AK MWAP .)]=3@7/4K.MP64>)KC][5>!NEJ:X_*B M;Q46S=&ET/O"E8&_:?)@OQ\B$B.#-(2?MW&"3,'?C1!X))X("'$'A(A'XD1 MB#L@1+!'W DA(#0%>\0]$ )"4T"'.Z #=MM$YM^.$!]-5?36SO 0YY3W&-KY M6B*6EW,T'R3JV6:MB7XV:PU!17#RH;/6-.5EJ.P[(=FM$_(@Q.9,&8[> J/K M9CCZ4J:Z >^)0Y\/GL5%HGA#XT#?AC=F3*979C9C[+RWQ$;T/%'9P,R@/OS MP/VM@[=2FS-!L)P!KY+@SM$?>J:9X-M$SM[@LH_G![WUO,\1H><[$N\Z1N^L MT< HE&\A3/O4N!:W."%K]WMQ%7>CQ.C,![,?BNY]/D7<.T'\VBGJ*1K%9Y*\_L2%(E[N"B S)8KEQ-DJPQ%QN)HL,7U('*-"3_O6'>B)BIT)P MSR4JV%T$O'\:(A[ (Y#VX\@T$:#JTK9JH1@Q%%/V^T&-_QNI?-]\DF\=*U_C MFOHMG%<_P$/WUOGHMYCD&V>/WY-];^UL^>;>E,/,*$BCVH]/?0IIP$*QU)N M:\_)XD6(!CZ6!_>QG.U6=N!HN6-'BR?3C":5=$C0;1M@GK*3DG&EDX\G) RX M95)/@'"C8S-\%+E2\"<\?DD[Z0[0\ >[4LX)!0$2W*D_Y0-(P*CQ7+R5KLN8 M/2%F3#ZEX'0+(0'RF$0OZ5(-_"57U?@XS8 \,M)@4\G3[53=-$,#W],6^$\" M_\G]^$_N$<3[/NR)CG M$V-)&!8=GD8:7((^=64Q<#0%CJ;[H:*C.PLV;#90P3KZP4<"=@,$>TG.O&PI)[:)$F,TN1C( MK#BAG+;J@WQ]HO51R1JH#E+8J33O@3OO.[CS;J0T!K!R.SWRFK#"N4R6+9I1 MGILFTZV4:5BTR(W@O)!W$,,"[^!W\0YZ63O# Y0QUTMMO.6BQ/%1?+I@=B.65H&(@RZ52/M[M##-7\ M@:I@E+Q4=;' )_@])GEKG^ U)/NVNMGG)7LU*JQ:39YUN/EBP&9PC!=L$27H MA=H83AS';)Q#L@,OX+4KE@$XT.?DINO(EIT80#L0"J.?1U''1M//I>0\K M$X_F;\OF2ZU\X%,+?&KWXU,[+"KE58 @SA$J'GB'OLLD;^T=^CDG?1\I=Y&5 M54M^\0P/1!LE<>5DTBP1'\8LHV13[:Y75PF%D&&7#_%_#)GX!LXCR!PAT0"2 M;)F!JRAP%7T#5]&E=9*?1^7 ]W$WS/VXO@]TU 4WFY2_UYS0.>+]%%M1%P6= M1V.7CO81'6VLB-%^'!3-&;G'J=BC7UL.'$OC ?8[6Y8_=Y M+M5MQJ:M^"Q5Z3.HQ"XZYHI>\CK3#W)"W5IJ;@\=MU^#!T..FYR1?00Y#*4J MR<(\55:J9&;GF@[3N5_!?[4,B"2%1TFU4 M^?8F^\)%\[[??*H/!O]74ASWTSN?RD8$$F*BQ--E+.L6',IN@1@W.=,'PPOKJ0NOHD7Y=60'CA+*<:&B6+3RM#+IET; M(;Q 6N$3%8\%5Q1?517_M@3(YG\VJU2QI_"-XMD&*FOA=5E.+/+ZR)]_B;Y\ MYSS.+GO(8RD/W9_P?_X32@F& MX2)^W!; NO0"84<+Q)@A89V='R43AM:,B1K;'7*(_JDFF""@>\ )H-X""-A2R" MO1'D&\TM<0PPMX'I$5#,-%*[>9B#LT$64)XN1V/>7) .+WE@XR, MP-%[MGTE6D3X('JB473;"*Z?1R3=@M\(7A )&HXPFQGZ$J*S!50W]+]GWD\8 MDZ\.X5;B;R X+PIQ=MEA0)&5)Y0]EF*EL-3?5SBC']A TF (# -(.ZDO&4WR M7 N^$P+("X1[*=M X;C;C87V-Y8*I ]?T@R:S"M#BTNE6@4ACK<+8M%!%ZTB MQYM*" J6"C]$0HSE+:>LF9;A7_/:B %DAGT&A)P'*0H'[E%VI[29 2S;T$R/ M 7;HZM%SAX0;GMT^(JA_-F\*C04SI.F6=YE;!4CDT#=@"2% \V]V>VX.#W7@,_"&N2,W IW;H'(#F,!#'K00:0@# MJCY#QUTA%(>3VL3AW R)T^]!-/(8&PCR-%[NL^LF2_Q;;$L0WO+L8ME+V'H\ M$GR+4M98L-"[5!O]U-A=>6EGY:WG"*B7@.W<4/9U4_HCR/:")_7Y,'[#E"Z4&N M)[_[T3:@;,*F4#UJW BCK:;!#W0!9 <@G7 S8U+0'I@Y 1)%VTT:+X#=<[R69W6GK$.,#K-9$'@BIX(1_P-[H7$2+Z2E5(,$WP#,,B M.NO1_/0RFC=7P;,#_)^'S#$ .P"_QX*^BFQLM39O-#,#>$KRGMI\0UWV&6F( M3H;K251VR0K77GNZ3+97/(:G6&K M8JWF"CVU3988J+G'(\>!9Z\@:FL,3C'BEDEW]K-M@6)HE [ ,^2B+6"KDMLS M?8V +VGA:TO!]]$<>&3^EN3%G__"?S8@(*H029&3:KR6WZW[$LGQIIXW]M=% MG)3[=;D):B<\S$<1Y*F?;4;M_?NOW<$_>\T.L'-G5FO/$>&YT48@/(#;JQ(6 MAO#%OP75$5QST'D>+.166X9TE6[OM MPBH86K_7/]L\\_RSVX=K!>>W 50!7=- O>_UZU'&TF>_"3Q"7X@P7W<(OLI< M^TMS:L:05Q$LR'"'\+C:<\\.>*+?T"9DCQDJLMBJUL;]<)NA1SQJBE^"*U_8 MTNDM5QZ:M95JZ<@;LU%!/-'TMR[/A%Z;\H<"O);94P;R*4-HQ[B!.R0$1E,T MY $RK ;Z D1"5]5UZ'O2=;PUNZ&]W-K1F64S9-J#"<1TA.@;Q1C1SSPJG+;1 M.KA(,_+DM3G\-H]$!>'\FJ&X2#'B3=J"B.9'R'HV%6P*!&AJ3:#E;DJROT,+ M2/-^'HOO7((0"!4@:X\#/7G,^H2+XID#61QO:WKL M'F0-O?_@0)JZ"E>#U8 Q4OQJ,!_BK.UJOH-T+] CAW% *'1&JM.FX:[SBT(J$= MCYXI+T-3N(SC[<' L?V]=]"Q.Y>+FT37]8G5!->;5TMG1 _;6(\ER@ B$#06 MMO,^:2Q@6&Q()-KR'&LF&XUIKD\7.H3SZP]YPE;8F 8>@QWPAT=,STT"N0 R MAN4S";*D#^SF2.B$A;U/L;$@G?L$_\M6:M@$(J*# [5L$VB[IEI*,,?/ZYSR MYO_RBI-]GL+QJBMAX5XB.RPLA$H?0/-,TX\7W !30=;\,S-SO+/@ZU7VUWZ[ M\^G>-G- FIN!^*%7[!4ORL[$!%%$)J7Y[%GQN.I!O!;;:^L?$,'!L+,4M24E M<41+R(W*Q1XSBJ.3M@CQL@BBM;SLJ>39O!F?69-,HS'BZ66XRW6( DY/'3'< MAN3X0T2.$[@^>^H-8,[\; %H&_/U/;3![/C50I[Y&M:'8=OT/6F^U^[CWCKS M5G[9/1T 8NS&+0W%'\T)C1]N;C/=0*OC.P+AQY6O+$^]Y=^J S6FO%4'D)9Y M$M;G-AS9$.K$'%*D0O W2,_?%5K9W+S%7^3G]V]T=D%5=?%97X?;^N;-+0LZ.K=VKJ0C^*L-P0_-(Q? M8 !/@_8& B@,Q4!M'E/Y0/L>LT.,ZM 7[QW!SFN> M%NHKSQO=^:2T:Z-P?48-TVTEI??'=6+> %6DA&"OA!KX,2.G&6-G0SS697=Y M>F.=099^IJ(U-@!XDXY;^NWXV5\<@VSN#L!9QR8@[=.0!=4W-I_[@=,-/[-J M>-,36H %TK.?46OC:?G R[9'T?XT/?OP5;9]O]Y]:Q 7HD--M3@EW/ZY__"AZL\'$<2^!Q&N,Q(C[D*4*(\PEI M /@XP**82&$#0"20(US8_*(E\HM5-9JOU<-=9=H>1W7&L:+95!VAZ&'+7DX, MU[GDI,\62V.3J[/I/)D80<0]:AGK1V<\+@@T%F[VHG77Y4NEF -;1@];DK': M6"ZTPQHK5!S7:!(\EF(=GN2QPY:46XT[X93%LF% Y\-JJSJ(0G6)/#%.&5.F M([T+N)3I:E:B,A6R"]3RZ.W,6+&:L^)BPF6E!A!Z I4528>/'K]]E.E7B.(B MV\"(*8AE&=%L3&*H(M]1RZD9S9B3+$>S16V25?+)3K=99.!>=-0R-\MD:V4] MP7&=<)_J,V J$T2=3QRW3&;,%98FG3[G6N78-#Y/V9T5@[(Y'35M1*ORLI*C M-1;@RG19T2LVD_&:'JT3Q8'JF.S9!:Y8R##3SI*N84VOZ=%"-6/57*X;JZ;9 M8K'1+.B]X@B1'L>/!V#D"U@^FY=D;-[OQ_-53>9%O^G1 .(9<>Z&01+'W':] M$\?T?-F8>TTW ]@[#CO'AG^@G*^%O 8,+R]["_:>A"J;\FMSF!&++6NLTHG) M6!@?R9U8VG'*)Y/UP^7\ MZ7IFP7ISG"&OOK<7[5H0R)MIK]U80QV:+XX9^K?7;&TFZK8IH /QM9-^O<7" M/0J8__GMT=;WU&^.?/T[-I#/5&%F@M^;#[O30@>DZV-?=.SH<8.VX6__-%:P M+7WSP#^*]9[LG=CNW+Q8MWD^$H]C$9SRSEXM8S.T]2MQ7V8^?2$DAD7BK^88 MV#E@W7FE#E\SA,N[.:'=_.W=YOGMGWHCK]N;A\WK\W_OQ9NFP@!*)23CE<^= M=QJ^_SK'3K# U^_^T@$A[H 0^!MWYP-"7(L06"0:8-,]4(*(4 $A[H$0$)NH M@!#W0 B(3:_F/@\H\3%*O#\+S*=5V7L)7+RHFGAGDX06$WKX?[^BOSX[83H2 MO6UNP?AK<<1O.BW0X1]RO99]ERN[=;G^O__!:>P?$G_R/VR]"X$XW+DXO$9K MGY;'_^Y3=UAL0%X(_6Z=Z:2R M]5B>#>MN/:5;)'MZ(6G-S5,@G3W9T]KE<8]S?91T3]&3)R_TK!#-"51]K%0+ MIEGEBD*_7OE\NB2E(> @XULZ0:Q83@1M%M@N6\K9 M0[WG7 X"@)PBJF1W,L)H0:JXEE@IFBL4Q^%5/G^*T:?RO 7FW_V;?S?2?[[[ M)-\Z[+E&;9M;,/"%[=:[H.T;IQ;?8Y)OG0C<-0-_&XN[X[D64 @0ND [ B&X MB0^ @4)6UX% NFV92+5 P;J;<*\!BC4*3/3SF^C??=XOVNOWHV:?U1SW98@O M]N>E>JZ5.$)=5U- M5JMIIF+0"I$@P<.[+8R2<*.Y6')[#8+V2Q?_=YOVB^![!Q72O^ MJ[ AYO2VKDA\AJ/G[2:IIL,2,QK!L=/OAXT'-/8/"ROZ);\])9UKU0%91P"KWE8.[P,7S!O_'_P'6S9X'3X&,: MV<\NJ[91SWYF8;6[U=7R*.VLES]519DW=,V'6\:R#'E@>SG=+*U'"QK]1'$$T^S>T?9UQ_N4EM? MV@N<:M\][N6>O&XW7YG'@^:;N.76%YB/S.Q3H309;%DU*YBL3 F)*5.)4:?& MUM&(/0L['L<"Q]Q/#:6Y)\_=S5?F\:#G)JZ]#T!/7U*R%;VNNHH[+I2*JS$= MDR0'CMAW[D6IXV1_W\&Y%T3R!)$\021/X 4*(GD>D8&_C=NATI0X#)9)G#33][@Q\(H;AUBZG<][RO/7$KNLQ M2LL+60+>;:ZUSZC 5L BS#0P5H@QDR8SCHYBI?J9W=7$1\H=G,JWN74,85O' M$(T/^^,BY::X3K@U'T3Y>&)>]G+/(J=TA*2#:(/S1QM\%\D_"B ()/]=DO]A M;_$E)+^1FRJ5J4XF,& OK:K!TOJR.4*23Z/:!XGH3XD+.%1LTL%Q_\\X[@_2 M7-P=,EY5)UH+^@ELE(3.&+#\DE!HB6$%O2(4Y5X=)<3WM:+C,E"!;^.''-0' M.2_N#C2NJDZ]#!HU1ZZ"0G[L<'1R&F.:;7G2[3,(-'R%BGJG0O6W%^;Y4B'S MN+_X?K[1#Z3X_QKS;SARY\GFDHLWAK JN+IM_1[*2R"=JHVPD\AU4RG>G\B^ M^N@WHQ*1&/KV[]VO/CL+M&"'%W'0^-!MG)H=ABM@'X(K9(4(3B+9?!)SU*29E#'V: M\BJ+;,KF': ;XY4@.00WOU HK9-QHAE"6LN9\N.T*M#UHE'G_"3V:-NPSN; M.P!#K\"QKOE M5_9-;+=M/?W@J.=:V\O_WNOT-*)O[WM?&?'%U4@&$B1'!_L MP"3:;"Z1%OW%O*<$M>,C\;RG=MXKM06&KG5FM[\L2WCX[ F$_ M8[PPA"_^+:B.X)H;%U$B0N'/6L-F5*3GL<$B1.*OT,[G9]UH3WU:AG>6;*]: MT?IG^P6+-@_?2%V_HPD1>(2^$&&^;I>]RES[2W-JQNNBAE$LFJ 39)S'XP#G M*2%*\G&!BO$"1>(B/A3BN"2BU=^M+#>LUCK-MEV<82F*H*LX/5_5$R>+&@KB M)&&G*!7GFN7EP-*6VB3=KI\J:IAI- 8N%:\OV7FRFXO%NI-22SM9U!"OU-BQ MLA(411!'>&$0G0.\,SI5U+#;4R5MUG':6-4I.*W2N#IJ&>*:C8NEDHU-[X: MG2QJF!$*CB5P;E$1F!27G[?"V6[;.5G4L#0?]);A02:MS"MD&LMF$T:GZ)PL M:BB&23*5&V46;(H>KPBB.Q\KHG.RJ"%9<)AXMDKP;'$R8838K M=[Y>:G!=3.[%7[U:@NX^B[%!9$TD+E2,C8A$\:"HR+;;FQ9CBP6$N -"X)X: M$Q#BYH2 *GI0>>H>"!% TYT0 D)30(<[H -$ID @SDB(,\2GO*7'WHN)?U$@ MOK-)GJ$2&Q5Y['I337EY_3)L@2Q<:)+W4G\+C^ /7W_K?&78?C0?Q!Z=#\Y? MA\V'OUL'9IV[#EOL]E.Z1:P9=9J4-X^_.GNLF>_MN,>I/DH9-N)DV(9J=HM< M8<'%E"EIE)-2;S2FG/K%:C US=)BBI$6S=*N7%_4$K,2GG'\,FP$_81=.'?4 MCX6)^Q2=2Z#$:0K??*IW4(2-.!E\PR2(J=5IM1*8S&@Y99"DN+E]N2)L8:98 MC$>I<4)II&@Q53;!-+E?M931&&[G,!-O+"UT=_+&K\Q&F_:+C?#VA< 0\N:YI_%0^: M-)5U2OGA4IF"*<>GNDXM-6-V*JO%OY?I_N@EU7Z$"87?](#O'A9AK6\%%9#N M2OFZ2 6D97%ICY.U)L.F)A6\/U=$61N/_(IJ9.*R. M^Y2OVP//CPF@N5MM[^N84DY65[X#Q@PB01XT N8M] M[78!#V/'RUO-ZJ(3^G_4\7Z(^$E$?9UII-Y%?C+:5T8*H@0M$#7P3N3\*! CD_EUR_V'O\"7D7@X3-9Y/US5N.LG) MHE*W:ZQ87]=%PR/X.X*WOX=I?M&Z:#_50GF$8_L@[<2] >-5%:*7*QP5 44[ MF5B!X8J=7DU+]<+N//%<%BT1Y*#XJ0?N00Z*>X.,J^I2KU12Q!H]FY12%MN9 M0BVJ%9-3===9%T6#VM0[(",HBA841?MP43137@8ET"*B04VTJ_#.AS>Z^^ =.T<2$[>FV%AG,6D, MN&C=S/+.KS]Q//X4Q5YV,ER;=RY;$VVWDLZI)V?7WS9;[UJ#@RL1\L?WDA*W MOVKK;?ZYDLX[;8"]/9E J=7]Y#@K)'7Z+[@O_AC8#,-"GHZ]]/O>N8J& DVJ+#>'D]CY*LU5- M%7/54IIM-+UGL7]";)W+MWK;'+*7YL/CI8%\@52 MW497X5!,"1H[GKX9FB@ M0UA%4BO)!A13W4 JC*A"699"EJ-#\1W9\*_0W!8,J-G _D3!',/6R/;0)/,I M! 1Q')(UKW?!PS'4W?]>S=U!\23F_['F\G7G<'#,4C9Y8;3DJ^C[.K[]H@R0 MWL:GR%&^TYOD=6P^-+19;6BIF]_?'N@=7NI51O' M:+O.#V?]8CY><,ZE:7ML^LZM81VHM08Y[W_'VP0T)B ;.< H9D@0][3_6_6 M8(64Z8^"XP488Y<7)*AL>](F":X+X!2U0X;8]%H37+23I>$/6GH2U.#\TH+K MI>5G-*D'?[O##-DA$U]$W6J)DPDC4\TPH74JWTM6&Z;"VS4Q,*D4QLTG]*@O4C$XJ[A"OU+ YP=CS MJ"RQ'08NT![8':Y/)/1>G"2_(4Z2N^) OD%M\E@<,$=UL*S-S#E +%ULU5+# M-O-I/_*G<3)G%4D.9-4^:_>9:KU7C?%5T4$X240_C9.E7JXW777;%%9,#!R. MQ7)%B:__$)R\%&-< 0;/ MUB<2NI$:6[,-TQ8@)D*&1KXM8"+K3S;'$%]GACXRA*E'.\&VQKHAKP3?.P:_ M0DLCA09NB#%&@O8*8.\!.P3LF6V(8W2;?\=V]=UJSP(7DMZK7F]=A?XP)=3 M^Y7?-YR690 !&EFNW_/NCF1Z$>VR+KTRQCMTKN4KF0_ O@?XC><9^=.O>?/V MK]R=!/WR(IVRA57+Q=SD0)\VE;KKEB ;1Y]H[(1VO%[N'3&_)Y?255:,8 A= MK\22@+4'8ZS9:E5I<0&1$:<33['X<0ZQ%UTW@JJB_01QI#X#6@@*KP*L)S2! M'7\SQ%O1_[4P@^*XA#.Q !2,-S2;&]19B+YC[2&6'ZU[7D-N/+CT[%*43= 2 MEKN4: NJ#;:$H'<(46&9+%=8"5TEC+O38K*K2'UIY-EUQT2 $*O"#T\AN+@7 M40H9DZ\.=Q:,Z&2XGD1EEZS +2J+9")#UO5/G_1Y_%A#K'"2)P=%O3?G%B#' M->=ZQ>>4D&V@M_*"H2/[Y^_WR_Y\F3Y$NSTL=O&[^'E=XCQB\SSRK1%C-\ M?QCCIEB?IWKF6>NZ[L\=ZB6MWN]DJ5JG?# M$[6-R;U)4.H1!JC'9*I"/7ST,EUB6BH;RRT+3=9-QZ.5!$U*0@Y*)QV/8,=9 M$#SEP3O]7@(#[:9K D ^_AM](RQ#SO.KD;\$+J(&?#J@;_:.Q[>]^!J?#CM> MTS$\\+1F+X5HR 26I?IINB*A=XGCOA<(VA!22-.MM5B&T*,7N M-S[2AB6[! M13?]2;_WI8?A!INWVP^M_R.>;*U-'V\K;&ZI 5D//:AZM&0WI(2F;!41\IF1 M&2\1[$GN$TO"A"K&N!5;Y05R.%(=@DG54:TK[(D^Y3[_#@;"99=THK@VD6M9 M#BLG:?%6M2CR#3IR?XM%7<7;?PMW??I\\5Y4WSD^(L!GQX[SVO17_%3;A M8TZFK:;=3,;&9(+++W1[WJSWZX@(*-Q+V&FY6MAX>T VNAR-=U:S!IF92W74 M,G'84I7L<-CAAH!-M4HJVZ\5!J6F TE[U*=*Y/+=4JXJLT4MD1%S9&Q)%U'+ MZ&'+6FI*SVKQY4P1[+S#8.TQ1!0&MCQZ>]E=65*A,(QSG7)T;M#-]BIEHS[Q MH]?+=J_?:Y5[%.71&+=2).((M MJ:/7I]3V.+RFZN)<5I1"$RJSO-J2A63J%/\Z/W4&!06-:4T9>V&86;;.!^=E!F> M.IX3Z$]*&M-))Y2LLM*+;'?$5/,H:_:FY87/U%.ZANJ.^CTU9%-Y[3C=%/(8 M)K6$/ >F%K]P:W&CK:U!1-9L*)?6*^UXU R_T.'[1U3:6Y['4]OS^!37;%7+ M;".4JE92;*758%KY:J5YP\/X%MRUI\)$-V3+]0#QQ$D2I*$W(0&I]P98 $AV M$WY0D3,%8B141;T- '(5\FJB+F:Z T%1UB3X?H2NP%AX/A<3C!#F1T+HO4-= M574'*4VF. :2K2+5"IA(Z?$[@3"+$IR.@*^TG!H%TEZ\);%G/V:P.]P2R.D0BF731OQD!^8&/A5(!E68+ M+TDJ5NV/HH"20)5%"3MPG?Z9Z::,6.:W M)XM0:3GH*>]M4&$ ILBUP,-%+WRC9:?A^SO"CWM?_?O&.#18-"'$'A, C MT41 B'L@!,3R>$").Z $$8D&V'0/A, C=$"'>Z #%L%?S7(44"* IH 0 2&" M/>+GT@&JKX$A<0^4"*#I3@@10-.=T"%07^^$$@$TG9<0[\_^]C[W]U5FO7O4 M=Z4LU:_[FL]^R(?.CH!QL XOGW>B*>,T]L_QO]MSR,T"B+J*5N7_?D5_?78Q MHI'$;4MHQK^X6"WOT+#L'Q:RV\-"?\5(_.F%I;L,8CT0[SSR IP31,XC0_1# MRU!37OXL";I\BOA@A[TG&I\-)(C/@@0.S;_;EFG^*DCXM^ ? P2^.M>/:V!? M88S841F"1V,,\E$8X^K($:S#.1$T\>B"$B!H@* !@EY:X;YULN[:Z?#JLZG6 MMY[?+9*1H[C$'SAO/PSPOHJL?;)Z]\PV *]VB=DXGN55I1,3\]-:MU%,Y%^Z M]'8ZMYAI6'S-T"5;M*I&TY>M;=H<3_3R:\E;?[G)G;-)MG-TP2;I)H$FCE$Z M"J^C3<.FH *SX=]EJ #K[6Y:[@SL]; >YU'3=5=:>[*1*N1';ZEM;VC@VXMY86*;(EV@R\YD8K5J"ETD2_5NO69U.71YB_SU M)T9'CF_"GVU_NK4@_W462*)O/Y&;(!)^FP)!=X1(!]=POQ$B)2UAB8WE6$II M6ER_5NP))48<70N16'/13BY=*L?1M"T/Q%9RH*08B$@T1"0J0*0[G,T<(^,:(&V&&B+9X.D[ZLMNJ ODF$\D^4 E1@F M+=7)%N=7@R2&*KFQ*5L#6+'8GKJEGIL=RLA^Q9$!"R7N1T#2 \0DK/E9%E0O M381EV+Z@G=TQ^MW1](W;V1>8Y.;4YER>S)\ ^Y]P6SY+2&I'0.X>_TF9'BKZ M.#=GJ[BAE;B>6NY>3R5=B5P*9Z/]AB+7$I44V;*4]+".TL__^D/@D<3EX/_; MX\RK5U7N'&9>O]WQ[6#F(]KE@\*,TG,6<3.9S+-">3$M)2=I(3>YFE,RL^Q* M+)5JE+'LI-0B!ZQMIHL.A!D:P@P9(0*8N>M)WJ5S\F'!]?5;O=\'7#_A37Q0 M<)V-F6RV(Q4LOE8OENJCR"X(KIEC/Z1.52S?SL:CA3D3/S2C[, M<4IGE!Q,F@S?D7FDQ"%?(1$]40/CA^',8T9:MH *4+I\*(_BNH*7K T-P1<+ M*(U!\.5W";X\MR?RAYY)?<(Y>21D^3T1N_N=IU1WPNEBRJ)9V<#*Q52*3J]& M]6OM/$.*F ]3!K-4BDZ.,/5..ZR8#J0#W'B^]1G5#XW[.;<6_+-QZB.*\:/C M%"FWPUB&K539*LVW.L-5M+O K^;F3-C](M\R-)J=8\UT?,'DK7X?E;U ;LY+ MVN&W%MA;.3[O2[ #P [B+Z_M,7UTP(XE4^:PQZ327#,V6?$#=L:M)E=S:2PT M65D.ZZ,E&TZQK%%(9AM1880V3@QIEA<\_KZUQ 9 %6B65W6Y/CI0F>U"=AKO MDJ92;3-BTXCB;#EW-0NX)_3T C-O1;FBV^H-U$YSIC219NGY7B_I>KVUQ'[- M&_NW5WKISU&1PL>H&W7I8FGQD\72#HNC3773"IGPY_(0Z6BJNS5;G]__=3-^_A%M.2VU#J148I\HQHGNSW'U;[OS>?4 M>MXO05+#<)(QI32-A:9%LNE>-GY]<VXYWMKZ=[98V6HW]#UBA* M%*@..<9D4TVCV8E70".[9*['&@MGF%GTZ[R*T2LI%HV6A$H?U3D3(=4W5D<*Y*95C:; MBD]YM@[YXSBJ]*\7JZSZY5HOK/F0U]5\'OC.W%L\E]"8:MY4]!XVSR7PCU=)?#VR[%-6N M<7C6E**=*VH^M6Z[3RN]6A:C1X/6($U$62WFH-LWM]!\/LD:WU/S*:<3' _F MW)!KMK.=#EBRFIETKJCY4$ZTF97H+B>X4;)!VE:5<.LHU^&--)_/[ M=\FRH82I,)6A2$&-Y:]HNRTXJSUO"=D> M)C23_5RL2J74,-KACE/A7%+Y^1IK?$_E1VBW4DD*V#%HZF2K7:-5G>;$:[)& MS=6)Q"(7Y;(+)C-K]:=ALPKU8OPXC.K"RL\7N>.;*C\ZEI:!T;=(C)A/,F2] MQJ8Q_8IV4ZD5&UC5))_@Y&8;M[4QE6%FT!3'3RG'EW7[O*KW7,OI\_B)DM[B MN$&A.!:'_,+&FDG9P8MANA-O7T'O(0!;&9;K,4KI6)1 BI8['**SB<_J/1]! MJW/SPAE5G:_>H?LP_0VW#L3T8M)5Y.YR3F'=I-HTKG#<&>MTAO5TL9S"Y&I\ M52A3N1KIV@OOQ&GJ8M&]Q&^PUNNT$9LKM,#)]57:ZY^%?9(UOJOHJ5I@FYK%L M#A/866F0"IILFNN41TJC?DWWL,"L'"H=S6)"LY\<:!01B\:8%]CD#?=P MR(^K/(BB] MG[]0#%U4@&"BP=+P.,=S4DB)1>.$E"H*_6$:)H)YCH=?!C3A] M6/3[7WO%S+>1KF%15W7C]Z;LUA!?Z.@)AOU:Z,(0O_BVHCN":ZUG& M$A%J6U'K][9T%EJ'$(Y%B,1?H9W/:#V.%G,J+,,[2[8.M0VK8&C]7O]L\\SP M2[NO'[Y1M'U-&4N?_2;P"'TAPGP]B/=5YMI?FE,SAKR*,$O6;$]D_$CJ 6\* M>0R36D*> U.+7[BUN-'6'!XUQ2_!E0(;>G7HJG[?C^Z1\E!G-8BQ7 MJ'/N#,?)L@05$[C.I5*82HT$]0$!9H1QS55'N&PXCZ)W&4+ M7,8B0 &3U6X_P8=;F)F_(I'SK6B7K3=(!JLJAM@BAZT&UW@A'.=1CAWND]*9 M3E@NV5I:9XLQKEZ8I#L30[BBB0VLDK/0\Y#3;&6\) ERWL\D7SI@@NHQ\O2+ MN@%1?*9K2.O:5YC7VW5(,%'CO;,\IKCF>EEE!FO*&FNW%Z.C+EUINN;\?T/&[[.^\DJO7%%SN M<(38$Z>%F#1KIJ[HCB6JG*0S#M-0['"A:2OM85="?G[\.,'0M7QN'R?RO>_O MS<9R/,(!<-C44%MIT46^,$U>$?75&EOO5X-Z*6V@)&UF69*YJE3H:I#N-2'J+.4%[< MF6YQ ]_!12E.UXJ8(,27;6P>UX2.E".M'GE%>S+E=@I-T5 S;+//:BIN=(VZ M-KJ54G$#I\%%J5M=V+853\3""A'+YD:%;HT"S2M2-TF2A5%*:38P6NF+*2Z. M%=GRS53&F[@*+DK?&-\TI?ZJ[6(NIRB$[72TIG-%'2(_[-:Z(H45L4XMK,=S MXWB8<)G3/H*[I6]&MXW[)*_1Z[!D;:&VL68L+6O#7*>;FEQ1? O:C,NU+6S) M-E=9.TLU,C0VJ-_P(/VS%(9JQ'U2>-:@NC29B'45EQI0V*052QK7#)7 :8;B MDR7<5<(%N.XVI4W'[5?.P+_BY+LW5?S+[KZ+IV:I 2+QU),REFXI?QB94-=C3P1;7G7GI][5<:9MC7K MRI;M8$U\HC9K.E?(IZ](X$FS.*PUVSU;:7:)I96HI!.NC@C\PG78KSE\M@%1 MNT$F?_XK>./AA2&0P#">X =1'.()(X*1 X8DH+:"8'V'SBY;( MEV<]-S>+Y7*L3:>[M79AD;+D$>00[+!EOVK1L8J2&7 "(U2=N ED,H=:$HS[XR%DO+$EVR:&0Y3 MZB+'3LFL*KOSIL1E'%39^VCVI5R-ER5J.,P65_T$ZA0_&FFTK>?( M3"8I*,2@1J7Q^IB+I[U>CQ8J&]5FA9G$:ZR=M8QYT:(F'1V5ECU:J+EH"4T- MX&7.YB;S%IT&"7:37>BMC!A3K?Y+B;QA1K#T\>="HV&$AY/W"@[ M;UB&VL*E?*E;AQK[4#PB>,^TP31[2[F%<"F MK"(UG,684C@]@BV/YMZK32@FG]&S2C:>D%1E7@"Y)6IYQ'K40%.=K*3DE6P^ M-B*;H*^G& :V/&(]L575W=QHI2M$1J\VA'1T,"+1.(]9K]%::*L&,3:53KZ% M,9->@6&J#H]CQW/BZ([#J5&CJ$RUU32UJ*NE%5Q[_ 0^VMDKRLJ6FOEL&2>'BV/9Z)8\ #>M.>(&;5]E439Y/Y,*B ME/1[/2)!5^[T$S@!5@IA]!?6K,YPX78=-3T6_^Y@E6XF&S@6GOC^EEM!F;M,OY,$?TQ]%,MCTJNAVO MVV.QLK.C%C4SLAUV.L[)?,_HI\J,W_:("J5Z)EW&^54< MCQ8OU;@LS4D4F\(Q0R*5J:KTX2JM2K MZ\JQY'"E%3B!KX7+W*C<2,U'J.D1<6794*=$PIY@1!L;=?KIMER#* R;'A.W MD(LF.4N&N[HQ[N2[6;P\JGH#.*;8U'4[T5[;GK)RR]5'"\G,%/W!'E-AE!*M M%*B-6EAQ5A-RAF'&*+BWXB=0JT1PW=2H5LQPQ$1P5[U$JSCLP]&> *-AH@;B M;+93XL!XDNG':E@LAQ@\<8(*,5=81 5*;W-$1\))/3J/\2K4+9[Q8"\$_2/. M%-7L%KG"@HLI4](H)Z7>:$PY]4.ULPE&4ZAE-L!,-Z!:-TK+IJCJ)M3Q6_ ] M2547E5^;4.*TGLX-Q*9<8>5:GTFGLX::+M5]I1]JA$!BK%?:K4..0P#JLC,X M LNPP06BKP_."_\[V.O?\>/9![HJ^<>.4!O7_64\"((__%:5-?#;UB1@H$]' M7WLO^>UIT_"ME6J+#>'1D'?%&O\GU&2S9;;2"C786K71RE>RH?_^/;A.SN/C M)5F3?,>ZAQ2<0IO >PAU?T$+>5<+9H9L N^:IG]U4X*\80 +/I(U:"J@.Y^R MYALX7L"Y&1(6@JQZT5[66+#0$[ 05'M]PV)DJX*ANJ&!Z]DBA]?0Q;$,AB&P M!**-8MKA2(:RZ%\C M@48>>E7( L(4]K23,@::KMX8T LW=VJ?O+^F@KNY:A^:ZH:WY-I[C?CUW'AW ML8RIP*VS6-&:U!(QQV:KG?J'G+8OX(8\DC UH/89RO$YMZ]#LA$(LK, M "7RN0&DLP8L])TP$F0-?GULU@M3/_AR;?,_OP5%OZ &_Y^],VU2E,GZ_OOG M4QAU+S$3H3WL2\_<'8&(^X:*VQL"%!%!4!91/_T#:'57MW:57:V"F!'7U%17 M44+F.?GCY#]/G@Q_JKU]@%?/^I(I_E3:,_*Z=ZM<97_^H.\/Z@>^G?GO"[U1 MZ!;$C;0<8_,VY0I2R1N/* />X8CZQ\L'['=)([BNXBI+YR=-YVVWEQH3X*5TBA_^!I'/<;5>TK25[U,D'P=!_U96X M;3AX WLP$9Z4:4_:?G=QXHV+-Z#>T*VMFEM.FSORKFR76MR2?_EVJ][]?=W? MO^K=3KWI%/AFP^>0QG"!.EU3]-M^[+U;F QWW95?V>I+%3(J4C =R"W#)9,O MIXE39Q1SS3"";_YXX*#O#AS3"E\+P:^#=^R7N,($;QG\+GJ7R8H1O&)#]@3O M8S? SAN0!MSQC.,+ZD=<\+I#+1.XBO0*HG?>M=_?D-]?NK,_!%%T2=BQA_=Z M>!,$^G MMP[+)W-EZAE*:_9K@%[Y$7'E=\=?GH;J>6LUYRI5P=+9?C7, M6U'.F?ANKG MK[MMJ'[C0T2.P=MQCVNT'S4,[0UIY2A?7[]Y^U#ACM#C X7[+"-;FJ^/==A^ M*GFN]?J#P][3Z"<_;5%]L?A;.O M9_!W(ZWT&QQ+M,%[BJ%,K"6P]I50?EMKOU^__,,..;'_'_80< K@%#_WT.?" MW&-*T3'HAU?;3)02F7G=.)!@7H8)_@FS$E[E/"(^G6D')IP^O4F M0>X#V_WU[!!@Z$LB7&#HN[W\8C0T!@S]!(8^Q"\/;.@H@1U8.>56CDK4_#*8 M+X]./T@._W'.T]?_FDP493:[[WSFN%''N5KD$7>#/G6ZT]]G#L;=[/^^0D,. M*S4QM.3-Z(PV9[S=]X3^=&K:3]9]VY"5K41+0\$UF4OWV=YO[]W);ME?*EX% MC^1&FXSSQZU6K]==="IEFZ '2G,]V@DYR*Q726'(M5<_G5600^^T=P]]^5YW MI:!P>LRI /JZ 1 M+]\P.DM@I]7YKJU6QSTX8V$2''^[ 932#:7CV=,"39RN_ MX*E!#IFUO)BM]-T>)4==IM>G^+CQQ&*$.Y5UTH;8_GPM3>7>$-'"F(E^^89F MB3.%W@&= )T>:/IVJ+F%_!OX*_#71_#7)+Y-B545+TL8/]=;5<=I"35IS#?] MF-]_.4;@I!9"#X]F/@OUOP_77+C!F.! M_:4.V",LXB:$9+&N"YSVP9GUC[]"6\QM>VS.I4U6#3'1FAUQ>P:A6V3*5_LB MPNO>LM[*[RO[W" 7%AX/!5,@ZJCH(&J GE 61;,(=..EFEB3>.\Y:P/H >AY5HGT(P@5JRW- MFPR1F>[U9;]:[7?(>2N,?^A@!IG%2!(P"# H+1.NJPNAP'>![S[Q^_/*HNA' M[ZJR3L,S0EK;@D9T616!.1[918>$X<%DG<:S-'Q!R)R:)-*2;3E.9F5;,\T% MR5N/G;QU;:R!Y9T$S@3N*'M&;&A':#@#TL5XO63%7&L#[0;BJF Z [??"(]0 M1(.@'\WBR(VC?L"9A^<,2,I*+F?B$#O?!\Z0J1,8.T(]07/TWI8M;6R$Y8,^ M(EZ^$5D,)("F-F4% .<)@!.OQ/D^>IAB8UE95^>PH.4$NHI"BUG-8X+>HH,Y M8Q9&"8 >@)Z'GU.!%$_@M _GM$E\7UY9TGS_W=08YG,&:>1&4'?:7F1-Z4 :QIPR/W&&.V#F7(;6#LW5Y?VX#M78GE4;W__K 'O-0#N)PAL3RL3WBM M46&$$J*51YS;&U1L->R6 ,1$%D5O+'@!,#U/LT$J8G+!%(=(?QFA&!*C2^@Z MKP@*6T)&4P:K[0P_Z)^PW,-==EH_WTA-1DX7(!0@5%*D^,M8-1?H_*S;WE:Y MY43JH#)$*E@Q9!4=L(H I *D2O,D+R3//Q)'GKL)Z.<1$714\#EG6%%M;+D- M.6O#D-0U(R@1M^[UL_D\ "@"*%(#B 4*:*ROEEX4/F@DMRDRK78=R M95_N5T?-AL^%8DPDBU-9XI+)SF/FM4>'$V:TJ'>R&5.Y7F6.E(_OY*6"@E)# M">)8ZE3MD!-!)&?]#-3?+S7NX3*^Y>TV 74W,)E7(-[N*ZI(A0(WEB6AVY?L M !Z5 ]6IKFP]7I>W\R^:R)-N_WRM-Z]].^7F-6/O_TC:M*1&/7TO$.M!LW MA[7^IIP;F^$;-SP7[.%3 0&RP 0@982ZGT+ZIRCIYI=5B<(V&\'+=1%FVF?L M/NT'* DU4HK&'IXF !X '@F&Q[55T#\=_YO)4L?6$XO3D6+)5S>MJ:"7^'#\ MXR_?\"P!74" E*8)RTK0[;*AQ,/& MFYYC&7M3'QN5:1-:?RQ4O1ZVJ9E>\.RM[SL3\A&!#M?U0OYP6]>6 B_23,G> M1W^$##H;IT^3MC_4$ M%$P.&L#$%Z14WQ@_OTW-ILML;886JZ90Z\UJ-;A=9N>0&G H7': LR1T6IT MI&8_>FHVJ"">JK6&^T8NPU9APK?G Y8;+-GRI+C?R7V6"8F!OWQ#L"Q"P6G- MW*Y\7X%X+3P.,B?_0']+>1L/,$QY(X&WIJ2-!Z4DY8U\HLR6E#<2N&MZ&OD$ M[OHLL<"SN&O!%&(HFXD06HB[8@9":C,&FXAX3!$&6#"C6]R J9NSF!F[^1,V.K>);[.8& M:TW/U&[@Y\_6[N?T\R<.6X"?)RJK!R0P/:=8<3BU_#<5WI:.)K+\H&A""%)L M](P&(4Y@583AUQ)O,'W/DT]2#P>P+IN*-C[+R@'PUC2T$2S+IJ>13[ L"]PU M/8U\ G=]EE@ N&LJ&OE([IJ:A6]F:06/O8]F_1EKEM%,5S)5339 D1Q0+^)) MI+;K%@,&#I\D+P E AY$6TYM@92W;]C6K/+]_4[YK<*[1]UQ$TW,^ MKCFMFB>41%6$T;#(R26B-U@: TMC:<;7U8OW X]/CAN "!5X//#XI_?X)(:H M5TY_^./ $"'JSGJ5:ZH"L6!Z]A8UVU.2"0/#,"4BO>D0!24P^D2+.@JL'G_Z MK*FXT19;BF/:W-#D#V7:C/VN/$,D3=HUE=[G+]2R]'/H-P/048#IWH!@ 4Q+!%(=B^ &A\'P>;ZNR87$EISF;R'.B:DI\2"@B M+ %_^^*?*1^*92AJU[?#P M2'>7S:P,R70S@5TSRMK35B&U,^'MHU@1)+VE/.DM094%8N^8QV9IVI3XX[VC M4G4!C8*I*G.D4L^J6Z9:US;*]+>KH0-QT#9*;8T4I!P\MYMUO+A$@A@0CX3Z M+(W=^"PP@+PDC>QDJ&4)[!B O$1J_'_'/H8O-#!TL+ X1<0DW2N;K_[L7\B979*:YFI(V@!%IZ&OD$-:6 NZ:GD4_@ MKO>)!=Z9\@#_!?Z;>/\%)?Q^Z@'6L^THI2N:EX/DAI0G-X *$3'*<8PCMF9) M2LE:;QQJ-9/L-E3;4II5&7<9F/Z+8F410XY$.2/Q+5#)ZY2FI,AIMH3,AE2W MTD=5$2;#I"N,)+(TC("T*T FD$WP%&2Z*'-J)4^$4MY'>IQ'\E.V/S,(F#S(!G7?D$B'HV1/UA MAE-E66Y7RO#*%P;CAE^RMK[I]6X'*V3"Y74W-S:YM=(1JC-,K7$6$\**#N*I M+ 8!5@%6@8G>0[#J]YNC%RUKH\D8AW,MF,;)W3P/+4=_43CP ZCTVWW:V3>[ M.2ZW[[#+>9M<#P\14+0[&J6R&''C61K@2J(&&^!*4KF"#(K":(J5MIPD;)J; M/%U$>>N&:.AI%8?Q1[K>ZC3@Z0Q1BNHXTF_"%"V"Q+(T?D%-EL=,TGH5R@U- MBEB@7?&,F_2C+0&E$!*QNA5[+SP8X=(FD==_T./WG*U/9NX*DEIK+J>U9LT= M1L)%.N L%>KD*!7,[,C;;T].^7 $3 )E^I+,I#C$\8O@U+=9'OXFB%^$$Z7=ZVFSC;/6D7X[S\ B9I6D M"">1*I[%H=MKXBD?28 G@"<)$<(O4VD@%-\T*B8LY-2F;# 3UV#J?(2$L%PH MC&=AY(*I4&HRR4N6-?4UPP"9FBG/U 0%(!Z6DVF3TU^9TI52PV=[9:Q M-NRN\6J#"5%&O'RCLQAQ>\7]*4GV"/E8 &4 9@GJ;\;O!F!\I'A\).*-?V69^IVW:UN3 M5E!;RLO"SK1XK$':M24>O5VC:II4%D+O>9S570=(SW(EX]H%35(^Q$$Z)%A[ M2_(TYNY53,XPU>LJ&YYR,$YO6?F+^3$WF7JZNN9#(!$OWT@X2U(@%1LD)0$@ MI1E(2:A0<@9-4*\CM*K6SH368\IA]/QJ0'74$$UT@*8L=(=3YE(^)@&9P)0M M#>G7OT4((G;&E7S>8CC-V/[S(Q%,D.'7Y^?)3O_AP^TG'0 M0]#_W,1K)\%;0K%?^P#!?OCLT6_#O<&KUZ>.OOZ_MP__8XDI-[$,R_[Z.O+> MM&JNA$/C*Q(-0E7)R;8BZ3EI%MSXJV3XTLYYG;307[#O;/OZ??2&_9"!H2\( M_3^9-]^'_7'2F4MIFWO39<=!GS.4F?OU^&>O/XL&[/_R+46ANC?G/49ER!57AYOQ!Z,UW@15B$?KUR MPJ!L@>[M7*XUMO8:LLE;8]0/S[O[]4I(JI)EM+\1(7;10B9F7]FJF_!*_->?*+!3SI@@A\-:JL$JQOM:"P.?T.5NS MAF#L,:2H2]V]26VEF=PMAU>>/*?FS[N>12BNGNNNNS6WH$Q+"A]<"<,GW<2M MQH;!M%E.*UFL/;.=WGZDAI=BOU[:YZU^H:X0FI ;2\49-Z+V95D5T=/6-ZD: M6B9&%!>\*]S\=I27+6/ !%>>M'[-!;/%XFH^T;OT;B"6)Q.]U>>#*T]:GQ^0 MO0%C&3"G-?EQ@^AL%H-->/>3UN\$OD7.7,/D)TP_%]TX-12T;U9$ISF#V?E]1\TP0'YS>7N[95:A5F4&# M_B#X-&V@*E5&I$ZOK-%CI^.7?00J.9."I37)<8%1Q:BVQ,]7,E!W/R@W\CZD M3#90 R7460OQ1?KT,[M;:&_JBSDF*)MZ4=TS=5^K\\&5)VT?MSRD3HZ)!:=@ M=ET11@6YK*G!E:> **#+9<%;4H)GSM=68\#Z&L0$5YZXWJH]9GEM*4 <46($ MC1]3HNB%=S]UO4K7[TE^$,OI&E%6D#H_-[56P"?HM$VV.*:JZQUJ0AY$HRHD MR\I8"2X]PTQ:QY*[KTI%MGJ_R.Z#>G?:$E#?J%+JLS M@RD37HK^>FEAX"'COC+><[E<:.//1U6FZ7:*-7V(J4O54.I= BD090. MGWMBA7QN-V4*N&CKRJ#BUHM2=[99!)][AA8CJ.]3FUZY#1&;#3(:BPC-AIUP MA@&PRJGS?8&NZQKC#"!#I3'/;5"2V'RD.ZCBJY@*JT/>6( ,=&.[Y,^R.U@NE&? MV[HPZ ;%<+YER -;?)VJ1P#NIU!9K,'Y7:.;F\X8CQB"CI?5HGI^0#+W_>E!N)T\L+ QMW>SF3W M*,R<"["HW=Q31K.%QRTK57+0+X\(@3X?8(T:HUK.*S16^F"M$BU1(7:-NG\N MP&+$CJO/FG:56S;FNDLL"-OVS@98*$+U$:XIS"&%]:G:?ENO,[9_+L!2N'Y? MLO+3*M?MJ;!CR8@Q=/ES81/3,:8(7=4G$%(84=2PU]H/*LRYL DSV]RTM^KN MH+57EWH5AU)7/?Y]TB=Y9[:EME)9+]6S8E,N7 M:);T-BSD.>UY3^**'-57SX9-0[2R0MO&+AB%9;]O00ZK>ZWS8=.\41J0,W'L M0%)SMLJ1O8Y/0_[9L(DL5.8EK-UO6Y=J]9J"X%K\=TNZ:S MQC9L@EI#HK1E5G6]VYX[1+V5@^G2^;"IC=O[R=[?%/6F@DDF>:[W^X""113_Y24E[HZ:%QO/M\*/G-F6/ZK2/;Z[TAA_WH0'OV@ MGS[4^XX2;'3CUTLEV;$,SU7N+/V]N? /5.@?>NU?KK0@7R ,&"(!AH"_( 0P M1 (,\=&IM\ 0 $W/90B IH08@OR"O[OC !@"H.FY# '0E!!# #0EQ! 30DQ M!$!30@P1H EH34DP1( F'!@B 88(T$0"0R3 $$!KNJXA+J^/6$;XP_][05X^V7SZ@Z @=LM'!392:>N3QM[=^-07ZK;]\;?&_U'5 M()4> Q^POG#KG%@[2M9^]UYQHVW6=T<@+>9?:7<*>@O[ZHQ#^T3GPM[?]Y> M"Z^VF6C_^3UVU_XM+JN>L?O?_X()Z-\HG#U\@T (^BCXI'X=*(-=>-[@Q,/ M;>2H%/0O8_F3T6O,Y? [RD8Q/>4:!:T/3(J[0;'4.B+B;_=_W[(@_Y-7*"IX M=K0])MQX%]8H0L6>];U@$1I_I>I6)<\Q%1TN",%?KT=>F;4+E<]7JCXRH6A; MRZ!9;MB) \V=L\&MK:5B<]N)X84^$%96"OZ;]J3MF?)*#5;CZM."*7&YO&I* MPQ)"3T?A+LOPG$0(SZ+8+:M: Q@].HP.J7@ 1DF$T47EJCV!)3?56=O5D1TE M--B\KC5V?,Q4$C845)&W%5B0,$'J-%%_,67#'>7$RS<4R9+X+4]O!5 "4 )0 M2DC)ZEVM;PS1>G_$=;>$-]D8-$G!<0=-=7@V-J!>$^,D%)N;'9UDW&%8SXP. M\)1%, K0"=#I@Q3A1-/IBN<)'M2QN.T6B[^2\;<;Z VQO4T+-++GA(G2YQ1O MQ]7+WLP:^9\OD'R=-QM(LB'X$(9AH M:X6I7X3TW;# %4MV:5(:\0&$Z !"60R]Y1FC@$&/SZ!X4\#CECW3[[MD_/8% M8D%2WY]7ED _>E>5A_WM2.0X"5KO*FRMJ;6:2#,,F"-Q$R:S!'3!Z^HQ,T1+ MMN4XF95MS307K#(^^"KCM2$&EFX2&/??4>2,X-".V' &F]NQ4YBU9NL9IPD< M0;(#M\F6PI/$PA10*HO@MSQG%X F%: !&5?)!4TCJ4F\[,=I>V MFRTC1 _]\HV"0:0#P .R-T'V9D*R-X$.D"K]\OTWDUPP,<-937O0DN"FR "9 ML!L\?#.%ZB6"9DD,245F9E MZ6AQGF^XX?F[Z,LW/(O3(*4J?22Z?R> W*L'0585)S04\JD[S>JZT M91%3IVAVK ;L(EZ^P5D, ^P"[ +L>AIVQ:NR?IIBC2$Z,;IX11;62X4W;5[. MS0DFH!C]\HU$0#HI8-CSY9T^*,-8RUY9P8 =+&P_^,+V_=L-%A.3.RF\HP;__6$/?*D'=#G#W55W M0DZ&_18'$1[IK?$U5N7':M@M 7:1+(&#\K* 3%?6K@"9$DBF.*3VRQ#ERQT< MFZT<7V#[>!_S>P4/$D-$$5$U1_3V%5Z>;Z0"0@%")8U0\0KJ%X932R['6K-Y MEUM3U75;S?6A=I4)>BI,7P:@ J"ZLH2>*%"%X/E'XL!S-Q7\/"&"C@H^YPPJ M)*@@4)U53]:1>;4T7^[[HB:'J/B]]OU/D#'^X!GC0 UZD(CFRKKX9='#IDK: M8I/I^1Q2:=WMI'?PW?>GD,_JS._WRO-X=S)5A(>7+S]ZA?Y6I["J MG>V*W!@>I!'C?%?(S^#NE@_>I>%A6K>2* "%TO9*!0F_:9(Z_S0@YZEANUB4 MNHZ@Y!=(9T/8%L:' 7DH=N+PC5=&0)KO(\,#* +)DS/_=/Q;JYR>)W)6AU.Z M4E'NE1!7KOGA^,?#DG(P?,&1G&G([I65H(^55^G3E;97K*$1=TL3M/C[,RS0 M !93RY,-)1X2WO20Q]B;^MA@3)M4^F-]Z?4D2LWT@F=O?=]1D(\0=+BN%P*( MV[JV%'B19DKV+FI^0/:P"VTKVLQ1"3K35IQS-9&65'G9,[GN7I#6A.]US.+ M[_DB'64/$UF$N/'^+4"]1*'@ZM3[;3I>[$T%U$MD1O%]\0>S_,!OCW([7>N1 M [U*5^^_+P;UM] C60BR=(&U3&*N$6)V'86!4 MM!E $$#P!HG.L3?UX=8P[[8\<%OZ_':ELCS')Y/\>.]Q+809CE?KOH]N^0!# MAXQJY(S("#*J'SVC&M3@3M7*PGT#%Z\%JZ^V'2-.*'')'Z1A[0E_)& G=-2R,/NDC*&PG<-2V-!.Z: MED8^B[O>.SR-Q5U!4B!("@13]ZM/W8,I^3$-,*^8ROFCM+IS4]]556<@Y 8R M)3*=!3Y=\2(,'=,!8_0>6/T#1ET>1*.-_6P,_?Z)VQU:% M#?@Y\'/@Y\#/@9^GHUA=_'X.,@,2E;,#]N4\IS9Q.-7[-V77\D-PAU MJ[+B.JRT,&J,",.'- D2Q(7% QZ@#0 L"P E@5 C@!PUR=P5[#HFI9& G=- M2R.!NZ:ED2!'("V-/$S54][(1XI='W-9FUE:P3/NHQE]QIIE--.53%63#5#? M!FSS>Q8=[>J%>('')\<-P.[^!U&.4UO;Y.T[MC6K?'_#,HZCN.=T;0BR=_*B MR]:X];!!TUZ7) 8E7X31L#X)?4'%/8 O@*\TXPN\L(''I[P2Q4T]'B0W),H- MP*3L04+4*R/'Y,RCB!EELVRSB[H7'9ES:"BN_Q9Z/F^U=<3,KW,Z M7H(UFA=A+"J%C-Q^LIWR,0G(]+O#NP"9DDBF. 3"#Q!5A@J[W9IG++WD>_T< M/U[:9H$)$46\?$,("" *( H@ZGD0%6^%X@]@Q6X)VI1J!"YXK?RLY)6,%K'U M0UC1P0SU@JI\@%6 59\YEA"PZH$+#W\ E6D=*^HCWY(@I9MK;[?F4BS(T20M MK!!\XT+ESY)+&/MP NK1XT/ER@KY!USH=^#FK#.T&US.(QRTPO %O'G@0EB/ MB$KMX81M.SS!T=UE,RM#,MU,8,2,LO:T58CH3'C[*"X$Z^-I7Q]/4"VCV#OF ML.^HIER HV!>RARQU+/JEJG6M8TR_>U*I^K,3*=),3:G(/0TMV*6 MZ-A3 ZQ'LCP&ZMC"6P8P#Q$JGG_QWZH-XRWQU-QF-]T!JCDZK(+<Z7G3R7@Y*ZX#2.L]0JP2XZ].[*RAKL):R1CYFPQ7JV':5F11-L(%.G7:8&51QB%-881VS-DI1:M<$JW0HV M6E/<+J^,<]U9'A'QOR@H%D'DB)0S8IW094KEZFS9TXGZ")^O!-WQ:[P(DV'R M% K369B^0*\#: )H GD!:4#313E00M-8SK5=@]2][J B"_9N/Q_^16V;#QC% M=/& M-Y@5QGF(77M2^W:PZNSSAK@YU0ICF\IJI\WC.#V%%A\>>(R0*6 58]=PI M1H_"JM_O:1[UX;F57V*LL!OV ^H@_IQ7;C=+:T,(;%OYB<2U(-[$%V;;;U-1 M!!1N:J:(+'1KK( \KD2--2 @)14K7 XCYN4QT>9J/+J#^ZJ#X_+G4Z,_(L.L M $]\RW!)B,B9):.8MTI#.0HWHFW-.)Z%4205"5>OLKBA2=' UZYX[$SZ.08J MP8"B#ZU@#/V!L"MVRP.6:Q'&/(BWJ&A+,85F,0@' MY:D E$ IO11#*0XI_"(Z38EE8U0;>@-HV>]0U5S3W]C!RBVN&B("K5+&OJ M:X8!T@;2GC8 ZC0\+!73IIZ_0N?<@8/UJEK1S=U65\K> '8,VF6&C C3!\T\ MBY$@D1P@[-[:50([!B L&5K[.RS3Z#:QLH83F5/ZN@(H2\Z(!2@#*'L09?X=J"EH3MEC@Y+&:59S5EVJTSY1]T.HA<=M@2TT M@&CWENP3V#&@3B;(KXZ_8X#^DDQ5^IVW*]-F\Y7YC!SHRJ*O#EK#U9:M1O)' MI$5360B]8(O& ^1A]RQ7,H[%23)@I1ZLU(.5M13,6NY>DN0,0I?$VLS+&-83 M"*HY&*R:#FSX:M )42T2C,C"] 5;60"( (A 8N/#@BB^ B1GB+3N8;0^'[;K MPGJP; Y;[4$9MR(B$2_?"#0+D1@ $@ 2 %**@92$&&D5N7*F6AE9,FVJYD M,WX]0DA4583.PB1(J08IU4#X28=X_5L.] 2QU^S HXG@V:%?WWIXO;GP\H>* M^O#U$XZC9F(9AK1RE*^OW[Q]!B+X[+D2NO37I;3-14YE?A]$.4.9N6]'52[R M_N@G1TI!T/^$3^[:KW<]?AI\:-&G!_Z'"Q13;7/FEE9PFYEA^:^]]/KO:.A] ME6U%TG-^T"__7EE.="[95ULQ@O?L1OGE,X^LB6[\>JDD!Z]ESU5^:7LB/>%? M05N^?[UIR X,<2=#?'2H"3#$G0SQT4D6P! 3<]E"("FA!CBHR/,@"$ FI[+ M$ !-"3$$0%-"# '0E!!# #0EQ! ?G:0)#'$_-+V[L@,,<3\TO7LB*3 $T)H> MTA")VR=!_;Q:-5%,5[%_Z0;YIYOX!SO+EC$-?MG5MIE&\..YD^',J3+-_.=? MVOH:MJ2_4;9O_M[;^ MD=H,#/X4!C^FC@)K7\G:=T@7^\CL?O?_X()Z-\HG#U\@T (]BCXI'X=*(B6.[^F?'';4#:^%_3)/K*',G)4 M\>67L7QY)1IW@Q)4YNZN[;[I*V9;U< B)*3NMY804M-&]?780OT* M(Z)A-1N$PK(0 @JB QA]HNPO@%'L,+JH2HVSVA=P5&J+G(<['H]NUY9!?WX? M]W6HI,X[@\&P01=TR>&*J V+Y7;.#Z@45C9'LR@& R@!* $H/2"4_K!239_N MEUJ[.28).WY(U]5^J3JP/[^]_#IX:M"#.&4P[K,",H#)JBJC8H M"LJ4 SI]HJYXVS0I4U8#3G1FAUY>X:AP]%V-"O5NVNH M)HQ&^E#E3+O!BU@DF6)T%D%P4-42(.=/JN@"Y"00.7'(IQ^QITPBV+)2V!<@ M9#07E>:Z,N(-/V /\?*-@K,020/T /0 ]#PX>N(523^"$+(M8PN'78\$;R+R M"E\NU,=E)H 0_?(-SZ(8*.H-&/1'I;J3S*"K2Z'I]]V36M)I\5V@%B1.%OWH M7>4BND:/!Y.-0, XQTC3;G7DJ<&[*A(\43Q+8)=6C4Y#(FG)MAPGL[*MF>:" MQ<@'7XR\-M? "D\"IP)W%#XC.+0C-IPAZ;@VKF&5HI\7=BN,[UC8%"TSJH@? MSCW,4A#(R0*@ 8E9#PN:..3.#XAC=/T\(;6Z*R;L!\0AWCY!B-9 MA+C]0:MQCSQ '$"=8-RA^Y ]=,">+$V! M73$ /2#/$^1Y)B3/$T@!J5(UWW\W:3)DU%>+[8YKE?.-9F,S*SH"$[R;0DT3 MH[,0=D$6P&/F<'85PPCND,VHBAF$'T8F,&-&FBXU4PO"AJBJ;$;9KA33 ?F= M8+41K-@\S%S@CC+GD2&E T$8<\K\Q _N@(\SW$7GU?V@1HL.U!T)0\&;+2V' M5$4B5$!A-(LBM]_W!5"4_G.(09;6@S K#L7TT_""\F9A-5GA17VI3 N451MJ M&R2$%_'R#S+5%D4!:GJJ5-N MM=XV"S'@!MKC"+[NKC1]X,X$"AN-!Y,U$^ &1L)4=PR^\3(02!=^"MX E2IQ M"ORGD5%"R0U=M1B%TV8+MN/5JYO)+IQGA>(\$LRT6RD!,N3"9Q2WE'"__ZP![[4 [J<0?'(V^!+ MAJNS>G>J4]@67Z)Z00V[)2 QG,4HD+$,R'1EY0N0*8%DBD.HOPQ1AF#.=P-_ M6]4UJ*XN#"?XTZ(?]$]8SR&+(;??2OU\(Q40"A J:82*5XZ_C%7;;9ZH.GRW M!&D%V,\Q!:>Q@<-P*JQZ"UU0-A"0"I#J83.G0_+\(W'DN9N$?AX104<%GW.& M%1O*)WQUP$VY)=WO(YWJ9EQ 0U;\7CC_)TA"?_ D=" '/4A(F2W'1X0R3"9$0"N-X%J8O6$Q[S*SUZ #"C!;U3C9C*M7&>'Z/MGM\@**P6L?# M8^A]9>!9N?1^KP!0/1NH8I:Q_Q19R-SO"[M>D1<0NZ+7.,(I6$,F0!;]\NV" M+"V K =$%JAJ_,"$NI_<_:;*AQ$/'FYX]&GM3'QN6 M:1/.?ZP\OAZ0JIE>\.RM[YM-\A&"#M?U0@!Q6]>6 B_23,G>1-WB1CDIA0UGDDOI;@'J >G^< MJ1E[4P'U$BG6WQ=_A:*WKO57M;&>:U1\=&OF-[V]'^#OF+1^^^-/ ?V2@P1 M/T"_I*P W)>#4RGGY5LZF>,((0_M[&:SER^K 0?#A'CX]L4 063@X9;4/"\ MC!-[4T&2?#SX^6VR_7Q?:)1!*TEY(X&[IJ61P%W3TLAG<==[ MAZ>QN"M('@3)@V V?_79?#!+/Z8+YA53.7^66VGE$*NA:)8Y G?::-%K3B79 M%V$HFHK361R^YTP\;E&KJ;C')$&P2 *J!CV*D!G_"QSX^1.U.[8Z?L#/@9\# M/P=^#OP\'=4.X_=SD#^0J,P>L'WG.>6*PTGSOZG;![78>=\=]V!H8-,0BT[: MO1WKBS!\*-Q'9"'J@E3'QTP6 (L'8/$ 9!( =WT"=P5+LVEI)'#7M#02N&M: M&@DR"=+2R,/L/>6-?*38-36+W\S2"AY['\W[,]8LHYFN9*J:;(!B.6#+X+.H M;9G0 6#D&GE1P..3Y@:@5,"#Z,NI+93R]AW;FE6^OV$9QU'<<^HWD5>%94/J M5X0!0>:YA 7T_.+_#&!AZ?\K(6-_5XD .1*#< L[(' MB5&OG /QQY$ALFI26VQM%*!60Q%LS\,*>=X/(\.HX/,EH>%C)D44E,#J$RWJ M*;#(\?FS+^*&6VP[-.+NA,K')"#3[TX8 V1*(IGB4 T_0-1N9"U+M=V^IJ]]H=5QUQ/+ M6/DAHHB7;Q@.$ 40!1#U1(B*MP;R![#"%T5_*!5:92C7,X0:"_%]QU5#6-%! M/ 4]_DFM %8)Z(5SYR$"6#UP:>,/J,+DH.9<=/WR1<\'%2 ?)4\V_X +,V,[UN:>@NM2$:_*.];&&"92;Z+R1M@%IRRG M)K^S;8=G2;J[;&9E2*:;">R:4=:>M@JIG0EO'\6*8!T][>OH"2J-%'O'/#9, MTZ;%'^\=5:T+F[EJ4BA*2]7 M"S\@?2359Q$8'(L(F'=OO2R!'0.8ETB5_^_@)Q2Y4F$];^R$91%IMCUAOL2; M:@@_(H ?>4&@"] 'T ?0]_3HBW?UX.\@N&V8VX'%8RQ4,W9X':)I 3'.0:1Y_QP!-Z"$$]K][(2\9MM?:LVA;D.;5F9GK M&M"^%$DR4?&^+$%>L.#_F&GJH%P/*->3[/HG[Q^D#/P7^&^RJZ,!_P7^"_P7 M^"_PWWC*_270?Y\E%2_EC7SH^#>:KO[+E61#N;TY?EQ(!;^\]#&#&7>H*&BF M)QVGW*<_F6J;;_\)OKS>:6(HDAU:;GY\G.\*3?A81^>$H/^YB7TFBNDJ]FL_ M(-@/%>:HQ,#4H6714T=?_]_;A_\A,^4FEF'97U^UI#>MFBNA$WQ%(G=3E9QL M*Y*>DV;!C;]*AB_MG%>ZTE\P^#41].MW/2KLAPP,?4'H_\F\^3[LCY/.7$K; MW)LN.[IWSE!F[M?CG[W^+'+-[S^TG$A[^6HK1F"HC1)^^D^?&UG&M59?$?@+ M<2/#_/TX>=>Y?NZ:B9+(HG2I#0E$04C MJ;#WI=>_").$\I5RKX?J)H>00W;@6VMDT.-%6(1^O5)'*$2=8WB=RU6,+M<: MDH3 A5B4S+JP5N($N.6G?AJ3N MS(:F!36X\N0Y]3TNM\S]>LMY[=)@T1RU2F;1%Y'3YT0546Z-Z9:BMW*VBL^4 M%K/8J\&5)\^IDE1#8UF]+M0:>,UHL!ZR0\(K3YX3G:EL3 M9A+>_>0YV=9@H.2;Q8:P+'47)CO*SW4TO!*&?[U48.'N<,,L=] 2&8TKZ+Z6 MVQTNQ4XN+MA[V"0=7:3E_?M53*XDE4+I%\ M<.5)ZR?%[FX%RUQ)&%2Z(CU:L35M'UYYTOI279FKMC%S]/5*-Z&]MJD;!3^X M\J3UB(5,^<&R2W(#:U-2*&_LXY/P,T];7\\/T(4ZU ?<>D359-JMS!F%"2\] M>=)5OZ3M!JPTTG>.(NR[4[V\K$6?>M)1'<6>X]Y(,"%6ZPS6?GU6P7J,B)UV M5&D]F-3*LUE?*&U7LMCAQFM:\$7LS/V)X*;Y=3DWAS1.Y0VU5>A9(B_BIQ\Z MZDF*MK MU%:W]X,H3US.Q;L>UK)8IM"IJ<=(84[A93VP0O*NFIL8L][IG MFTB=[^B:4(X^E?[UTD;)FD#;GB0('CH)!JNBC)U)=.FIO0AV:U;$R:2E*ZZ( MSDLV)SHM/KKVE&I>R64]M;43-*UOM'A2"2 8]<&I%=A>CIO+M(D*6F6\(D;# MY70 1;LA3L=@:9;OR=O. F(+HZ)![G+==B5*)SNYM%#;5==+<;;@NF2_;DH- M#2MOHDN_/^TOT>7A+V6Q8!7*\J2K-3FM/68*A9)M%.J\&%X:_N5O_BIOK>9< MI2I8.MNOVJ+1UK48[,T?;P6?.3,L_S7< M>OUWM/KX]1#"^D$G?!@Y'H/YZ,:OETJR8QF>J]PYB'QSX1_,:7Y$_C>6P8 A M[F2(CZ0Z8(@[&>(C.088 J#IN0P!T)000WRT4@<, =#T7(8 :$J((0":$F(( M@*:$& *@*2&&^"@_!!CB?FAZ-V4%&.)^:'HWK088 FA-#VF(RS?/W&FG#/5> M9L_Q)O)/-_$/=I8M8QK\LJMM,XW@QW,GPYE399KYS[_D:^2BRI] !@ M\%\-?JQ" :Q])6O?(3'^(W/?#H"/N5T@]A?^'?;!Q.03GPMZ?RX\ *^VF:C2 MSCWJ#OPM+JN>L?O?_X()Z-\HG#U\@T (^BCXI'X=*(-=>-[@Y^<=O-01NY9 MKF3\,I8_&;W&7%JMHVP4TU/ ^0$WJ*5XUW;?]-!Q4+OMI]IMZ-O:;6C\]?Q+ M8SX'3_;H3% D8I*S+,6:-CY?/.[(A*)M+8-FN6$G#C1WS@:WMI:*S6TGAA?Z M0%@_+OAOVI.V9XK(Y93]DE[5^S*W:XB.NBJ)Y-H-MV.B85%7/(LCMS\U+NY! M"6!T@W+4 $:QP^BB0OMNOHBII65GQ;&M+DQBDM-JBG%3J=O=U>@Z4U"$-<.V MX+YFZ]5IN$F;>/E&H%F( "7W 90 E!X12G]8 G\]"IJ1+]4@(;?/K[;M7! W M+3Y? O\Z>,+S,#%J+JD9E[.(51LN3]U%5)F"#O"4Q3 (T G0Z<^+UR>'3J V M_>UJTS^/[KO/F&M0[0V.Q:?N" MUQDZ1K&^-S=&5"@I+!F/X5D(P:Y9-#ZV"O&LY;@9:Y:QKZVFVII4U%#3K1F1[B> :;8$,:SL%NJC M&)G%D-L?? 60\[#(.2H1 #E)1TX<6NE'[*D6='6*1?0C"*TVZQVS[GL05,*E%R9C&E I M+WO-8H5B]@H?EF$/U4V(S$+X!2'S8Z:(EFS+<3(KVYII+EAF?/!EQFM##*S= M)##NOZ/*&<&A';'A##;%M;KH]Y:;*=>:-DK5=K\@=?N^B(<:)T)E(1H!^0P M-"#EZE%!$X>V^3YQNOUEM3[JJA:4I>UUJUMKLVY-XZ'P9-,/+R#<]BV(VC)I '_!2\ 2I5XN3V3R.CO>AT M6XH[0: U6M K:Q%?=%9AA!)E$L.7Y<0]9B)QQ0PB2B7S#\-RG']F9K:US%B' M0#5X#X!%\ =?!(\-BV#A,8'SQSOJ]=\?]L"7>D"78"9$H@F>)0Y2]#U$1?>]A(7AVLQLT*2%D- M>BH4V@&H *BNK+4G"E0A>/Z1./#<32X_3XB@HX+/.8.*PJBZ9GO">LDIQ5)C M8Y6TQ53G@[;]7B3_)\@N?_#LZM[9C*E):@29#O! B4EF3, MZVX]O8/OOC^%?%9G?K]7GL>[DZDB/+Q\^=$K]+2:( %$K;*S79F<')A,[]I,M/TP&",*Y-.GM>5\B].VUN MJZX.J0$=0A43R2+0:66IZZF8Z0^RDY;D"Z;Y"9KF7UNC_--9-FLMZG5[[^VY MTGJQ&.L5"&I)?CCVP^H968RZ8,$S#2F[LA+TL?*J9[K2]HI%-.)N:8)6='^& M!1K 8FIYLJ'$0\*;'O08>U,?&XQITS]_+!J]GD:IF5[P[*WOVP3R$8(.U_5" M '%;UY8"+]),R=Y%S0_('G:A;44[-"I!9]J*02D[&4/U=#Z M?"_P(AU5)T:R& GR6 #U;I%C%WM3 ?42F29\7_S1+52'M@['K^3\XLIAY0[#-HM*%)+9@(.AJG,MR][ M!""8'#+< H+G59S8FPK6".*ASV\7&/R-3M79P60AU(8-9&%;"P)NA^%8N,! M9@G\]#Q,D";]Z&G2H AWJE86[ANX3$;;V;3:V Z@4ITQ"X,FVT24B!C1H819 ME#A-6WC$+.K*]_6&U]K=#Y-[$3_DB-0W\H"^E#<2N&M:&GG015+>2."N:6DD M<->T-/)9W/7>X6DL[@J2 D%2()BZ7WWJ'DS)CVF ><54SI^EE:OD%:'1A41] ML'$[I$,4M^,B(\)0-._&LQAUP:Z[QTP';"KN,?L/+'^ 2BZ/(E'&_[8&?OY$ M[8ZMM!KP<^#GP,^!GP,_3T<%NOC]'&0&)"IG!^S+>4YMXG"L]V]JJ1E6OB8C M:W0HM)IHJX.58=E&?!&&#\74L"Q%IN-L;[ L )8%0(X <-PZ)J61@)W M34LC@;NFI9$@1R MC3Q,U5/>R$>*71]S69M96L$S[J,9?<::9333E4Q5DPU0 MWP9L\WL6'>WJU76!QR?'#<#N_@=1CE-;V^3M.[8UJWQ_PS*.H[CG=.V*K!60 M'+,M".S0(Z8CK\P$#R_":%B?!*;!QGS KR?G%WAC X]/>2F*FWH\R&Y(E!N M6=F#Q*A7SF[XX\B0L7=C;V2/2L(@N+JIK^BM+#%A9!AE/%P2&CY ND-!"4P\ MT:)N >&S(I:VT\EN*0"#] E-+B-5A>;A5.JEAPNSR0 MJ_,I'R(J+%A,7'!B,$ 40!1 5%H0%6^-X@]@M5U0([Y"(3C$=O+"R!*T7IF( MXBDZB*?@"PKS 5@!6'WFN$$ JP>N/?P!521^V-U0T]6,8R=#*><-S#X"J2%5 MHE,(;PN59TDGC'TX ?GH\:%R98W\ RZ4:[3N0,(6XS$>GS$1%T)% M/ NAIZ>3IB1WLVV'QSBZNVQF94BFFPG,F%'6GK8*(9T);Q^%AF"-/.UKY DJ M:!1[QSPV.],FO1_O'166"W 43$V9(Y9Z5MTRU;JV4::_7>T<=2OY]5!HU"#- M)EK2JMIC(9P/P!XJ\SAZ0:TY0#Q O!N7_(F]8P#Q$BGI_QWZ++9=MO&A6Q2D M?M7A^8U@.6L_1!_Q\@V[I*P%0!] 'T#?TZ,OWJ6"OX,@U3:9MH?E:!VQFM34 M6,"Y74T-(1B>3T@!!@(&WGFY(8$= U+(00IY_!T#!*&'$-/_\GVL6X5ZSEL; M@H;A8\U<[5@*B]['KUK[Z4&=CYA_#BKL@ H[R2Y9\OX1QL!_@?\FNZ 9\%_@ MO\!_@?\"_XVG0E\"_?=9F_7$DVE-N;X\V%P2\O?AW* M!YKI2];C#WK]B8+R*GGRDT5XL- M[?<7^K)M\QD?#*D[M[0XB=^WUB#6EV3=SL.R@\GC+!E:5:'D=">:2\F:F\B)]>69A6[8[ 5EL< M@HL^A=!U7<14D3B]LE6B9&H]'M5T3<%5>[4MRO94%[HW#;/)G/,05]^(&N/-Z]QZ+5 5GE>X!7?60XJYZ42>2VM![V+VR&W6=L7B MZJR'-'QK-)$*>1+:C?+MG:99DR;-G/.00JE=:]IKP],E"BX*V_S&:^)G/42K M8(P%:\9*KU7%_$0U^A-R[I_SD&J#8HITU:X(:W? 4.H8J=.N?\Y#JIPPW?$C MQ^:Z7$4WEXMQH8WQYSQDW%]NX-FHWA.4/K/IK;V=42R>]1"]NNU6RY*_@)2) MV.E95+U@ZOXY#\G7_7%SA,A!Q6MZRP!JDW<%2^RM8(F)AC.L M"=6-0.I+U&[DIR-UCOG\2>&+H^HH&47-E,R))AD5\Z!B!C\M:,[$L!S/5GK! M7?.&-=&/&J0LJAC=[M29QD!HH;JP#SU>GAU315)M:AFW(3R[#LKZ]J]Z^_-313^>J94\4.OSOY M=723K]$*<7#79JO'96#B=1TGTQ7:[3K7X)H]IIXI5II,DZT$WW5[3"_Z::;2 M++8Z#:97:37_\R_Y\ :Y^@MXX3FN-MN]=M:QDS+$]\YJN7/%SDP\VX[RDB-U M.70I1W-<91I6G0TNR,PLP[#\(%+(2&ZFZAF[# IG,Z%/18G-52EXO]D_?O@U M:LR-W;0[F2M3SU!:LZ@-[*$)!WV\%T8)I_Z9DSI:?\R79H(&5^;CJ5@+Y=&&]#ET484";U^PG$E)_!G0UHYRM?7;]X^5&#T?Q\?:"EM M:[U^H,H=CO\Y!@F'JYY$S<>KPE_<'/?7O ME>5$B/MJ*T;@B1OEE\\\KHA%-WZ]5)*#H>ZYRNN$ 8+^YQX3@\]%HD%;OG_] MR\D?#@R1!$/ 7]!W!19@B#L9@OX"OSN)!H:X&YH08(@D& +^@L/ $ DP!/WE MW84&8(<_L\,?9L-\&+2F0D/^*""\02/_][]@ OKWZ=>?6A/,>,(F_M\+\O)9 MC$%?L-LN[U _3\XGP?1+L7\QZ._%BY=OX8_4WK_U]5 $ M?!2N4?&]K$)BI.(K=F;!2%D M4!1&4ZRTY21AT]SDZ2+*6W^^T4)2MU\/H[4G;3N'L'[_C7)N>P7< MWTGSVF*UU1%HY.LZ/]G#<+@@C8:[';,(==L=CT@\?A+[2 ^%I;C;?9V1'L^6 MU8<8Z/#W@6NG6M#PC/?6N [U",L*<&8S70FDT,3IJWW#- M49C-0AP&.G%!99L'F(AU)#\3=*(2UMUP@LAD$X1OEKU[O@G7;5;C4M'(CU:Z MG@A15X]%7K-8*J\C+QB0C=?Q> 9+=;:DR?G=>,1)*W^I:6J!]W:^&)V#$5 ) MOFV9^7C%P3O&&BEOY <+1$\TH*\><_SI@-9RHE.;<<0 :@FU@;8=[#I\EQ&C M4R/H+$U=OS)J0O228Q264<)][@Y00AY>"3FC;P(YY(%"D.. Y [C\9A'>X98 M^7X'50R.9P2DX>NJP.D[BO1%_!B"$$ !2:L")J DT1$0@P6"0SO_Z^ M2W>CP4V20XFDC'/K3F22:/3R+L^[]N@P^7@Z"M/Z9>^?\>#77T?]B_]@@0Q MDNZ3-&O?AN>#J@4J/\>C$,;VHHR[L D*EVQY$_9"ACT92"&NY>*>TR#U9!B* M2,9YNEJ:G__Z?R5>9O#L:1"=8Q(<1F[;;J#^@'U;E,GD ./G> MA4-[^WNP%[+AR?#-XV5#_??SJ/'^M\.;WT3W]ZOQWM+W0MQ^!Q0:;4$ M_/GCURC._1OO>#+\[>+G4[\3RTML,@#HJ-UW^[VG1T??HW!8XZ%[+A.:#2:MG@C6Y.O]P/PI[V%N@^4]GR;Q']++X&S3*I5A[ZM+JCX;>Y>(@.7WBAG/F1>/D!77I&.% M]?-VZ^#V\GAR_3F]&/SS\-WQ[[]RVU'U!S7R4C[&5I2=5<8]]2"1[- MW1_/X_S+Y_'XO)[_'K8/PGKOZ_G[.^ZHT1ZXC1=25Z+AAQ=/,'I/3Z9A/)/RG8SD*%@GG'[_,/T_<>9__N5&U+WQY?'U M%_ MM$:-3_WNV>GUK]QAH]EPF_7NBZSR@#$_29%*)RS2\"HOR)Y[0;96]%I95<_N M,R'NM7)HU_A-_N]NW N.WX]O)H=W_MD_,Q$>^:HC1\OM#AX@X"JWR5ZZ3;95 MYUJ)@V=WLCQ<'(S.;]O_?/?S;'HS^[=\]S$\_W@^/KSF_AU-M]=\,KQ3]>_8 M5:ZM^G=4_3MVPC'#A6<+]4&KA=FGN^OVI[OS/_^J'TRO+SZ]^_#[?J[%C(]'/]Y_[@W>_^'3?OZ+O= MS@-:(>^A6V=I\PXQ5S!:^7FJQAU5XXY]Q4B/$8+_^OK'O^Z.?WT7W4Q..W]$ M?_QU\O[J^)K[=W0;;G=0=6.M^G=4_3M>&EAZC(CX]U^?OLC#?/;E)GCW>2#> M#>Y^];X>?T\//AQ^/3X\]7N!6-WMM+Y_W)Y=%OEY0%@85WJB*U2#I-K$:G2G)/(JU%SE"!+ MX>EA&O@!# #/BQ1_6^JBXM(O<>!$IGF8I:KQ2I X\51RLY04V95^DXT3R5<\ MIL%79P*K'3OPJR#V4T=&/@#SQ18M\$>+WY*.XSSTG2&^2^#MD"A(_L@CED-W M 0SV0_ C+P+?ED"#"8B%E-X4Q1EO5R*S M&*^A#'.8!7&N^' MP)[7P^8 IDH\ 1:=X7GRA,Q$X/5QGCB'493#@RM>_0MM^X< Y1QO9S86F7,' MIS@*0AB%=@PG='E\A$\?3I,@5(_K$_@!OT<^:=;?EEY'GS7>_EC;(+VO).XU MS$T\ L(_9EK#1C)Q\D8KU_EOPR"2;T ]PY'!7PM?TTO>T.' 6X]$CI]B?Z!+ M?3:P^FM0;W@FL-EW\*?S*8YO\-_F-^F6Q4)Z3SG$_SGFM8( M"T#EZ1QZ&;)J8S#H8 '(;> C@^NC3L5(.F.1 'I1!TW$Y $F$D!\(U[Z0:B6 M7I!NS?D='[R5SD3XTJ9IS3(G\(&2Q43GW\141,D3,2->RH(LSPR5KIF;7@IN M$A:&I_J9H0P#>2M=_0/U,7H)O&S^4Q$!+@RF,.K\-].0A&CILP![%?D+(\.D M)TM&@,G+5"Y\S))O_M.[91]ZI0_AS+A?:1H [8D$'1_PAI2DLJ ]SUCPHIP# M&8G4M?9XGXNN,7 %(F[U5-QEJ@P)RE)$A0IR:;5#@3H@9NFI6[CR*2M-A0,0 M-8RHF1@0?(2O'>59#L_[0"1A/"V$-&NZ:8S]J' B@/AAK!1?D<-F71%=>P#/ M0&E%,7:+S1.8LV0"5J-:-?Q64P(OE")!LV.L^UII&P)WYRFZ$JRLB6NV+7<: MGTUC,-]YX+]*'16,(30GD*U5J4X.33)\KN4!-VP0(WCQ&Q'>B5E:].9J&\_[ M&V,QX3XXC7JM.7CM6'_C?BQL)K8-L[:LU!9,/5;N#*8_O*=SA#J9+)Z^:39J MW2<0 M?@#8B9^UF!B9OL3LJ-(4#R;POBB7S-5*;, C6I8L" \4U)Y(,QY$?@U2^KV% M>7$@/T;DIG$;8:U"5@2 [E@) \C3\Q#>GWG )_",PG9N\^\3O,.9$GR1P$F[ M>!UJ'(+.3V'X8!2 P,N<)$AO>!?R2.$&@B(_I'BG.ZSZ;AQX8]Y9.8MQVU$H MPZR3./R1(3"(R\E4[07(TAG]&DP2*E<%C>6-172M3R:?PMG<@J42 Y6,8&OC M1$-F6 #,.L_H-$)0A1EI/)<-EQ43!4#D)<&0X?9CT/X"-*\YEVRZQ)%$E3P! MXE%V4JK?#Q^77Z\OFX43=/%;9?T@K:!F@W=8VT,03N*6#%&G Z!-$+D .64X M#4W&B)AN$<_"BO3X^.64E-8HB2>*K51)L%Z[O _Q$:3.Q UIN7@8:K )$YKF M\$\/]BR?HL6#2P%F"U+)9+^&S 5$G81"$QY";CT"&@^B-@#!.]P->L@!V>I M@3QW\(H7;)R\RU/X49HZ[XE,IUP]M56[XXCM52= <@S0Z0"G+ABB)SE;Z:,@ MF;#01IL\)ZQ4R,QL#)CA>DR>A[MQ'(:S@_@N BJTW1"N\_'\TG4.SX](6R:W@8>>A5CI@CL@ M[VL9J0V H9,;F9%*$:#H8,YFLAZ< C.)'4+F09_^7**^!W>RH/I^>"VX6^9 M^QPP9-G[Z>K?A2BCQU+<0$ATEL8T\ZO]4N:ZYS@E "Q;GR%/U6^Z5F'Q(\BD8)3@#%&@\'2X,5@Z@R MFY:0+.7>L?(:WU,<.= !"W/U6* VWM#=FE$*\[>@6F0W4!+6B2')XO:@V$<) MQ!M8>@>M$4"D,C@L.G% 0$6"\#!\D8[SS(<#XEV&'4N !+P9J 6$\(2T)=Q#O\!1 (KO%9>/7T$:N>5R6RCD9$8)G"(3.<^V#VW$K:< MG'^P,!&&0GL(TTQ*@E6@9>F(TQRU-\PHF!)MS^ 7$UX2F9@HDF_AOV#?%^<$ M?.HJQ6_X?Z@E&0P&WSLGT2@1O*LXQB6V8>,=)1>B#"629!ZI>2.QE1XP9[;D M?)DY0/B!P;&,U4NKQJ78AVBS;\$5+IU$Z%QC^[G("("1!#E>_MBPL'6*ZO1. M __@, L)Q2XYP"T)]=\E$RLPJ> 0R(:QF*[$6@%A((H90G@\WF9+LV@ M2?Q4O]D<-4 _:X6T5XFJ>=:[P.8,:T'F9X$4"HLSUHWR3^D?IX:F@?; 9 4@ M-V%9 A-'=08@+\P)M-%L8"[>#:A3'R?TYD#&)4IV0R3(B;2I.;FY2*^\SURJ=(PJMZK:\G6W/0<.17P2#%BA;6"D/" M5$&RDOR#;2\@ $>I,LK68BHN!@#Y@L8">ROSU+ ';9*/_$+V#V%,H?8$?D%F M1X@:!H?F:=&WQN@'8RD&+OV+1V8SA1F=+*D4=!YQOY['M@3RU6R*F#*&1G(EZ6 M&+]BHU&6D2<8A6,9:2FE0DW"F-Z+P_R@W->?/E^=Z] 2+3)/B0 MG _%4E5$C1;AD-.*3Q$_Q]%@70$S30U.!;,ZQA*)0>-%V,-4J5LS# V^=$=0 M8RBD:\$(YX_<5W\9+Q'#*T\YBKT@\?(),K GM^?8 86.'A0R:#)KGTH406 / M=O$@'AW EP]5"9 5H;(L=A"T@* MMZ?XO0?JU0/M>6!;/\%7H(P[!3]Y \FT1V$5I+:,X%'1=:0T>PU@H\$H1#BD MUX<2J- /$N4^G$B!-AR8@07JM"TW.0*5F1' NPNBR&9Y"[/I:+:D87G'V,": M'5!2":9#BP3DD P1[Z/C280IC0D,(\"($G! M(&W5%Z#"$R VZP<%5]M6@IXM1H@3)1)]1/4I!G9PUBGL'4H%2_[5G$6%):8P MUE<*4L'GG4ZM_EH?YSQ/6$R7P'3O2)_,+:B&CK)5.0!+@__N2FDM18(^ 0"6 M>:K]A#% \4P+FI6S +H FFG7:]W7]&"K4^N]=K4'#+8))2L) EOJFQ?K@U^E M98UNU3%0L)'@\Q3=#C-2MJ$DS1C"T4;D75^8H2+\*5IR.$5-R;0F))2"1.,A M!6/1&KV+DQM\-)7L]BS! >558&T9L'-\RBQ*Y[G(VR7U8:9V'5,HC#UVSZ8" M,7TG0Y]2(5\RUZN M$/AR'W79E, / Z 2=GDF*?RU5F:Z2ZB47 HL_99[,0JS(Y /<;(@'L,0$3P: M$,E@7%]O1C#$J/DR#;"/ PH YA !O&D\!#^91B8EQF/$3PB$"G."JP.^,N(%7#.1RL?BE> MQ-$JQ?BD$2< N#$GR'<=#WZ$VP@0! CK0"V(,*IR6ASX"7P/KY5B8DVXA!J5 MKQ 5 LZ.?1)Q"HHZ9^,@+B4/+G^IR2)$ M.F9#4_H*^<-O5]N)'RP[<84-ZCI'(%0B_<(/Q&('>AZN\^G3$3I\G<_QK9SH M'5:F!M#Z,$"0ZX!N5,Q.'' .?DME+3),B-^I84:PPBP ,'5W3 M97KXK1JCYIR;CLX$.97^3]6]@S[G+(BD\#_/).:&,=R=\_/T=I-5/\7H=08+ M'(S\C\X'%K"S[;+JSWDDE>V"?$H43AY=(&"!#CS#C^S*5N2.M%PDX\X'7D9H M)0R(+X&4"CK1Q@C(@H C012](]<@TRN]-0S^S .P1'V;JRUWR\>"B]0>,B>K MW57\H!C+=11^I@BL=EUCB!65Z*CLP>GA]MEAZ[NTF/[7H'C^@T\.]0 M%UZ2!T"M>XM460)G=GG2B/Z/Z982OVW"_2J]G Q5]J I[YW&!QS_4J(?/E_I M^\#3/ G#((J#U#(_=>Q";1E&XI5#B%(YD71MS;%N9PO]@&JUGE 2>1$S1>$4Y1H##666DX41]=-8CP!+EV5$X+.0)P MZW+*S9$')K(%KXQ2E9W .4R99N(20B45*< ^%@E-(5-A*+/CI-O1,4D@_2$, MR]4D">SX6(0C<^$NUQOLGT(ITQ=NY3OE@E.;D>X\&QOZ;\WQ,7)QNL#&?(CH MC4O-FK7;T?9'&1:VN?+^[2IX\S="B]HASPD\*D/30Y<627XK&X=S)R7&AFT> M1?M' A.(U,[60<+CN$:1QS*:CW(L\6FK15OVSPJ7:V&\U9QW,KM#E[(F:3)J M:/JG8K9,\GR@G4?>A(GS9BM&6;WG+'CXQX7GDD!G#F)(L*/2RIII=.NK!"E5 M4#7UMZ6%&9=L:KN5RQQO!)/2RR&Z)?_D-$@ANB 32%42Q-#7C9F/$)/_F&BZU MA(599G<)KPJ9Q >@]]#OAB:<9;PY(]@?\I19T4\[GDI)0&C?DY9G^D&F 6)[ MCPF=4>'OUY;MXZ=]P#3HLH M4A CUYBR5F.%60KC@_ KD8F"MRCH03Y114P&P2D,8A@ Q* M-"SEI\T=EHJUL0\(G:%4(2@YZX ;V!!P5G8]JAZM".RJ$*6&X+6P[YS1X!;E M7EPS5]2@%+@5=/79OT[>'S0&#@8A$RIUS$A>\M=W@O3,;S>)0!1#QN_7#,UP M[;":2\/*(\"\6!GH4V&>51GIA2*8I+B#23[-E#KG=5FY[]K/)DBE)1/U.T^D M8P=O>I]'W\]$%TL2?H')3+)CH^WXL.LXKD M-#OI&9E/M:3P"X( V7:OR-+I"<4YEXSY5XUFK:\/W2T([Y7U,2D SN^U21C+ MB;\>V$V"5O8(HC)>B;4Z/E6BJ:%T+AT\F]@.J!H=(KHD[/(32UA9"\1 HRB<\B1XBL7DQ\C7-7 M1)OR2G1 >CX!#7V.,#FLIB2XF:JXOONJU:HQ#>D4F*+6?/ M,CV#6$HHT&;]KG XJK8KY DVF1NJ$H4\)8K9,5LB9++-ROW%J*;)I-:N3^4F M9PU:()0;JN+N, 7RPH'41HFI1,Z\NZ#X=],EW1%X>:BCU"DU5X*GX)/K\I9:.2IR,"X8&.?J,H%23E MW.N_N$QN/J/43O">!E.)=5>NSD1FM,E)1!='BT2,4L080.#+=;?KVU_^%E9=1]!CI MN^5& >CF1MVDZCIU60%9FH:940V2*54N M?"O5UU@V5CEA:WF9"@P> /JEP@$"Q!,$;Y9QJ7Y6F'%8JNU@K;:=;(TV3K/> MJ+NE1^WW*"RF N5BB'"OW7G-&>K92D^@]0H4X"R9*48_RB6&W$.7"8%'*V [.H%-SSE1%+J&N,<%I MY<4XN*96APNG8PRU\G:VFZ_U+BS93E5P4DIUF7?9F\G2Y/#P3(R68PN%<(07 M]>JO%P7^0GBK]/K[JK 86Z]87[/] )$NMY67.DD4HI^!-80&GN>VBD$L).8 M6AMX[**GMA;I&-:H&NVHO$LEB'6F3SE@UG)^P!0";51Q'@3@)K MQCGTP2@.@.[XGW:X\?CDT&3/^0&5->J9D:U-S2)@!IPA@(CK1WX7/%@$-(@= M3>:WDHE30<=+[*2(!DE('=Q(]3Z@P2/_ S)Q-3^D!96ACY&5>)2$?WR0(9- MO-H :-8[=<0I@)(H%.R)*:)MX$+=]HI3&#C9R>7J-I.>:"-A&9DR.$7116XXJD4B]BQB4TE1K(S6 M_$4Q&6[&:,UC H*6PE TA#HG^VP<#JG/>!VJAP%=IIX%-'6:L24RE"ZA!K9Y\.B(<$.EH"2DN4N8G!P%/DWX!@[DI//#&1>I/>Y MU"X.OEPN(&O.OU1[,$\UPR$U'2ARI0PAI?V%'T_9*80IY':1!#9%C0Y&&).\ MANWDAE/4D8P)@A2@-T9_$%'W7H;=FE78K0J[/9VF-^'K(34(TUV%59-5[(OK M9+K5 1P\^CQ:=8TR<_::H>\43&A6R]1H!YE1-3ABD$5H(DAOV/U0;\;?C/B?C!H1/L:@8"216^#T=0(;;%HAMY 2MSJ _MGCO)>JTR% MR!*>WQ"SBE$MD?D>.]@WK^9\0@=-0B NUA9((=?OT+^#U0 Y)Q"-L-8*D#/8 M!0[F",/&48*DC&X#D*0H>; U$=5%L\AGA4M.=)@*[E4 *C4GT:HZZ6+C>.E1 MV1A%C&BJC _Q($J3UDG<>HGD$YVK9>;>Z<59^+ WQP9J8&&LDAY?(YF!5L MN,1.0'#V:DJIY2,EB*>67DR":G0H5Q25@?5B.XVV0#P'\''&#(!H0":WJN$4 MU?AQ(3)W#A78T)^Q%BP F(2@7+[9SH8;\S,4N<"_(Q;NE;*.R)[AI>8(7W;F+U@J)4GLCBF1FV@X# M>!O$SM0.2I:*;PJ@\2+U*NR MC306T]K*8<8WZ_6!11URDLKL:ZPSSCW BSA5BF&#K M77C)/8#N9BT[W1(*MI4%GD$F\.S1-90J=X*J#=.5-0#-3-_'DA2%=Z HIF<" MZOH6"D^UP)HM\OT2=U#-.38<@3O(V;A4VLR -S*I+/3FI7R#56E9DE]?:UQZ M(^74R:=LA[/71.75:EIW=#'B H>@!%? BQ%JV1,L,J[BP>,R@GE&C1\Y"JA6 M&+#NQV5*M3VX6SE+$4P'2 C";4M"G_]\"F@:LPIBD#4,PS]].C*IY/"]<6L6 MCE:TDG*?Y,('.4PHX$Q.5;LUKLHE08)290[8?+^(.(#9&5@JSY)H>"HL 21L M?1&S3/)T7-9O[+.B,]4S8E&=%N]1SD[*[E[K\<2]&,5Q!OI!Y:,'-RA0;=.% MQ.F\YU6I_W0,.*=YH<;EF&$>3_<%.V'5"I3M;A 36WR MD18YAQJ1I&HJ0PE&VH\UYR-W31E+ZP()D#J4=)M0LUR=TH?V\&S*&7[VDA76 M4\F4+E$GFYTH8Z@$&4@%#%0+:,RCW(6[PQ:]\$C^$[HQH-2MNV2&@Y&!3<5< MYCT2[D6["3T!M1PJ"+/"CMM*NC$MBC%)<4ZZEWIL*7TXWII/Y'SO67A)G@R%\E?HJA7$X/.-^-A:58ECO'WY]!H@A32> M,-B><3"D@,7V,LO6)D^H4,FVO1EGMRISC^+FJ21[$ U?W$UW+AVB$$ ZTH,Y MPP2N,!] FH MG2?V0%S<)FK.:)4)6LLV5U:4ZJ*S<9" ?J"Q>?^LH+72K_CIO^+K#%@=[\M- M'4XU:^O8_;UOI'VD+#Z3IV:?6ME[0AR),(HW7L9_/-2+9/E!6"#T SGFG? \D$$ @^9MT6DIENN*3$= Y=_-M MZ/A*T<+<8V!B]Z;(.:DHI0!024?IM;FHI>@:!-#^3<9RWDZ2PCD\G&#>BQUSV)694VK#.WR%7XEVI33[>NJPW6/3Z$ M;H!;%,]*1NZ$(D12Q&\R2>WS*.=$XO8_G6[N#Y5X?Y(6\QIXP M,:C53[!AJ2>F4+$5^M9#+[:EM,#\9>7.I5ZMY NUZG8&/C M'0\HT960)LV#"JNFIH*,G-G*D4765>GMNCD>EN,3 1=9RU0ZI(H]X:&IF*$A MJJ\BSF?.(: ^A&KZ%E]UP\P4J_D2B6$C%*UWZ+LM%QW9=W#5G&-3;VLYYI6K M_B:@" QU[0-^CE7J!)CY-^RML?JT8"::S;#&RP;6@5QQS;Z1M8SY0I'],A=[\I99^>%]FGIDFO?08^-H!3231*4U\G4D;C M&.4YB%FI[GRD)&R=L[ LGYV&CZEQ*2:.X'I,*_E4^?YTBOT2UF0&1!+D3OA# MW*)VLU8":1H!^_C_WI:.[%)>QZ"03O[?VZ6MSW33.E5*QWO+^ZJIBZ6\ZO;. MW5=,-75*2HRR/K#3!UF*E+]'SFCM+C&12&!9T-Q%MK5]I1IE#7)\@K($@8NX MS%TCG9E#MV-Y<3*-M36-&8:H3G-L&4@9L/IN"$L6D8 IA2V!P7RNE,#R!WJ? MH]]'HE0-X@"_<,X0Q4JHT$\.A;JAAR\19*L,)L(92)@=67CO4[(5;6/TUOCP M5<,HY=(&("@TTJXY97=<*3$)_?/YE$41=@A0!\/VHH[3^$5B#MVT82 MQC+JT@ P- 96?A&'A!:F"UPQJ+]6U:KP:WBJR84@*"=6I?QSC"2DW@(\4^&D M8<"- '0.PQQYY%,<'U]6JJ8Q/@;8@3 6OE9L&%\!+LKG>T5>&-%E.CO8/69+ MVV3=QJ("O)AXJSK'D=<2>V.EV@U;1(TXKD!O8@S'ET&S,]$*)VU1Y.NVOZV5 M:$=8:"81@?:' !\")I&DSK4XH8MB3/([Z4Y5<:S3).W;==;8; L7L*!XI&G@ M11HH^_6 :)2$IJ>POKA07"O#@0CW-E#5D]AC;LJW#=L341T8YQ( .=!F0C0Q MMZ1/E9TE3+XW!14$JSB5$,EN-2D*U%02(&I&:L'*]C+&K.IMW:7D( MB@F.[0>U5VPHX*60QHPIWP;#^VS;W'2B18I7I/9/A'J*A],IV".@5=S^(+IK8.:]AI0$XH\PO:P](L/3$,'V#)'.J>QC^Q,:1+O"PO_A%LCT%4$ MI1;2>!\CHW&3U$.VW>*-FD20=_#7[ #O;50)_+9V(&D*[_E+%C?GV%>Y4BJ/ MSQV[B(YYKB1=4GWS*/=? K :L]R@]AU\/-0TAD97*CU>W[O5Q M-S&KC?83&7(GCX44L#>+H2I]7Q/V/R(N*"[Y MG-=ZE$*G*]%-6MH4FU;8587*W<-F8!% Q"@CLPF9>%/,.20(HZ\C8>'(9E^J MG4$FVT#/%^Q2<]4K1JP+IY5UWQK=/ZF[95 8D_H"*)E-'_\)"$/=$ENNVMD2 M<;V#A7*)DE/C1V&2N>9[ M^]!=H!+1YO=$YV3Y]IM>-?O%T"HIR IUV5F]_,P=E7T'&/A3J:'#FF@1\,3*:^<7\'715+/2!H%$33ELE)RDN9/YFV3U4)R(IB:3!_A M@$* ;0/)8*L^*V7*QC0D#=#*8<:V,Z\LWZJ5+T4M&>:)UU6)!DBG-K%TD5AZ M\\2RT ;^/9"COCZEO9]-)MM5E*Z*TFT)3>F*=60EJT_'P0>"&W;CW2W"++M9 MC:G:=>V;R8U/F'6;G2RBJC'NZUU 8\/.R&5&F;DT246R--RV+L0I2B5L+SCM MJT)-:1#2O4NZL9HJJ9J/1:FQYSJ*<-,6$E%54CODP],%GQ%4,PR[=V+SH5;"5B@H0U M%Y=&?'L-BPV5JYR)R;72.G%-%YCL2V5@MT*7H>H^I[@M[)H&5N*[M RKH)YA M2SY@-+[D#N3 T U:^$0B>>&FYRK1R50U<:5&8ZZY[I>B^'C/"G?RX/O/Y]RY M%!? 6XK47=/J:TP$12^3G6:A.W#4G(_&BU(JN"K*1E#P9.*&S1].! .\.V7^ MC&/.=TOG_%XJ$=;T92T*;XE7"@>X#L4>J%#L"/,*YM-'UZN,N;LO35/<2 ?( M@$K-?2](G2:DCKB@ &W8WV$O=JEE M-,DV@_)18,'N@)184LAG^H?HP)"=N;R;'B$J)HETZ( Q"W=&VR9H(4T =AI? M6SV?T!^8B'NYAYLF$N1+RDXLXB/D7M0V6%'+;M^QK4S7TA4LIJ,9/(EW Q4G M'\ZT7]A8O#ZV)$ 1H?PEA7-+7]5N0H(QM8DV@1:> 0MQ4Z%NKLRVFM&L3W4Y M/#\J@PPOP2ZPRZZ7WN*YGB388\GR!.-QJ1">H!I9A'EX7JQPS>4(N9VQ4:J& M8QLZ,%W+%1]C34"03'1MG$&6UOV+1=-)I9>-@+ E;W%I+DXG((^"S?>D8?IU M4^6M$(UQ%2RO\Z;XO=W3")T^K;IV']$TY 2OK8.]-@52@>D2I4.&C':-A()5 M8U<)U5FC@"<_%&TY-)(LMR7[T5VHU,%X**5J_ &;GZ*'D6&-AMQ6-+Y(ZRAM M'<4 Z9Z-4B4+9RQ8!4VEO> $AZTY#W]7GBR#&'\!G6IBNX;ZYC.Z58BE1-D8 M,T /72I]0UJCM6'AN53 0%%#0SUXV>)Y@W>4KQ)ECD+W Z>!U#,L'1N8\S M>EHIIYS<4IQ5CA@7:Z'@=4GA@KL'K0';TX6ZR!_"NXGB.YC$M2EXBSFB;NRU M8C35IG%KU4^@<[!40B7_%\BFT#_SO5XI+L5G;R=6:1K3!=]%H6;!:]R8#N_V MUN$L:M@"*U,M5N8:MI#BTYTH63UQ>O 4FW ",Q/A7>>!3XDDHB@,M[]'HPS4 M(J<)T,VRNI%W.*90DZPN2: MUP[E=1XI*SR18V4QVHD4'*AVN3'%PBVY=(\N!7K&M.XE:U;1ZBV*LGNPG^E[ M?&0CBTN]G]OOC7NRHC5S:C69*F(@\ZF==@MF%?XQ/:V-8&,_!Q?0JN^(CC": MRR*LN+^*+PZG_!P0)GQA\T12#R4Q3%1]L4K7T*Q;A ]1\&/O9>SN/)F24X%F MAD6C>\LG:,OZY4AM9.P6EM;C9LL MJXB% 3:5LLH.V>4$7^ !8AC'>$)LQ 0#7B=B8E)%5+:G"E=H)F*!3OJB=*NM M7<4*MF\06XEV=EL/=[X="S?SQQ*".RK'5Q1KJRC1EF2 [&<;HB]H70J MH39/, N9(LJNY6OC--])<*TS4 E(1:E.RDU&5*6-JHQ>JW1S::\+[ZKP9Z15 M4Q*IRET*E@@^^GP&*EXU:"@*B^*5VDK)7B*GZX@/$(\$?1%(H.',OG%.4(81 M^\RB''>:(^FJ?0#6M]I\I&U[Y?DKW;B@+2YUTZ;)1R[I7#9%@84)F10W8JOD MDB"SK$5F",-Y>QE8ZU2!M2JP]G2*O21/[:PK5A_O8[P%MHQ*V &N#&/=U,F$ M\[6!''.?8^O!4BORTC4'H-M[KU6&2-O5EVPWNJ\76HJ590P*H>L8':<75K/J M.6OHP^E)>0'G>78 M'1._1@^J&D7"U$I//KJ^5)A'%^D/5L^&\;ZBTNCU.]F MPRRPN+BBZ-ZKS7-SQ1AG6MS&2!O&K@?;GZ_+&)(F3%$KE\M03$,BCLH4OF^5 M(84*"/D.DRM42KNNTTNI6L=JWX++IQVA%9$G5GNMX[E]F7,ZE_:EU++:&(^% MCBQPA/;UEY0FWS+ ]4OJJA/L&WPC 0\&V!=!A0!5SK65-$K(SM>)1[J?67,A MTYQN0:-B\ND5(YSKGHD74K0P7&$P!"!RJ&^5"C#[DA<0:5[67#$%8>D$YYC,1,KB$:8 M8JI"?J5;GI1+GA/K7_#%(G2S&+!, >0OBOMOSHIF -H+>86$Q6G"IWS?S_&: M^WZV[I7'MJ9\(\QA_?T-*Y M=Z2&(@0;#LA"GZ;RC?[#7BDJ;@5'4!TB^@-F*,.$^C2;PPB+."Q+]%O5: VF ML\PW"AN='&"I;6^I;RML5&&HYS0VE__^^ N$=,W MC*CN8 /N!3+F>S&DW&@@8L T3X4T5P,:ZX?PY:/@C?K?S%^SWPRAWP+6S^0! MU6*_B6+<*[7,[1Z" OCTXH7S^*[.H5%K5>>P ^?0K[7;U4'LP$%4@FDWSJ$2 M3+MQ#I5@VI&#J 33;IQ#)9AVXQQ ,'6J@]B!@P#!5$FF73B(BB-VY" :M5[% M$1L\B)^R!%U^&W'O[4J@\"FQX!-'J5>=L^W6?^0V>'&('_[//QKU?WSCGK3; MM7I7!Z]U"+\Q_>I0.,#1$84GW+7^ S9M?2="#&PMA![85=]JN+J#R7 3)'2? MC'I^&GH,R50281H_IX?5FZ>%[ XIV>US/ MDW(T>F;LN.YL+X[_=?SYM^/+3:J!;2_8:LRX <_\ME?S_-"?(W1;6+?%LY2G MM>Q8-W:X%:E6I%J1:D6JSTBJG>^"5%\2K7X?A\:(?-N']B)]MZ;XKDOCGY?: MDIN:YSUPP.R""+TG4^8)UOAJ8QAEBP+#:94*0$OG9L]ZFD@*#<-OG$:OY?:Z M]3V+)U3T^=W09[WCMMJ=BCZ_"_IM\.L%T; M;)+SGL/G73J^UWOKLY[#S%:GH%)I\J;!\][:/_OMB=FDF-DY7^"W2)[VP.VV MFQM&-ML^Y8JX*^)&XFXUW5ZG6Q%W1=P[[F7])J.TZ_;[FR7N':#NZICGCKG3 MJ&WPD"OG^W,9$E?8X3B>3/(HT/TPY]HI5O[X;]!"VTML>WJ\M>6U;1I\N=U& MJW*95B3^DDF\V>Y7)%Z1^&ZD7C\)B7>KN,++/=U&H[9!W]\6X@[?2V:],2X: M37K!A;ICH')J;=JIM6T.?V:/[K:7NV&!UFSVW/J&0^$5=^P.N53<\;?4?;OA MMMH;S#2HN&.GR.69/>G;7NZ&N:/?<;O=*J#RO9-!MUX%7/8BX/+VGFKCH[/+ M*^?L@_,45M?RI M:'2':;39=^N]3=_]\YTZ[I^_ MP'=OK:DJT;)*0[9AE=ON]2IG:<4;%6\LXXU6Q1L5;U29V4M<1IMU%^T 9U0D M\%AKM\K-WZ\8A:I7/HK3S(E'3K+ANN7].*FJ6\9WTA"F,>BX@T85U:B(_"43 M>:/G=NN;-E(J(M]C(G]YG7%Z?;=5WVRZZIZ'55[8 7>[FST] M9;X?+\XN+YWSB[,/)UA&YY:V&VZA7'8TJXGZ)Q-ULN;WJ M^I&*N%]F1KW;ZF[<=.N=6H;=#A5\4DGG)=ES(,X0VN.Q\NSDZ=L_/CB\.KD[// M&VU&NO7E5_ZNRIE+(LOM5H4=%7&_3.+&R]XV;5-L^Y0KXJY\V$C<';?=JFX^ M>.FGW&[4-BC JDC%4Z[K+!M36U@OGDC7B616N;$J-]8+=-5VW&Y]TXTS*Q*O M2'R'2+SM-AI5P*TB\9?LK';;_8W;#]7Y[LSYMKJ;MQSV0X2]S&#$N^,/9Q?' MCOK7U>&_-WL[VM:WH')K53Y;S"YON\U^Y;.MB/LE$G>CY[8ZU5W.%7&_1%=U MUQTT-UL6M /$79WRO%DQV'SKVVT?\DL-2)Q0*,+)Q%==(5'YLBI?U@MTUW;= M>G_3]]15)%Z1^ Z1>-OM##9==%V1^!Z3^,OS6#?<]F"SGI\J(K%+Y]MZ@MOJ M]D.$O;"(Q.?C*Q6'J"(03]_RO 5\[\?Y,)3;45JOGN\J@"TL=?/U%(W!IC-' M*L[8&7*I...;.:/I]KI5I5'%&1N^'V'_.0,K.39N]WQ_G/'=T$O[!=[Z_7K. M6/HI$W!"&WY57^UUO]CO=6;.A;GX0ADY&Z>&/_(T"T8SFQ[*\SN*(S+Y129] M3C#]J-.L]YL.W:LR4J*$D%'@?_?A-D,(#W=@GIGL=P](ZZ9G[F7)I;+0NI M\?S+P..U"0:W=TH3#?1$]?6;^E#<@DY!_M 3PSP-(IFF/,;'\TMJ"'=X?N0: M@O"=XBU:GU#JB4*91_>&J;RXLE4)/#Q79"- MYSB@WK$XX#'#MI#X\,>*;.$;9#2ZEQ3'$O"?VR +B-CU*O4+3@/_3J:9".4=(Z0E_UZYWG-/?YX92 MC].0^*-/<0Z:7$3"^?3YH_-!>*33F7&-!%G+C,B^L'M9 !PY@ST;I3+#T_*E M7M2J98LTC;V I YM/,[G8RZ3*)6P3B*CRXPN=04FIFGSPB['(HKB:)@$_K54 M/SRW?W!\^<[Y$,JO'V&>YU+A (%@EOU+$"9QG!6/T5G%L%;UIM09BUN) M4_?"'(\610Z(WD@*/LG)-)29I(VRGR+Y3&R0!, VL U)<(O;I+AC3N('AB_* MM'5 9.5,@4-C?[5H+?,>#*99R8Q:4@I3F.97F%8F8:1>M]9YC0\N%_]Z.NJ< ME_(-[F:O_:!AO#B!>4SC"%$';DZ<,/_,8$/U2VH,&?S@]G__&_Y'BS,OA-\@ MZADK262 'THAA7GJ]==/ N\\XB@M IMMZU8MEH'-KC5K^M__LB=?P+ #+P[C MY(V&J-:JQBSIFX3+KN7!$!CGYD",X,5O1'@G9JE:96]0:S=T%.&-@;FX#TZC M7FL.7CO6W[@?"YLY$5\/K"U3./ @E*/LC7I,?T;(UGP8IP&RXIM$AM2B$TFF4KWHZ.+0N3!=F!ZVSTWJ:/QI,MMQ!8 M)2FMI-4J]?(M$GBZ5@+7]@:(*0@&ZLXYLK=L-Q$9(N.@F''ID!\!S7"HJXMY M0/:JT:T-2F9%IT%F!0*R]J#670ZG^9N@\.95S*40#^3/%*; MGH*]-$H$4WP.!3^F^9AMAK +1CW"VQY>7JDI/BKUBJ.NP].MMT%CT'= M-K!@K$8#:$@Y# INLF\3=4"11C"PGR=:?-SO(-@6<:WS$NEK4G? 6_2[MHML M6VP]%W^+R1L"CQ1PW,")%-@)Q,=J$T")H]*$O+E+9AT1IK&M-Y0,M(R+5)M1 M^*RRH5XU!IU"N9 8>]5H]!Y$X?>)4)1R$NU0L(/FE-X<&Y1-)KRM[/6VD,J' M1S+TG2P<=J)\1&"/I.@8BT=!MKC*5ZU&K?%0YZ*1!Z4QEWL*[S5JM8>ND"VO M0$88Q^76I,75_/I@"6@7@JW&6M76F\NY$V!"&$2,:QJPIM=+MV;I0=(6 ]+J MOW[HR]0V,H^3MY,,;H=L;=Y^]A^H6>D'5JW1DNA>#J^/,GV(Y/PAXP0.07MQ MZ7=@(5SC0Y/@*T[;.$B0"V'662(\T&6SJ63F7_7N=''-"Q)OA$_=89:P#OMU_,2Y@&^E&U)E3W>^EZMA5O?AO^P M;._ (3Q^ZUM;,SW781!S1\I'ZXZ4P_(=*EM>NUSCI;/SWG/F/[N:V=]$(K//<104O0 M$J\Z!70K0,4(F)]#7&&G&'0PAR.:1<> U<[ M 7B#$<1@5!)TVU"$(O)8V-FO0&=_R1LPA@>E\KNA(MT6Q7S[0;3X(-K+T)T^ MB$*9/\F1M(I@VB;W[]O82Q537HFOSRM#T:XCBPZQE*%]JZ;SD5)R 37/;7IW M#9Q'1>S(T8CEH#T74#*$;D&M-EXC1@.Z+WYH?N$'\!G&Y+4AD&8BR[,8T,!( M^J2Z2J,U7A-,+.A, 4: @ICB A_DT4CJD(30)=P M- A.>4X2V;IPL>UE;*E7Q9:JV-+3Z9*'A(<*8WZ)H+I/]+27*?V2)V&)2$$Q M0<%I8V4HDW7K&@,@F()C6T1B#XT9N!3\T=E7,6RBR#CXK@T]V-\)@A_EA>84 M*4 4^J07W3&-?JU9<@N_:M1:#1P+A&Z8XQ#I&*!3(79M)P0#!W0V$H(J4]?Z M]S9M+(?OK=<&[27OW3*)T#GZ8- F9,O.B>7Y;]'W\@:DMTSPKX6O.=Y!E@MY MI7$C@[2(SEX4L8,S/EVTGC737 9?&3F<,H4 M_GR:RC?Z#WN=J(64;D79CBXMD&EEG6ONG_@0%%JE%R^DW:[5NUOM%=A_P*:M MS5X+OCH+80=VU+<:KNZIN)%&<\_3-/ Q%/2"VHU_I_)@'6DS\2[^[P(Y&T'0 M_%8Y,*CUMMLR].^* 0R_;;*?Y XOM2*+1Y%%JR*+)R"+_08-KYPC+!J1FR.- M%T(;?\>&WF-Z>+U9>OC>@.*V^[^M;\1V_*_CS[^]K/LN-]8J?B= MNQ)P3DQ7I%J1:D6J%:GN%ZGNW"V%3T*J+XE6OX]#VXT^Q2_2=VOJR+HT_OGR M,OT]<,#L@@B])T]F=YOMKTUWV\E&Z,U^VZUC1\V]BB=4]/F]T&>CUW$[S M[5#1YZ[2Y]H)?$_E^YN&76NZV* MN"OBWG$WZS==PUUWF[W-7E&[ ]1='?/\+8']6OVEW1+X/7C?E]Q+L*+%;>50 M>H06VEYFV]/CK2VO;<."J^>V6AN47!6)5R2^:R3>==OMBL0K$M^1W.NG(/'^ M8+,$ON=QA1=VNHW6GL<=OI?4>F-<-)KT@N*6JLJIM5FGUK8Y_)D]NMM>[J:= M8OVVVQWT*I=OQ1T5=RPFVK4[+E5G5]Q1<[D;!\,#M]O;;+AP!]BC MHH-'TD&G5T5<]B+B\O:>>N.CL\LKY^R#\Q1UQ_MQ>GN4O;MA,/>B:J8JBJLH MKJ*XBN)V)\G]22ANSV,#+^HX*E_^"RG3W5O+HTI7?5&YV,WVP&TV-UNDMOUC MKJB[HF[R';9[;KLYJ*B[HNX7F(/>J#?8!MF'65AK]_KOOGK_'=6VNJRK6L,I%M6.6VVE4>::!7VZ!TK((4SU:S?!2GF1./G&3#MDG7"^^.WVQOI=:+R"]O#]QZ MNTHOKXC[)1)WJ^<.NIN^_F_;IUP1=Y533T9$PZWWJZ#%2S_FYJ#6K*(2>Q"5 M@#$O91C"&USG6D8R$:$C(M\1_B2(@C1+1!;<2D=^G?-]J1=.O+KQQ>E3<755+';6RX5\CV3[DB[HJX M21]WW7ZO*ERJB/LE^K#[;JNY67MY!XB[.N6%5(+:!AU_5:3B*==UEHVI-ZP7 M3Z3K1#*KW%B5&^L%NFH;=;(OV%O==0?US9)X M%8W8I?-M#/J;;Q"['S+L988CWAU_.+LX=M2_K@[_O=E+TK:^!95CJ_+:4M<0 MMS.HO+85<;]$XFZ"[=S=="K?MD^Y(N[*64V(L^,V6QM/<*J.><>.N=>N;=#[ M5\4DGG)=)Q2-<#+Q51=)5-ZLRIOU AVV [?3V+314)%X1>([1.(=M]WO521> MD?C+]5FWW7ISLR1>Q21VZ7Q[K>KNC!<1DOA\?*4"$54(XND;G[> [_TX'X9R M.TKKU?-="+"%I6[^@J=Z?[-]""O.V"%RJ3CCF_W#;;??JXJ-*L[8\"4)+X S M&FZSOEGWU0ZPQG-?EK'_=-#KO+QRC]=S1M!/F8 3VO"K^FJO^\5^KS-?+LRM M%LIXV3@U_)&G63":V?10GM]1')$I+S+IFULVG%&<.-E8.FGPU9G X./4D9$/ MO_@Y#V=.J^$ZS7JS[=S)1#JO6OUVK>? 5,,@CEP'Z, ;PU! 4*F,<%@@N"#R M$BE2B7=YO&JT!O8#\*Y.KU9_[3JC))[0;>2+,\+GFNU.K:Z?PS?$"?[F09-M MU9PK^$U\B\V[0B>83!/X>P(3A+D5K[D3J>/GTLEB,^6T] -\&0Z0C1-)JXGS M1$T%Z@2I U],0P3X-( MIBF/\?'\DOJZ'9X?N>;\?6JK1KU?ZQ34"Y3RJ@D<4!"F18^L M>M9PD!=/IB*!C^^";%RF]@9(X)[$?T@/R1E_=Y7DDV$.U'\1ZYAPA<2>N MTZYWG-/?YX91C])P^/"G. =8*B+A?/K\T?D@/ *HS)9&/-BL-I39G921\V'A^%(O:-6219K&7D 2A38:Y_,QETF42E@C4Q L_2M'G!QY?OG ^A_/H1IG$NQ0W\[CP4P-YF5;\$81+'F5ZMRYL?PU+4 M0*DS%K=T&%Z8XUFA &Q&4F1P"J0 $*9@3C@8UTDZR U5*H)N2Q=I_"FK\$$ M5@?C]5I J/C@]_V9,O,.&!%X=Q\D;C96M58U9% M30*)U_)@"*Q^HM1LZ5/'&8&[+IFR9P MU1,=S-_W!ZPEKO+6+%OQ/F 9A6) A3A'-O?N)JA!@&QSJZF(> MT[QJU6NM$@QO]PF&(Z09M(KO'JHU#)B! 4I0IMNJ-?X.DA$3D!$9C34*9.@7 M:R\6-)$B@G6/MB0YE,$\+AMMP@&0V':U+6&MDRS;Y,H3?;M=9K?K!3ZSU !7MQ @]/XP@E4S'#O;$OKF0H M@78F>:2V/ 5C8Y0(IO46\=D!T MI0YT&76Y"Z9UO38H<72C178+&=8%)]DW:CH@XB,8V,\3+3;N,Z2W15CK7"GZ MHM =<*G\KBT,VZJY%T0_TE1\"$[5$-6\UYN[3=4181K;2D$).7Q06UUDH*62 MGDVUQZ?5J74-Q:*D>M6L]Y;+^!(1WR"?7ZVW9 M&A\>Q;%WLO! ":!^!PP\^)8C::Q M$FW5L91(2ZKNO@6V_LX"6_W-+;!3ZSQ\@2C85PU=H(0Y"*#L2R O[3$D?AN+ MZ!I?-0'FA/<;+P 2.;P^2\!.=++95!:67AZ-Q&V5&]]D>*U6R?BY M+9*[M2830=\X"^^5M^4Q=Y($N(?:B>JA]AE[J&WMG!?ZN3U4M)&__%6C7FLO M*M41,#_'I:@P:]$&4!H^1M0%-K%213J,%6?(%D:QS.GQ@>U64"8\[R\J<8S M@5X=BE!$'@L[^Q7H&R_9\F-X4"K7+>JU;1',MYY#B\^A90>-GN48.G:0=9D# MA,XE2.0!2+4H':&//!&Y[X0Q6Z@PYR*JE8T%O,0CA&'BF:,@ 8M"F0KXR(<@ M]6!.F]:LW\;%JNKP2GS=KCU(EJ#>M_E"R$>)Y05(M\!Y2XA,26M4_8X*8M-\F 9^@)$=>.CP M_ A^Y@DKR/Y;[9?:8P)=Q$JS*6:TP%&HZWUU7805^"J[>U3F HF#82# MX)OW2:)P>Z";<,YJ6D(D]QU\9\W!5CXP:4(DDYZ*@1K87,"ZT\0ARF'-DM1E,)*""UQ(G0+ MFT)EQ-0&=1P+)%^8XQ#I&%!<(?O8<\GN#<8S(9B9!.;*@F_M>QOM.=\VO+>Q M[+U;QAUTBCXZ9\BLGA,W\]^"I2G?@%22"?ZU\#6'3LB&@K=^"O[,0?5E,](X M1V**,17G0J9PRF3;DX(J4< 62?0PTU.AZ?XL(L"),\8X90*U;0%/I&-VEN$? M$A9\*\+"^P!&;K/ M6SE-@8]VW%8MECO3T=L64!YF3-MQ)AVF[;'E8)&!3O0 M[F .8^ S-"J8VTI$>8RA.&C4FH5W\ R.Q6+'APWD*K\EII8I$#73L*T\_0@9 M Y>@QL=S-%@GDY/4G?/\,HF;E:^P@/ LZV47)PP&T@71XEPXACVQ82!(7:FT MG5<]F[K63<%=[O_%93+4TI"6\[RF8T5N*W.&8%(RR01,#M,0M=]X,3].2=1A M@*9B*('*"0]Z'L?(IV+&2:9X/ZWG);DT.YLND:KMNI5D6%YO887/[_Z"@\I!0$THL&@T*"G,!U+UEB?^42\W3-^U:< M\-)/W@.AIVE>F(SO1'3C+J&,5J^@C)H# M=GJ.<9Y7O1+"(9-T9+W#Y>QPG!..*6Y%$"+I'8"0/$@%)8%[>C[([@%/'@;Y MK78)YXTGG<-:HSA3QJ/@;T#MHZQ"6UL.,SW,C*9&Y\[SLU-S8"HC@ \J#7T" MXH/\K@H:$!<&0(GXTW@()\7>3) +1WY?-:OZH6>Y4PIO;6,7U7X9S+!J$T6 M>S>X]6F.VPR_QG.FG]G/P7%<)V(R3R?-PO-+ ".S-1C[ M9*]$LV+-=EZ$7J?ZD8O:VN7L.O1%X9HN3X^V)74+S&T0F4.I;;R[%MB^!VN+ M5(DXM@@%,I2<@11,;H @2.30WDU42DD #Q'$8[5E/\MH:97HL\A87">2B9%% M'Q,//7B--FS$W&7$F )'$_$'T.#<*GU E;!7GH6+AZ %-&0H3 Z*-X#81.1E M)]>@SB"&\F/SO4%HQWD2*T:R1R6 =8+Z'F4Z[JOZ_10=3T ,9.5=KWK2."_A M;Y62J$&D6@62+#L] :&K>$01%E!+-PI)[3SS-4'EA7*!5\U.(8R6F(\N[8\' M]GH:C )\/#5VD3IJ7"=+1XFJ=_5)B]7Z;4O<<@+D@BX\Y'R@[R!3@AP$?Z[B MOA$@RS1%9$)0FW8H-&8X"C_B*9771[IE%'LYX7GD!_-;22.*KUS+M_7]J!PW5)G4&2$L,1]U6S;OU(DL=QT7_#NQ\N- M1@.G5\2@++U9UIB&DI+H,@BOG 4?"6ZQ &%]R<6&>ET!B Y M]BT5>;%$SX6W/XSO.*BM!EO8/B3K5&E=&.@ 6'A28CIZ>!$"6C_A@RG(9XX( MN!H(#((T'_[!X4!E*=S&Z/!$7RI'WX0.0I2&6RG$GTT'87 T7LX6"+SH">1YDSJ$6\F51J\44R#V)L$$RNC_^.@U0#\P_3*OSBD<1O8H ;VFPPVZ1EKM*_'N97$)4S]0*I M ?D%Z5@-33 &[1,2MLB'8*G&X2T'U00P!VS8Y=F'"\#O(*L:M7[G=P5_B(@46>*3')&"\H>89D-@,54V6PQ/ILG\%I)%5K?W2W$$ M3D9K4GOE]()R?-/8T08^(L@OSJ28I>T[6T=IA $F0"]H9=.6Q$D2WY%],%3, M"=-#?*(L=W6: ?EY5,!^P1PUJB,OO#HXLPA5#4""A &O21C'NF0Y(HBB?KV, M8FO.ASS!2;CS5$X:]0D%*2E(U0GO,QH;I9(VK9-F(,!G'RB M#?.$WC)!1>KX.+3 5&T)Z82H_11IB0*B0RE(U)+26 J$)FD M8Q&.G!^0O7 +FO6WIP(-#.9OR435NREOI#H*]5)5Y!X CE>[3EACX5MC/X'A M #(/50#B3%!QJ%;:[>XL+V*)2N&EWOM$$;ZG4/I. EIZ?G M5:)'0D[PD,!!1Z'\JH0'+A@(3U">/C*36F:"X#G1[C $+V"X(P8+M*T@BV Z M)M[NBI?'CJ^6-;X?^&1;D 6%>V+0"YH1&2N=U%EU0 M9?^;_=I%\:8DR_KY;,UA\+NR10%%^=<*1I'[":E*$;&B/H-WE)L$9 3+6&6T M&B=S M+EFHF.39$26D)#@)K4I'2.BD39YVQ;NRY:S>CQ0D9'P5%V/*/W%U88 MC,#NI98WE@&; F7C1-(E(%NEXV9KC22:4LKZQ.8_@IN*#?70:N%D !C1EA$7 M6G'V ZD<:/"5% JU7%J MAPB$+4I(.WCC0"+=$-Q 5M1QE4.95-^YL[-@*'LF!!='@-Z<>X MK4@822FC:LA%$!0NU.II%;9(R3V(AJ0QF@*M!='CN" G?T".1B<;IP*HL!X* MVGCT(YZ<<6R:5UM3 YF4)^S_QG>&@2XT4[ 2/#!"KP9J9J(+5TU/A>C@-D0LA\$PQ@9=841$ZZUTN.%\AH&0QKV:9V' M:+9;KD)S[@B1X>S4H>,I,\OH5ZH A>Z#H )AYDS9Y3,W0H&K2H<@[&QG]J', M5.J/CDU-!*.>1-)!L%@L )L^GWG"3)UKKFZ"E4DN350^)BVQ.?8&.E_8$$TG M,^C\#O23%Q&9FO,Y)I^/)AU3_JAV3S/%UC3XJ@"AE>MM=9M8IL_S*(6UIA0- MP=5(O[2Y5GB*=0ZY[]66D-ZPN,DEK^5<2 :[<@QU4L+*^=HPJ@#M?+3FM4HX M!^E-*81]1Z #)58QV7*!JG;) X$B_L7OK326@I7G$C)>-09%\&#K*(U"X8:Q MA(4]C*Q:ZF,DP*#WPW@;\ZDV<&U_I16]MJ)V1JWXZ*:/*2T"T\+@.Y0LD45M M5.-02A$"J5/8G+BKRRI]J<)718'*P+^Y11T[!521T-RTRO1+H1##$E3.H?8]$#J\Z4Z[;8 M6:F#2^K7/G$GL)4R^13;*G-6%V6HFI5E;>7BM+1>\JE;-5'%I@B[HFMI04=C M(3-%I^P4:U'^HD=%"?4,R),?H"N^E%!D:Q>E1VS*Y!E@_!_61F9)&-S@C-F; M)-FA)&]%F%.)"?%#'K&(P# K'BZ+I=)ASL6QZ5U8)6\JS7+R8&Q/H@R!N!#" MTSIIDV"SQ@*5OXG:6L$W98&5?&Q&%)G@1#EQ;4V$D7?,CIH'*JI.KV%=GNFA MR<*D#;,2!URF496N ^J#3C&UT@48*>##Z\-M>CU 17_2*>.Y2LP3@D<5K"A$ M8$3I//H88PS62'J=.E)D$?60(DZ5;&$;K!R3-2%3Q+>XZ79YLJC,=%H\0RH'>H293$%PTZEU*]&ZK:*+U [29)CE?:CHC]V?F]A/\P% M^JV.4U2A4:1WT"$560=SP>)M,< _XSL@_L1EW&H=C"(SRQ7AE@2;1M=YA)F" MD6E"HSC&LAM=,K T3LQ)6B0"$[^LJ"&3;#9.XOQZO& F$7_ 4?P$PRL%4G + M(6,T[P4B;/1$&2N(V33-R=&@'3.&R@U_Q 8:>)Z<MFG$ MVW*K\%85WMKCTJCC.3_:B?&C7;$?[?V\'^W0\J,Y/ZC S?&[DZOWASI$MMWN M'MPM''4,YE!0K&*"S@E&B(!'XCO';BZG72E%GB"OQN1A<<]R7/N#FQ;:KGWG M!VT9DS*/\Q1^E_[($D]U/U<"@^]#@.,-Q325;_0?]H8@>RFA@42+EB[VX/$#]IA"H(&H&+$*R1$]-O;+!I/J 6]"PH7)GW?5N M%B-:@Z,%/H(3TIRL_TUW++QAZ0BZW;]7*)GOQ1!H/<^ $4 ^/9766"VI__^95(IW>%D]!:6MZ\<*!?%<'T:!KHJJ#V/I!#&K-ZAQVX!RP&5UU M#ML_ATHP[R]:W14;]DG!X!-[4%:=M&WJ/G(?P$+" M#__G'YU_?.N>M)YZ4_H/V)-U?7.NR/P\9;/SF,S.\JW-%:%7A/Y@0M_BE?1_ MEQ'0V6)JZ?3ME!4C[#XCK#M4/L?%_UVXF-YP0/-;.:!1KW7;>\T!I-]M#/J;5._+[Y*OZ'IOZ!I]/B^ L)MNK]M;..%=!^0G"QVC]P9S M[P0+/NLB-?[;C#+9,P;KNO5^:\.*HR+1'2;1];& G:31MML9-#>A [:MV>V< MI\K\V'.8MEFUL?]0K=W=M![9]@E7E%U9(4S:_47;>M=-D%(Z+=WIE>%-F-2* MG#H@5!;)HWAR>T[<)U<]6U[:AIEUXWZPBK[WF+Y) ;UX M]#6XAK(2HK:/-8 ML4SN+2!W/\Y1[V^%EY\R2K/UE6Z8LYMMM]]>]'145E3%&8^UL+:^U$T'@GKN MH-U9KOA^HF*WG2'>JO1.5J5W5>G=RS^(JL)E1PZB*KW;C7.H2N]VXQPJP;0C M!U&5WFWV('8]Z%(58FPBX?X%U]Q=!E^KBKO]H^^JXJZJN*L88;)8$YF-8Q_G7EP]GV=XV>'<=8["MH7I+M_RN,7T@LCQ M _B"[O>UKO7^(T^"U _HYMZTYGS($[RYENXD7K'OP)UX+R+-;:COL(X3WEP1 MB7"6TBWA?$!T&S',Q-K?Y[G.M[_F.M_46DX49RMG"B<7>CG?4H]W&7MX)3U] M01<6_U:[K#D?#P_/:;O\F,8J[1K=Z*W'3L=Q'OIXNR[1%L@P'C; .\'I!)&L M^%I=W#VZE3W(\.!A0DPSFLH495E7*"L.N&>FQ;7Q0 -A[O//U;72/D9T_?(% MT^IJ8*)>^*"XX%W?3\PW@:O]]&/).ZKO$>G'Z1>(NFF MXX2HBN@H6!RF=$CX3L$""QD$!RYN)*?+MS=)92M):CO7OA[AW#G+*GXGS $F57R#-V5;=WW#2UB:\_WRAALT(_+U\85HQ>NU)U-F2=8V M$?,)<,WV;M6U5^@6^^.RS+:G3+I#B1I.*'3T!;C =NQ@=9TP8.8+U%;RO>,L MHI"APU@S*M;9P^ZKK9$9_[[TO+K(%^:&#RP3.$:U+9M3 M(VRO5$."TE=7S0 M:W#HQ4-*R0>@5VL.H@J1,@8HCAXD,,AKT&5$Q3A4$DB4H3CR+4BA&, $W^QN M[UFF"%5+?B1U).J8$(BB$)R(%R1>/H%EP9CI@CP'>(A7L8/JH6\8=*"$G(@; MG'Q!U6(8Y[QI'E#W#+^\%6$N[S^A0ORC=(5)^B19IPB(4#X3K*$%IK U'MX? M?PB(Q:)W08(V0_P O$(*C8F?'Y[GICGZHIT'1=A!JF2Q9,XS8H34P*=Z!V)' TO?1;% MNW6-)$W+AC,&R@#-1 M_,^3$SW<810A@5_0GM2<]X7@6']A.#%PHC364,H(> KW!Z@%AO/& J2>NC4< ME)F8H8@ 3@MGS+GK%N%+P$3!4/K\BB"J696:5NFI%TJ1H"$]UFU+M%&,=/<4 MM:E_E>IFC64_AXVL5:EZW299\M?R@,MRQ0A>_$:$ ML*EIT7JEW=#^\#?&!8#[X#3JM>;@M6/]C?NQL)G8%<;:LE+7%_58N?&+_O"> M^F!U,MA%I=FH=9_H8/Z^7VHM<96W9MF*-[V,G4#:%Q*I'%CV!'08L*,-N),X M@K\]1BA;A-V7H/$^QP">&@92>^3CB @9/,*N,_:8EK<1JB#>@( WP)96I0U@ M"26