0001410578-23-002556.txt : 20231120 0001410578-23-002556.hdr.sgml : 20231120 20231120164145 ACCESSION NUMBER: 0001410578-23-002556 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 74 CONFORMED PERIOD OF REPORT: 20230930 FILED AS OF DATE: 20231120 DATE AS OF CHANGE: 20231120 FILER: COMPANY DATA: COMPANY CONFORMED NAME: TECHPRECISION CORP CENTRAL INDEX KEY: 0001328792 STANDARD INDUSTRIAL CLASSIFICATION: FABRICATED STRUCTURAL METAL PRODUCTS [3440] IRS NUMBER: 000000000 STATE OF INCORPORATION: DE FISCAL YEAR END: 0331 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-41698 FILM NUMBER: 231423305 BUSINESS ADDRESS: STREET 1: 1 BELLA DRIVE CITY: WESTMINSTER STATE: MA ZIP: 01473 BUSINESS PHONE: 978-874-0591 MAIL ADDRESS: STREET 1: 1 BELLA DRIVE CITY: WESTMINSTER STATE: MA ZIP: 01473 FORMER COMPANY: FORMER CONFORMED NAME: Techprecision CORP DATE OF NAME CHANGE: 20060309 FORMER COMPANY: FORMER CONFORMED NAME: LOUNSBERRY HOLDINGS II INC DATE OF NAME CHANGE: 20050531 10-Q 1 tpcs-20230930x10q.htm 10-Q
0001328792--03-312024Q2false0.25P3MP36MP36M0001328792tpcs:RanorIncMembertpcs:RanorTermLoanMember2023-09-300001328792tpcs:RanorIncMembertpcs:RanorTermLoanMember2023-03-310001328792srt:ChiefFinancialOfficerMembertpcs:EquityIncentivePlan2016Member2023-07-132023-07-130001328792us-gaap:CommonStockMember2023-07-012023-09-3000013287922023-02-232023-02-230001328792us-gaap:RetainedEarningsMember2023-09-300001328792us-gaap:AdditionalPaidInCapitalMember2023-09-300001328792us-gaap:RetainedEarningsMember2023-06-300001328792us-gaap:AdditionalPaidInCapitalMember2023-06-3000013287922023-06-300001328792us-gaap:RetainedEarningsMember2023-03-310001328792us-gaap:AdditionalPaidInCapitalMember2023-03-310001328792us-gaap:RetainedEarningsMember2022-09-300001328792us-gaap:AdditionalPaidInCapitalMember2022-09-300001328792us-gaap:RetainedEarningsMember2022-06-300001328792us-gaap:AdditionalPaidInCapitalMember2022-06-3000013287922022-06-300001328792us-gaap:RetainedEarningsMember2022-03-310001328792us-gaap:AdditionalPaidInCapitalMember2022-03-310001328792us-gaap:CommonStockMember2023-09-300001328792us-gaap:CommonStockMember2023-06-300001328792us-gaap:CommonStockMember2023-03-310001328792us-gaap:CommonStockMember2022-09-300001328792us-gaap:CommonStockMember2022-06-300001328792us-gaap:CommonStockMember2022-03-310001328792tpcs:RangeTwoMember2023-04-012023-09-300001328792tpcs:RangeOneMember2023-04-012023-09-300001328792tpcs:RangeTwoMember2023-09-300001328792tpcs:RangeOneMember2023-09-300001328792srt:MaximumMember2023-04-012023-09-3000013287922022-04-012023-03-310001328792srt:MaximumMembertpcs:EquityIncentivePlan2016Member2023-07-130001328792srt:DirectorMemberus-gaap:RestrictedStockMembertpcs:EquityIncentivePlan2016Memberus-gaap:SubsequentEventMember2023-10-112023-10-110001328792us-gaap:SalesMember2023-04-012023-09-300001328792us-gaap:AccountsReceivableMember2023-04-012023-09-300001328792srt:MinimumMember2023-09-300001328792srt:MaximumMember2023-09-300001328792us-gaap:TransferredOverTimeMember2023-07-012023-09-300001328792us-gaap:TransferredAtPointInTimeMember2023-07-012023-09-300001328792tpcs:IndustrialMember2023-07-012023-09-300001328792tpcs:DefenseMember2023-07-012023-09-300001328792us-gaap:TransferredOverTimeMember2023-04-012023-09-300001328792us-gaap:TransferredAtPointInTimeMember2023-04-012023-09-300001328792tpcs:IndustrialMember2023-04-012023-09-300001328792tpcs:DefenseMember2023-04-012023-09-300001328792us-gaap:TransferredOverTimeMember2022-07-012022-09-300001328792us-gaap:TransferredAtPointInTimeMember2022-07-012022-09-300001328792tpcs:IndustrialMember2022-07-012022-09-300001328792tpcs:DefenseMember2022-07-012022-09-300001328792us-gaap:TransferredOverTimeMember2022-04-012022-09-300001328792us-gaap:TransferredAtPointInTimeMember2022-04-012022-09-300001328792tpcs:IndustrialMember2022-04-012022-09-300001328792tpcs:DefenseMember2022-04-012022-09-300001328792us-gaap:IntersegmentEliminationMember2023-07-012023-09-300001328792us-gaap:IntersegmentEliminationMember2023-04-012023-09-300001328792us-gaap:LandMember2023-09-300001328792us-gaap:ConstructionInProgressMember2023-09-300001328792us-gaap:BuildingAndBuildingImprovementsMember2023-09-300001328792tpcs:MachineryEquipmentFurnitureAndFixturesMember2023-09-300001328792us-gaap:LandMember2023-03-310001328792us-gaap:ConstructionInProgressMember2023-03-310001328792us-gaap:BuildingAndBuildingImprovementsMember2023-03-310001328792tpcs:MachineryEquipmentFurnitureAndFixturesMember2023-03-310001328792us-gaap:OperatingSegmentsMembertpcs:StadcoAcquisitionLlcMember2023-07-012023-09-300001328792us-gaap:OperatingSegmentsMembertpcs:RanorIncMember2023-07-012023-09-300001328792us-gaap:CorporateNonSegmentMember2023-07-012023-09-300001328792us-gaap:OperatingSegmentsMembertpcs:StadcoAcquisitionLlcMember2023-04-012023-09-300001328792us-gaap:OperatingSegmentsMembertpcs:RanorIncMember2023-04-012023-09-300001328792us-gaap:CorporateNonSegmentMember2023-04-012023-09-300001328792us-gaap:OperatingSegmentsMembertpcs:StadcoAcquisitionLlcMember2022-07-012022-09-300001328792us-gaap:OperatingSegmentsMembertpcs:RanorIncMember2022-07-012022-09-300001328792us-gaap:CorporateNonSegmentMember2022-07-012022-09-300001328792us-gaap:OperatingSegmentsMembertpcs:StadcoAcquisitionLlcMember2022-04-012022-09-300001328792us-gaap:OperatingSegmentsMembertpcs:RanorIncMember2022-04-012022-09-300001328792us-gaap:CorporateNonSegmentMember2022-04-012022-09-300001328792us-gaap:RetainedEarningsMember2023-07-012023-09-300001328792us-gaap:RetainedEarningsMember2023-04-012023-06-3000013287922023-04-012023-06-300001328792us-gaap:RetainedEarningsMember2022-07-012022-09-300001328792us-gaap:RetainedEarningsMember2022-04-012022-06-300001328792tpcs:RevolverLoanMember2023-03-310001328792tpcs:RevolverLoanMembertpcs:RanorTermLoanMember2016-12-210001328792tpcs:BerkshireLoanMember2023-09-300001328792tpcs:RanorIncMembertpcs:RevolverLoanMember2023-04-012023-09-300001328792tpcs:RevolverLoanMember2023-09-300001328792srt:MinimumMembertpcs:RanorTermLoanMember2023-04-012023-09-300001328792srt:MaximumMembertpcs:RanorTermLoanMember2023-04-012023-09-300001328792tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member2021-08-252021-08-250001328792us-gaap:SecuredDebtMembertpcs:BerkshireLoanMember2017-01-202017-01-200001328792tpcs:RanorTermLoanMember2022-12-230001328792tpcs:RanorTermLoanMember2022-12-200001328792us-gaap:SecuredDebtMembertpcs:BerkshireLoanMember2017-01-200001328792tpcs:RanorIncMembertpcs:RevolverLoanMembertpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member2021-08-250001328792tpcs:RanorIncMemberus-gaap:SecuredDebtMembertpcs:BerkshireLoanMember2016-03-310001328792tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member2023-09-300001328792tpcs:RanorTermLoanAt6.05InterestDueDecember2027Member2023-09-300001328792tpcs:RanorRevolverLoanAt6.93InterestDueDecember2023Member2023-09-300001328792tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member2023-03-310001328792tpcs:RanorTermLoanAt6.05InterestDueDecember2027Member2023-03-310001328792tpcs:RanorRevolverLoanAt6.93InterestDueDecember2023Member2023-03-310001328792tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Membertpcs:FederalHomeLoanBankOfBostonClassicAdvanceRateMember2021-08-252021-08-250001328792us-gaap:UnbilledRevenuesMember2023-09-300001328792tpcs:AdjustmentsProgressPaymentsReceivableMember2023-09-300001328792us-gaap:UnbilledRevenuesMember2023-03-310001328792tpcs:AdjustmentsProgressPaymentsReceivableMember2023-03-310001328792tpcs:CustomerBMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-07-012023-09-300001328792tpcs:CustomerAMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-07-012023-09-300001328792tpcs:Customers.Membertpcs:TradeReceivablesMemberus-gaap:CustomerConcentrationRiskMember2023-04-012023-09-300001328792tpcs:CustomerEMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-04-012023-09-300001328792tpcs:CustomerCMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-04-012023-09-300001328792tpcs:CustomerBMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-04-012023-09-300001328792tpcs:CustomerAMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-04-012023-09-300001328792tpcs:CustomerAMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-04-012023-09-300001328792tpcs:CustomerDMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-07-012022-09-300001328792tpcs:CustomerCMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-07-012022-09-300001328792tpcs:CustomerAMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-07-012022-09-300001328792tpcs:CustomerDMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-04-012023-03-310001328792tpcs:CustomerBMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-04-012023-03-310001328792tpcs:CustomerAMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-04-012023-03-310001328792tpcs:CustomerDMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-04-012022-09-300001328792tpcs:CustomerCMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-04-012022-09-300001328792tpcs:CustomerAMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-04-012022-09-300001328792tpcs:EquityIncentivePlan2016Member2023-09-3000013287922022-09-3000013287922022-03-310001328792tpcs:BerkshireLoanMember2023-04-012023-09-300001328792us-gaap:EmployeeStockOptionMember2023-07-012023-09-300001328792us-gaap:EmployeeStockOptionMember2023-04-012023-09-300001328792us-gaap:EmployeeStockOptionMember2022-04-012022-09-300001328792us-gaap:AdditionalPaidInCapitalMember2022-04-012022-06-3000013287922022-04-012022-06-300001328792us-gaap:AdditionalPaidInCapitalMember2023-07-012023-09-300001328792tpcs:CustomerEMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-09-300001328792tpcs:CustomerCMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-09-300001328792tpcs:CustomerAMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-09-300001328792tpcs:CustomerDMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-03-310001328792tpcs:CustomerBMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-03-310001328792tpcs:CustomerAMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-03-310001328792us-gaap:AdditionalPaidInCapitalMember2022-07-012022-09-300001328792us-gaap:CommonStockMember2022-07-012022-09-300001328792us-gaap:RestrictedStockMember2023-08-032023-08-030001328792srt:MinimumMembertpcs:RanorTermLoanMember2022-10-012022-12-310001328792srt:MaximumMembertpcs:RanorTermLoanMember2022-10-012022-12-310001328792tpcs:RanorTermLoan6.05DueDecember2027Member2021-08-252021-08-250001328792us-gaap:PropertyPlantAndEquipmentMember2021-08-250001328792us-gaap:OperatingSegmentsMember2023-07-012023-09-3000013287922023-07-012023-09-300001328792us-gaap:OperatingSegmentsMember2023-04-012023-09-300001328792us-gaap:OperatingSegmentsMember2022-07-012022-09-300001328792us-gaap:OperatingSegmentsMember2022-04-012022-09-300001328792tpcs:TradeReceivablesMember2023-04-012023-09-300001328792tpcs:RevolverLoanMembertpcs:BerkshireLoanMember2023-04-012023-09-300001328792tpcs:RevolverLoanMembertpcs:BerkshireLoanMember2023-09-300001328792us-gaap:PropertyPlantAndEquipmentMember2021-08-252021-08-250001328792us-gaap:PropertyPlantAndEquipmentMember2023-09-300001328792us-gaap:PropertyPlantAndEquipmentMember2023-03-310001328792us-gaap:OperatingSegmentsMember2022-09-3000013287922022-07-012022-09-300001328792us-gaap:NotesPayableOtherPayablesMembertpcs:BerkshireLoanMember2016-12-212016-12-210001328792us-gaap:RevolvingCreditFacilityMembertpcs:BerkshireLoanMember2016-12-212016-12-210001328792tpcs:RanorIncMembertpcs:BerkshireLoanMember2023-04-012023-09-300001328792srt:MaximumMembertpcs:BerkshireLoanMember2023-09-300001328792srt:ChiefFinancialOfficerMember2023-07-132023-07-130001328792srt:MinimumMembertpcs:BerkshireLoanMember2023-04-012023-09-300001328792srt:MaximumMembertpcs:BerkshireLoanMember2023-04-012023-09-300001328792tpcs:StadcoAcquisitionLlcMember2023-04-012023-09-300001328792tpcs:RanorIncMember2023-04-012023-09-300001328792tpcs:StadcoAcquisitionLlcMember2022-04-012022-09-300001328792tpcs:RanorIncMember2022-04-012022-09-3000013287922022-04-012022-09-300001328792us-gaap:RevolvingCreditFacilityMembertpcs:BerkshireLoanMember2016-12-210001328792tpcs:PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember2023-09-3000013287922023-09-3000013287922023-03-3100013287922023-11-1000013287922023-04-012023-09-30xbrli:sharesiso4217:USDxbrli:puretpcs:customeriso4217:USDxbrli:sharestpcs:item

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 September 30, 2023

or

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

For the transition period from                                to                            

Commission File Number: 000-51378

TechPrecision Corporation

(Exact name of registrant as specified in its charter)

Delaware

    

51-0539828

(State or other jurisdiction of

 

(I.R.S. Employer

incorporation or organization)

 

Identification No.)

1 Bella Drive

    

 

Westminster, MA

 

01473

(Address of principal executive offices)

 

(Zip Code)

 

 

 

Registrant’s telephone number, including area code

 

(978) 874-0591

Securities registered pursuant to Section 12(b) of the Act:

Title of each class

    

Trading Symbol(s)

    

Name of each exchange on which registered

Common Stock, par value $0.0001 per share

TPCS

Nasdaq Capital Market

Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.

      Yes            No

Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§ 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).

      Yes            No

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

Large accelerated filer

 

 

Accelerated filer

Non-accelerated filer

 

 

Smaller reporting company

Emerging growth company

If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards 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

The number of shares outstanding of the registrant’s common stock as of November 10, 2023, was 8,762,432.

PART I

ITEM 1. FINANCIAL STATEMENTS

TECHPRECISION CORPORATION

CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited)

September 30, 

March 31, 

    

2023

    

2023

ASSETS

Current assets:

Cash and cash equivalents

$

138,206

$

534,474

Accounts receivable, net

 

3,020,723

 

2,336,481

Contract assets

 

8,096,608

 

8,947,811

Raw materials

1,925,085

1,692,852

Work-in-process

866,848

719,736

Other current assets

 

466,245

348,983

Total current assets

 

14,513,715

14,580,337

Property, plant and equipment, net

 

15,764,677

13,914,024

Right-of-use asset, net

5,322,118

5,660,938

Deferred income taxes

 

2,254,314

1,931,186

Other noncurrent assets, net

 

121,256

121,256

Total assets

$

37,976,080

$

36,207,741

LIABILITIES AND STOCKHOLDERS’ EQUITY:

Current liabilities:

Accounts payable

$

1,607,001

$

2,224,320

Accrued expenses

 

2,785,839

2,533,185

Contract liabilities

 

3,180,681

2,333,591

Current portion of long-term lease liability

 

721,623

711,727

Current portion of long-term debt, net

6,958,395

1,218,162

Total current liabilities

 

15,253,539

9,020,985

Long-term debt, net

 

4,749,139

Long-term lease liability

4,780,155

5,143,974

Other noncurrent liability

4,428,812

2,699,492

Total liabilities

24,462,506

21,613,590

Commitments and contingent liabilities (see Note 14)

Stockholders’ Equity:

Common stock - par value $.0001 per share, shares authorized: 50,000,000; Shares issued and outstanding: 8,737,432 at September 30, 2023 and 8,613,408 at March 31, 2023

 

874

861

Additional paid in capital

 

14,924,927

14,949,729

Accumulated deficit

 

(1,412,227)

(356,439)

Total stockholders’ equity

 

13,513,574

14,594,151

Total liabilities and stockholders’ equity

$

37,976,080

$

36,207,741

See accompanying notes to the condensed consolidated financial statements.

3

TECHPRECISION CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (unaudited)

Three Months Ended September 30,

Six Months Ended September 30,

    

2023

    

2022

    

2023

    

2022

Net sales

$

7,970,086

$

8,522,647

$

15,341,326

$

15,599,004

Cost of sales

 

6,935,271

6,782,975

13,612,362

13,042,114

Gross profit

 

1,034,815

1,739,672

1,728,964

2,556,890

Selling, general and administrative

 

1,632,168

1,827,095

2,906,117

3,202,322

Loss from operations

(597,353)

(87,423)

(1,177,153)

(645,432)

Other income

 

40,875

73,561

40,876

40,336

Interest expense

 

(148,553)

(83,730)

(242,639)

(167,375)

Refundable employee retention tax credits

 

 

624,045

624,045

Total other (expense) income

 

(107,678)

613,876

(201,763)

497,006

(Loss) income before income taxes

 

(705,031)

526,453

(1,378,916)

(148,426)

Income tax (benefit) expense

(176,698)

135,509

(323,128)

(38,205)

Net (loss) income

$

(528,333)

$

390,944

$

(1,055,788)

$

(110,221)

Net (loss) earnings per share basic

$

(0.06)

$

0.05

$

(0.12)

$

(0.01)

Net (loss) earnings per share diluted

$

(0.06)

$

0.04

$

(0.12)

$

(0.01)

Weighted average shares outstanding - basic

8,720,603

8,584,510

8,667,298

8,580,707

Weighted average shares outstanding - diluted

8,720,603

8,998,195

8,667,298

8,580,707

See accompanying notes to the condensed consolidated financial statements.

4

TECHPRECISION CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY (unaudited)

Retained

 

Common

 

 

Additional

 

Earnings

 

Total

 

Stock

Par

 

Paid in

 

(Accumulated

 

Stockholders’

    

Outstanding

    

Value

    

Capital

    

Deficit)

    

Equity

Balance March 31, 2022

 

8,576,863

$

858

$

14,640,343

$

622,567

$

15,263,768

Stock based compensation

52,107

52,107

Net loss

(501,165)

(501,165)

Balance June 30, 2022

8,576,863

$

858

$

14,692,450

$

121,402

$

14,814,710

Stock-based compensation

46,539

46,539

Stock issued for contingent consideration

9,127

1

56,309

56,310

Stock award nonemployee directors

25,000

2

143,998

144,000

Net income

390,944

390,944

Balance September 30, 2022

8,610,990

$

861

$

14,939,296

$

512,346

$

15,452,503

Balance March 31, 2023

8,613,408

$

861

$

14,949,729

$

(356,439)

$

14,594,151

Net loss

(527,455)

(527,455)

Balance June 30, 2023

8,613,408

$

861

$

14,949,729

$

(883,894)

$

14,066,696

Stock issued for exercised options

109,024

11

(11)

Stock used for tax withholding at exercise

(34,013)

(34,013)

Restricted stock award

15,000

2

(2)

Stock-based compensation

9,224

9,224

Net loss

(528,333)

(528,333)

Balance September 30, 2023

8,737,432

$

874

14,924,927

$

(1,412,227)

$

13,513,574

See accompanying notes to the condensed consolidated financial statements.

5

TECHPRECISION CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited)

Six Months Ended September 30,

    

2023

    

2022

CASH FLOWS FROM OPERATING ACTIVITIES:

 

  

 

  

Net loss

$

(1,055,788)

$

(110,221)

Adjustments to reconcile net loss to net cash provided by operating activities:

 

 

Depreciation and amortization

 

1,128,059

 

1,116,602

Amortization of debt issue costs

 

37,475

 

26,747

Stock-based compensation expense

 

9,224

 

298,957

Change in contract loss provision

 

(43,049)

 

(26,628)

Deferred income taxes

 

(323,128)

 

(38,205)

Gain on disposal of fixed assets

(40,399)

Change in fair value for contingent consideration

63,436

Changes in operating assets and liabilities:

 

Accounts receivable

 

(684,242)

 

968,829

Contract assets

 

851,203

 

(869,853)

Work-in-process and raw materials

 

(379,345)

 

(281,929)

Other current assets

 

(117,262)

 

411,770

Accounts payable

 

(617,319)

 

272,554

Accrued expenses

 

(84,182)

 

(1,243,082)

Contract liabilities

 

847,090

 

41,086

Other noncurrent liabilities

1,729,320

993,203

Net cash provided by operating activities

 

1,257,657

 

1,623,266

CASH FLOWS FROM INVESTING ACTIVITIES:

 

 

Proceeds from insurance claim on fixed assets

61,944

Fixed asset deposit

(574,143)

Purchases of property, plant and equipment

 

(2,658,937)

 

(499,341)

Net cash used in investing activities

(2,596,993)

(1,073,484)

CASH FLOWS FROM FINANCING ACTIVITIES:

 

 

Debt issue costs

(18,862)

Revolver loan payments and borrowings, net

1,250,000

(1,012,002)

Payments of principal for leases

(10,552)

(25,820)

Repayments of long-term debt

 

(296,380)

(309,853)

Net cash provided by (used in) financing activities

 

943,068

 

(1,366,537)

Net decrease in cash and cash equivalents

 

(396,268)

 

(816,755)

Cash and cash equivalents, beginning of period

 

534,474

 

1,052,139

Cash and cash equivalents, end of period

$

138,206

$

235,384

SUPPLEMENTAL DISCLOSURES OF CASH FLOWS INFORMATION:

 

 

Cash paid for interest, net of amounts capitalized

$

201,388

$

135,041

See accompanying notes to the condensed consolidated financial statements.

SUPPLEMENTAL INFORMATION – NONCASH INVESTING AND FINANCING TRANSACTIONS:

On July 13, 2023, our former CFO exercised an option to purchase 125,000 shares of the Company’s common stock pursuant to option awards previously granted under the 2016 Plan. The option was exercised as a cashless net settlement transaction and resulted in the delivery of 109,024 shares of common stock on July 13, 2023.

6

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (unaudited)

NOTE 1 - DESCRIPTION OF BUSINESS

TechPrecision Corporation, or “TechPrecision”, is a Delaware corporation organized in February 2005 under the name Lounsberry Holdings II, Inc. On February 24, 2006, we acquired all of the issued and outstanding capital stock of our wholly owned subsidiary Ranor, Inc., or “Ranor.” Ranor, together with its predecessors, has been in continuous operation since 1956. The company’s name was changed to TechPrecision Corporation on March 6, 2006.

On August 25, 2021, the Company completed its previously announced acquisition of Stadco, pursuant to that certain stock purchase agreement with Stadco New Acquisition, LLC, or “Acquisition Sub”, Stadco Acquisition, LLC, Stadco and each equity holder of Stadco Acquisition, LLC. On the closing date, the Company, through Acquisition Sub, acquired all the issued and outstanding capital stock of Stadco from Stadco Acquisition, LLC in exchange for the issuance of shares of the Company’s common stock to Stadco Acquisition, LLC. As a result of the acquisition, Stadco is now our wholly owned indirect subsidiary.

TechPrecision is the parent company of Ranor, Westminster Credit Holdings, LLC, or “WCH”, Acquisition Sub, and Stadco. TechPrecision, Ranor, WCH, Acquisition Sub and Stadco are collectively referred to as the “Company”, “we”, “us” or “our”.

We manufacture large-scale metal fabricated and machined precision components and equipment. These products are used in a variety of markets, primarily defense and aerospace, and secondarily precision industrial. All our operations and customers are in the United States, or “U.S.”.

NOTE 2 - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES

Basis of Presentation and Consolidation - The accompanying condensed consolidated financial statements include the accounts of TechPrecision, Ranor, Stadco, WCH, and Acquisition Sub. All intercompany transactions and balances have been eliminated in consolidation. The accompanying condensed consolidated balance sheet as of September 30, 2023, the condensed consolidated statements of operations and stockholders’ equity for the three and six months ended September 30, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended September 30, 2023 and 2022 are unaudited, but, in the opinion of management, include all adjustments that are necessary for a fair presentation of our financial statements for interim periods in accordance with U.S. Generally Accepted Accounting Principles, or “U.S. GAAP”. All adjustments are of a normal, recurring nature, except as otherwise disclosed. The results of operations for an interim period are not necessarily indicative of the results of operations to be expected for the fiscal year. On February 23, 2023, the Company effected a one-for-four reverse stock split with respect to the issued and outstanding shares of TechPrecision common stock. All share and per-share amounts included in this Form 10-Q are presented as if the stock split had been effective from the beginning of the earliest period presented.

These notes to the condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission, or the “SEC”, for Quarterly Reports on Form 10-Q. Certain information and disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. These unaudited financial statements and related notes should be read in conjunction with the consolidated financial statements included with our Annual Report on Form 10-K for the fiscal year ended March 31, 2023, filed with the SEC on June 15, 2023.

Use of Estimates in the Preparation of Financial Statements - In preparing the condensed consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the condensed consolidated financial statements and revenues and expenses during the reporting period. We continually evaluate our estimates, including those related to revenue recognition and income taxes. We base our estimates on historical and current experiences and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates.

Liquidity and Going Concern - Our liquidity is highly dependent on the availability of financing facilities and our ability to maintain a gross profit and operating income. For the six months ended September 30, 2023 we reported a net loss ($1,055,788).

7

As of September 30, 2023, we had $3.2 million in total available liquidity, consisting of $0.1 million in cash and cash equivalents, and $3.1 million in undrawn capacity under our revolver loan. As of March 31, 2023, we had $4.7 million in total available liquidity, consisting of $0.5 million in cash and cash equivalents, and $4.2 million in undrawn capacity under our revolver loan.

The Company is the borrower under the Loan Agreement (as defined below; see Note 11 – Debt). There was $7.1 million outstanding under the agreement on September 30, 2023. The maturity date of the revolver loan under the loan agreement is December 20, 2023.

The Company was not in compliance with certain of the financial covenants at September 30, 2023 and has requested a waiver from Berkshire Bank, the lender, but has not yet received approval from the bank. Under the terms of the loan agreement, the bank has the right to demand repayment. If the lender demands repayment the Company will be unable to pay the obligation because the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations. Also, it is probable that the Company will not be in compliance with the same debt covenants at subsequent measurement dates within the next twelve months. As such, all of our long-term debt has been classified as current in our condensed consolidated balance sheet.

Without a waiver, the lender has the right, but not the obligation, to demand repayment from the Company for noncompliance with the debt covenants. In addition, the bank retains the right to act on covenant violations that occur after the date of delivery of any waiver. If the lender were to decline to grant us a waiver and instead demand repayment, we would need to seek alternative financing to pay these obligations as the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations.

The Company is exploring various means of strengthening its liquidity position and ensuring compliance with its debt financing covenants, which may include the obtaining of waivers from our current lender, amending our facility or entering into one or more alternative facilities.

In order for us to continue operations beyond the next twelve months from the date of issuance of the financial statements and to be able to discharge our liabilities and commitments in the normal course of business, we must mitigate our recurring operating losses at our Stadco subsidiary. We must efficiently increase utilization of our manufacturing capacity at our Stadco subsidiary and improve the manufacturing process, so our direct labor hours (inputs) allow us to recognize more revenue over time (outputs) and improve job performance. We plan to closely monitor our expenses and, if required, will reduce operating costs to enhance liquidity.

The uncertainty associated with the recurring operating losses at Stadco, the current violation of debt covenants, and the expected debt covenant violation at subsequent compliance dates raise substantial doubt about our ability to continue as a going concern within one-year after the date the condensed consolidated financial statements included in this Quarterly Report on Form 10-Q are issued.

The condensed consolidated financial statements for the six months ended September 30, 2023 were prepared on the basis of a going concern which contemplates that we will be able to realize assets and discharge liabilities in the normal course of business. Accordingly, they do not give effect to adjustments that would be necessary should we be required to liquidate assets. Our ability to satisfy our current liabilities and to continue as a going concern is dependent upon the Company’s compliance with the debt covenants and its ability to grow revenue and reduce costs at Stadco. The financial statements do not include any adjustments that might result from the outcome of these uncertainties.

New Accounting Standards Recently Adopted

In June 2016, the FASB issued ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, as amended subsequently by ASUs 2018-19, 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The guidance in these ASUs requires that credit losses be reported using an expected losses model rather than the incurred losses model that is currently used. The standard also establishes additional disclosures related to credit risks. This standard was effective for fiscal years beginning after December 15, 2022. The adoption of this ASU on April 1, 2023 did not have a significant impact on the Company’s condensed financial statements and disclosures.

8

NOTE 3 – REVENUE

The Company generates revenue primarily from performance obligations completed under contracts with customers in two main market sectors: defense and precision industrial. The period over which the Company performs its obligations can be between three and thirty-six months. Revenue is recognized over-time or at a point-in-time given the terms and conditions of the related contracts. The Company utilizes an inputs methodology based on estimated labor hours to measure performance progress. This model best depicts the transfer of control to the customer. The Company’s contract portfolio is comprised of fixed-price contracts and provides for product-type sales only. The following table presents net sales on a disaggregated basis by market and contract type:

Net Sales by market

    

Defense

    

Industrial

    

Totals

Three months ended September 30, 2023

$

7,959,628

$

10,458

$

7,970,086

Three months ended September 30, 2022

$

8,385,441

$

137,206

$

8,522,647

Six months ended September 30, 2023

$

15,159,032

$

182,294

$

15,341,326

Six months ended September 30, 2022

$

15,226,365

$

372,639

$

15,599,004

Net Sales by contract type

    

Over-time

    

Point-in-time

    

Totals

Three months ended September 30, 2023

$

7,413,656

$

556,430

$

7,970,086

Three months ended September 30, 2022

$

8,219,139

$

303,508

$

8,522,647

Six months ended September 30, 2023

$

14,347,460

$

993,866

$

15,341,326

Six months ended September 30, 2022

$

14,841,232

$

757,772

$

15,599,004

As of September 30, 2023, the Company had $44.6 million of remaining performance obligations, of which $38.3 million were less than 50% complete. The Company expects to recognize all of its remaining performance obligations as revenue within the next thirty-six months.

We are dependent each year on a small number of customers who generate a significant portion of our business, and these customers change from year to year. The following table sets forth revenues from customers who accounted for more than 10% of our net sales.

Three months ended

Three months ended

Six months ended

Six months ended

September 30, 2023

September 30, 2022

 

September 30, 2023

September 30, 2022

Customer

    

Amount

    

Percent

    

Amount

    

Percent

    

Amount

    

Percent

    

Amount

    

Percent

  

A

$

2,560,204

 

32

%  

$

1,438,049

 

17

%  

$

4,845,478

32

%  

$

2,734,436

18

%

B

$

999,540

 

13

%  

$

*

 

*

%  

$

1,742,776

11

%  

$

*

*

%

C

$

*

*

%  

$

1,614,929

19

%  

$

*

*

%  

$

3,378,520

22

%

D

$

*

*

%

$

1,971,441

23

%

$

*

*

%

$

3,043,315

20

%

*Less than 10% of total

In our condensed consolidated balance sheet, contract assets and contract liabilities are reported in a net position on a contract-by-contract basis at the end of each reporting period. For the six months ended September 30, 2023, we recognized revenue of approximately $1.2 million related to our contract liabilities at April 1, 2023. Contract assets consisted of the following at:

Progress

    

Unbilled

    

payments

    

Total

September 30, 2023

$

20,183,772

$

(12,087,164)

$

8,096,608

March 31, 2023

$

19,485,914

$

(10,538,103)

$

8,947,811

9

NOTE 4 – INCOME TAXES

The Company accounts for income taxes under ASC 740, Income Taxes. The tax provision for interim periods is determined using the estimated annual effective consolidated tax rate, based on the current estimate of full-year earnings before taxes, adjusted for the impact of discrete quarterly items. We recorded an income tax benefit for the three ($176,698) and six months ($323,128) ended September 30, 2023. For the three months ended September 30, 2022, we recorded income tax expense of $135,509, and for the six months ended September 30, 2022 we recorded an income tax benefit ($38,205). The Company’s effective tax rate for the six months ended September 30, 2023 and 2022 was 23.4% and 25.7%, respectively.

The valuation allowance on deferred tax assets was approximately $2.1 million at September 30, 2023. We believe that it is more likely than not that the benefit from certain state net operating losses, or “NOLs”, carryforwards and other deferred tax assets will not be realized. In the event future taxable income is below management’s estimates or is generated in tax jurisdictions different than projected, the Company could be required to increase the valuation allowance for deferred tax assets. This would result in an increase in the Company’s effective tax rate.

NOTE 5 – EARNINGS PER SHARE (EPS)

Basic EPS is computed by dividing reported earnings available to stockholders by the weighted average number of shares outstanding. Diluted EPS also includes the effect of stock options that would be dilutive. The following table provides a reconciliation of the numerators and denominators reflected in the basic and diluted earnings per share computations for the periods ended:

    

Three Months ended

    

Three Months ended

     

Six Months ended

     

Six Months ended

September 30, 2023

September 30, 2022

September 30, 2023

September 30, 2022

Basic EPS

Net (loss) income

$

(528,333)

$

390,944

$

(1,055,788)

$

(110,221)

Weighted average shares

 

8,720,603

8,584,510

8,667,298

8,580,707

Net (loss) earnings per share

$

(0.06)

$

0.05

$

(0.12)

$

(0.01)

Diluted EPS

Net (loss) income

$

(528,333)

$

390,944

$

(1,055,788)

$

(110,221)

Dilutive effect of stock options

 

413,685

Weighted average shares

 

8,720,603

8,998,195

8,667,298

8,580,707

Net (loss) earnings per share

$

(0.06)

$

0.04

$

(0.12)

$

(0.01)

All potential common stock equivalents that have an anti-dilutive effect are excluded from the calculation of diluted EPS (i.e., those that increase income per share or decrease loss per share). For the three months and six months ended September 30, 2023 there were potential anti-dilutive stock options and warrants of 567,500, none of which were included in the earnings per share calculations above. For the six months ended September 30, 2022, there were potential anti-dilutive stock options and warrants of 417,124, none of which were included in the earnings per share calculations above.

10

NOTE 6 – STOCK-BASED COMPENSATION

The 2016 TechPrecision Equity Incentive Plan, or the “2016 Plan”, is designed to reflect our commitment to having best practices in both compensation and corporate governance. The 2016 Plan provides for a share reserve of 1,250,000 shares of common stock.

On July 13, 2023, our former CFO exercised an option to purchase 125,000 shares of the Company’s common stock pursuant to option awards previously granted under the 2016 Plan. The option was exercised as a cashless net settlement transaction and resulted in the delivery of 109,024 shares of common stock on July 13, 2023.

The following table summarizes information about options granted during the most recently completed periods:

Weighted

Average

Weighted

Aggregate

Remaining

Number Of

Average

Intrinsic

Contractual Life

    

Options

    

Exercise Price

    

Value

    

(in years)

Outstanding at March 31, 2023

667,500

$

1.37

$

3,804,625

3.70

Exercised

(125,000)

$

0.68

846,250

Outstanding at September 30, 2023

542,500

$

1.53

$

3,108,950

3.63

Vested or expected to vest at September 30, 2023

 

542,500

$

1.53

$

3,108,950

 

3.63

Exercisable and vested at September 30, 2023

 

542,500

$

1.53

$

3,108,950

 

3.63

The aggregate intrinsic value in the table above represents the total pre-tax intrinsic value (the difference between the closing stock price on the last trading day of the second quarter of fiscal 2024 and the exercise price, multiplied by the number of in-the-money options) that would have been received by the option holders had all option holders exercised their options on September 30, 2023. This amount changes based on the fair market value of the Company’s common stock. The maximum contractual term is ten years for option grants. Other information relating to stock options outstanding at September 30, 2023 is as follows:

Weighted

 

 

Average

 

 

 

 

Remaining

 

Weighted

 

Weighted

Options

 

Contractual

Average

Options

Average

Range of Exercise Prices:

    

Outstanding

    

Term

    

Exercise Price

    

 Exercisable

    

Exercise Price

$0.01-$0.99

 

192,500

 

1.87

$

0.32

 

192,500

$

0.32

$2.00-$2.99

 

350,000

 

3.66

$

2.19

 

350,000

$

2.19

Totals

 

542,500

 

 

  

 

542,500

 

  

On August 3, 2023 the Company issued 15,000 restricted shares of the Company’s common stock to the Company’s new CFO. Under the terms of the employment agreement, provided she remains employed by the Company from the grant date through the applicable vesting dates, 5,000 shares of the restricted stock will vest on each of the first, second, and third anniversaries of the effective employment date of July 17, 2023.

At September 30, 2023, there were 297,500 shares available for grant under the 2016 Plan.

11

NOTE 7 - CONCENTRATION OF CREDIT RISK

We maintain bank account balances, which, at times, may exceed insured limits. We have not experienced any losses with these accounts and believe that we are not exposed to any significant credit risk on cash.

On September 30, 2023, there were trade accounts receivable balances outstanding from three customers comprising 56% of the total trade receivables balance. The following table sets forth information as to trade accounts receivable from customers which accounted for more than 10% of our accounts receivable balance as of:

September 30, 2023

March 31, 2023

 

Customer

    

Dollars

    

Percent

    

Dollars

    

Percent

 

A

$

809,255

 

28

%  

$

730,514

 

31

%

B

$

*

 

*

%  

$

260,177

 

11

%

C

$

448,127

 

15

%  

$

*

 

*

%

D

$

*

 

*

%  

$

265,755

 

11

%

E

$

375,811

 

13

%  

$

*

 

*

%

*less than 10% of total

NOTE 8 - OTHER CURRENT ASSETS

Other current assets included the following as of:

    

September 30, 2023

    

March 31, 2023

Prepaid taxes

$

80,028

$

9,616

Prepaid insurance

 

143,928

 

162,075

Prepaid subscriptions

 

182,668

 

120,570

Deposits

21,706

21,706

Employee advances

 

16,163

4,561

Prepaid advisory fees, other

 

21,752

30,455

Total

$

466,245

$

348,983

NOTE 9 - PROPERTY, PLANT AND EQUIPMENT, NET

Property, plant and equipment, net consisted of the following as of:

    

September 30, 2023

    

March 31, 2023

Land

$

110,113

$

110,113

Building and improvements

 

3,293,986

3,293,986

Machinery equipment, furniture, and fixtures

 

25,671,848

23,018,713

Construction-in-progress

 

114,990

149,576

Total property, plant, and equipment

 

29,190,937

26,572,388

Less: accumulated depreciation and amortization

 

(13,426,260)

(12,658,364)

Total property, plant and equipment, net

$

15,764,677

$

13,914,024

We capitalize interest on borrowings during active construction periods for major capital projects. Capitalized interest is added to the cost of the underlying assets and is amortized over the useful lives of the assets. Interest capitalized for the six months ended September 30, 2023 was $14,455.

12

NOTE 10 - ACCRUED EXPENSES

Accrued expenses included the following as of:

    

September 30, 2023

    

March 31, 2023

Accrued compensation

$

1,203,466

$

1,257,245

Provision for claims

234,472

256,227

Provision for contract losses

 

148,503

102,954

Accrued professional fees

 

487,631

241,195

Accrued project costs

 

558,010

440,550

Other

 

153,757

235,014

Total

$

2,785,839

$

2,533,185

Accrued compensation includes amounts for executive bonuses, payroll and vacation and holiday pay. Provisions for estimated losses on uncompleted contracts are made in the period in which such losses are determined. Changes in the provision are recorded in cost of sales. Accrued project costs are estimates for certain project expenses during the reporting period.

NOTE 11 – DEBT

Long-term debt included the following as of:

    

September 30, 2023

    

March 31, 2023

Stadco Term Loan, at 3.79% interest, due August 2028

$

2,919,712

$

3,186,495

Ranor Term Loan, at 6.05% interest, due December 2027

2,246,920

2,276,518

Ranor Revolver Loan, at 7.69% interest, due December 2023

1,900,000

650,000

Total debt

$

7,066,632

$

6,113,013

Less: debt issue costs unamortized

$

108,237

$

145,712

Total debt, net

$

6,958,395

$

5,967,301

Less: Current portion of long-term debt

$

6,958,395

$

1,218,162

Total long-term debt, net

$

$

4,749,139

Amended and Restated Loan Agreement

On August 25, 2021, the Company entered into an amended and restated loan agreement with Berkshire Bank, or the “Loan Agreement”. Under the Loan Agreement, Berkshire Bank will provide the Ranor Term Loan (as defined below) and the revolving line of credit, or the “Revolver Loan”. In addition, Berkshire Bank provided the Stadco Term Loan (as defined below) in the original amount of $4.0 million. The proceeds of the original Ranor Term Loan of $2.85 million were previously used to refinance existing mortgage debt of Ranor. The proceeds of the Revolver Loan are used for working capital and general corporate purposes of the Company. The proceeds of the Stadco Term Loan were to be used to support the acquisition of Stadco and refinance existing indebtedness of Stadco.

Stadco Term Loan

On August 25, 2021, Stadco borrowed $4.0 million from Berkshire Bank, or the “Stadco Term Loan”, under the Loan Agreement. Interest on the Stadco Term Loan is due on unpaid balances beginning on August 25, 2021 at a fixed rate per annum equal to the 7 year Federal Home Loan Bank of Boston Classic Advance Rate plus 2.25%. Since September 25, 2021 and on the 25th day of each month thereafter, Stadco had made and will make monthly payments of principal and interest in the amount of $54,390 each, with all remaining outstanding principal and accrued interest due and payable on August 25, 2028. Interest shall be calculated based on actual days elapsed and a 360-day year.

Unamortized debt issue costs on September 30, 2023 and March 31, 2023 were $36,945 and $44,482, respectively.

Ranor Term Loan and Revolver Loan

A term loan was made to Ranor by Berkshire Bank in 2016 in the amount of $2.85 million, or the “Ranor Term Loan”. Payments began on January 20, 2017, and were made in monthly installments of $19,260 each, inclusive of interest at a fixed rate of 5.21% per annum, with all outstanding principal and accrued interest due and payable on the original maturity date, December 20, 2021, which was extended to December 20, 2022.

13

On December 23, 2022, Ranor and certain affiliates of the Company entered into a Fifth Amendment to Amended and Restated Loan Agreement, Fifth Amendment to Promissory Note and First Amendment to Second Amended and Restated Promissory Note, or the “Amendment”. Effective as of December 20, 2022, the Amendment, among other things (i) extends the maturity date of the Ranor Term Loan to December 15, 2027, (ii) extends the maturity date of the Revolver Loan from December 20, 2022 to December 20, 2023, (iii) increases the interest rate on the Ranor Term Loan from 5.21% to 6.05% per annum, (iv) decreases the monthly payment on the Ranor Term Loan from $19,260 to $16,601, (v) replaces LIBOR as an option for the benchmark interest rate for the Revolver Loan with the Secured Overnight Financing Rate, or “SOFR”, (vi) replaces LIBOR-based interest pricing conventions with SOFR-based pricing conventions, including benchmark replacement provisions, and (vii) solely with respect to the fiscal quarter ending December 31, 2022, lowers the debt service coverage ratio from at least 1.2 to 1.0 to 1.1 to 1.0.

Under the Loan Agreement, Berkshire Bank also makes available to Ranor the Revolver Loan, which has a maximum principal amount available of $5.0 million. Advances under the Revolver Loan are subject to a borrowing base equal to the lesser of (a) $5.0 million or (b) the sum of (i)80% of the net outstanding amount of Base Accounts, plus (ii) the lesser of (x) 25% of Eligible Raw Material Inventory, and (y) $250,000, plus (iii) 80% of the Appraised Value of the Eligible Equipment, as such terms are defined in the Loan Agreement.

The Company agrees to pay to Berkshire Bank, as consideration for Berkshire Bank’s agreement to make the Revolver Loan available, a nonrefundable Revolver Loan fee equal to 0.25% per annum (computed based on a year of 360 days and actual days elapsed) on the difference between the amount of: (a) $5.0 million, and (b) the average daily outstanding balance of the Revolver Loan during the quarterly period then ended. All Revolver Loan fees are payable quarterly in arrears on the first day of each January, April, July and October and on the Revolver Maturity Date, or upon acceleration of the Revolver Loan, if earlier.

Under the amended promissory note for the Revolver Loan, the Company can elect to pay interest at the Term SOFR-based rate or an Adjusted Prime Rate, each as defined in the agreement. Interest-only payments on advances made under the Revolver Loan will continue to be payable monthly in arrears. The prior LIBOR-based rate expired on December 20, 2022.

There was approximately $1.9 million outstanding under the Revolver Loan at September 30, 2023. Interest paid and accrued under the Revolver Loan was $83,182 for the six months ended September 30, 2023. The weighted average interest rate for the first six months of fiscal 2024 was 7.46%. Unused borrowing capacity at September 30, 2023 and March 31, 2023 was approximately $3.1 million and $4.2 million, respectively.

Unamortized debt issue costs at September 30, 2023 and March 31, 2023 were $71,292 and $101,230, respectively.

Berkshire Loan Covenants

For purposes of this discussion, Ranor and Stadco are referred to together as the “Borrowers”. The Ranor Term Loan, the Stadco Term Loan and the Revolver Loan, or together, the “Berkshire Loans”, may be accelerated upon the occurrence of an event of default as defined in the Loan Agreement. Upon the occurrence and during the continuance of certain default events, at the option of Berkshire Bank, or automatically without notice or any other action upon the occurrence of certain other events specified in the Loan Agreement, the unpaid principal amount of the Berkshire Loans together with accrued interest and all other obligations owing by the Borrowers to Berkshire Bank would become immediately due and payable without presentment, demand, protest, or further notice of any kind.

The Company agreed to maintain compliance with certain financial covenants under the Loan Agreement. Namely, the Borrowers agree to maintain the ratio of the Cash Flow of TechPrecision-to-the Total Debt Service of TechPrecision of not less than 1.20 to 1.00 (except for the fiscal quarter ended December 31, 2022, in which case such ratio of Cash Flow to Total Debt Service was to be not less than 1.10 to 1.00), measured quarterly on the last day of each fiscal quarter, or annual period of TechPrecision on a trailing 12-month basis, commencing with the fiscal quarter ending as of September 30, 2021. Calculations will be based on the audited (year-end) and unaudited (quarterly) consolidated financial statements of TechPrecision. Quarterly tests will be measured based on the financial statements included in the Company’s quarterly reports on Form 10-Q within 60 days of the end of each quarter, and annual tests will be measured based on the financial statements included in the Company’s annual reports on Form 10-K within 120 days after the end of each fiscal annual period. Cash Flow means an amount, without duplication, equal to the sum of net income of TechPrecision plus (i) interest expense, plus (ii) taxes, plus (iii) depreciation and amortization, plus (iv) stock based compensation expense taken by TechPrecision, plus (v) non-cash losses and charges and one time or non-recurring expenses at Berkshire Bank’s discretion, less (vi) the amount of cash distributions, if any, made to stockholders or owners of TechPrecision, less (vii) cash taxes paid by the TechPrecision, all as determined in accordance with U.S. GAAP. “Total Debt Service” means an amount, without duplication, equal to the sum of (i) all amounts of cash

14

interest paid on liabilities, obligations, and reserves of TechPrecision paid by TechPrecision, (ii) all amounts paid by TechPrecision in connection with current maturities of long-term debt and preferred dividends, and (iii) all payments on account of capitalized leases, all as determined in accordance with U.S. GAAP.

The Borrowers agree to cause their Balance Sheet Leverage to be less than or equal 2.50 to 1.00. For purposes of this covenant, “Balance Sheet Leverage” means, at any date of determination, the ratio of Borrowers’ (a) Total Liabilities, less Subordinated Debt, to (b) Net Worth, plus Subordinated Debt.

The Borrowers agree that their combined annual capital expenditures shall not exceed $1.5 million, subject to certain agreed-upon exclusions. Compliance is tested annually.

The Borrowers agree to maintain a Loan-to-Value Ratio of not greater than 0.75 to 1.00. “Loan-to-Value Ratio” means the ratio of (a) the sum of the outstanding balance of the Ranor Term Loan and the Stadco Term Loan to (b) the fair market value of the property pledged as collateral for the loan, as determined by an appraisal obtained from time to time by Berkshire Bank, but not more frequently than one time during each 365 day period (provided that Berkshire Bank may obtain an appraisal at any time after either the Ranor Term Loan or the Stadco Term Loan has been accelerated), which appraisals shall be at the expense of the Borrowers.

On June 12, 2023, the Company and Berkshire Bank executed a waiver under which Berkshire Bank waived the Company’s noncompliance with the capital expenditure limit on March 31, 2023. The waiver document also contains an agreement by the parties to exclude from the calculation of capital expenditures for purposes of the Loan Agreement during the year ending March 31, 2024 any such expenditures made by the Company to the extent they are made using funds provided by customers of the Company for the purpose of making such capital expenditures.

The Company was not in compliance with the debt service coverage ratio covenant at September 30, 2023 and has requested a waiver from Berkshire Bank, the lender. Also, it is probable that the Company will not be in compliance with the debt covenants at subsequent measurement dates. As such, all of our long-term debt has been classified as current in our condensed consolidated balance sheet.

Collateral securing all the above obligations comprises all personal and real property of the Company, including cash, accounts receivable, inventories, equipment, and financial assets. The carrying value of short and long-term borrowings approximates their fair value. The Company’s short-term and long-term debt is all privately held with no public market for this debt and is considered to be Level 3 under the fair value hierarchy.

NOTE 12 - OTHER NONCURRENT LIABILITIES

Under an addendum to a contract purchase order, one of our customers agreed to reimburse the Company for the cost of certain new equipment. Payments are received as the Company’s incurs construction costs. We received the first payment in January 2022, with additional payments received during fiscal 2023 and the six months ended September 30, 2023. In case of a contract breach, at the time of the breach, the customer may claw back the funds based on a prorated ten-year straight-line annual declining balance recovery period. This liability amount was included in the Company’s balance sheet as a noncurrent liability as of September 30, 2023 and March 31, 2023 for $3.1 million and $1.2 million, respectively. In September 2023, the Company agreed to and signed another addendum for additional equipment upgrades.

Stadco entered into the Payment Agreement with the Department of Water and Power of the City of Los Angeles (the “LADWP”) to settle previously outstanding amounts for water, water service, electric energy and/or electric service in the aggregate amount of $1,770,201 that were delinquent and unpaid. Under the Payment Agreement, Stadco will make monthly installment payments on the unpaid balance beginning on December 15, 2022, in an aggregate amount of $18,439 per month until the earlier of November 15, 2030, or the amount due is paid in full. Late payments under the Payment Agreement accrue a late payment charge equal to an 18% annual rate on the unpaid balance. This liability amount was included in the Company’s balance sheet as a current and noncurrent liability as of September 30, 2023 and March 31, 2023 for $0.2 million and $1.4 million, and $0.2 million, and $1.5 million, respectively.

15

NOTE 13 – LEASES

On August 25, 2021, Stadco became party to an amended building and property operating lease and recorded a right of use asset and liability of $6.6 million. Monthly base rent for the property is $82,998 per month. The term of the lease will expire on June 30, 2030, and the lessee has no right of renewal beyond the expiration date. The lease contains customary default provisions allowing the landlord to terminate the lease if the lessee fails to remedy a breach of its obligations under the lease within the period specified in the lease, or upon certain events of bankruptcy or seizure or attachment of the lessee’s assets or interest in the lease. The lease also contains other customary provisions for real property leases of this type.

The following table lists our right-of-use assets and liabilities on our condensed consolidated balance sheets at:

    

September 30, 2023

    

March 31, 2023

Finance lease:

 

  

Right of use asset – operating lease

$

6,629,396

$

6,629,396

Right of use asset – finance leases

65,016

65,016

Amortization

(1,372,294)

(1,033,474)

Right of use asset, net

$

5,322,118

$

5,660,938

Lease liability – operating lease

$

5,475,993

$

5,819,365

Lease liability – finance leases

25,785

36,336

Total lease liability

$

5,501,778

$

5,855,701

Other supplemental information regarding our leases is contained in the following tables:

Components of lease expense for the six months ended:

    

September 30, 2023

    

September 30, 2022

Operating lease amortization

$

330,130

$

317,529

Finance lease amortization

$

8,690

$

11,411

Finance lease interest

$

496

$

544

Weighted average lease term and discount rate at:

    

September 30, 2023

    

September 30, 2022

 

Lease term (years) – operating lease

 

6.75

7.75

Lease term (years) – finance lease

2.15

2.66

Lease rate – operating lease

4.5

%

4.5

%

Lease rate – finance lease

 

4.5

%

3.7

%

Supplemental cash flow information related to leases for the six months ended:

    

September 30, 2023

    

September 30, 2022

Cash used in operating activities

$

469,401

$

386,786

Cash used in financing activities

$

10,552

$

25,820

Maturities of lease liabilities at September 30, 2023 for the next five years and thereafter:

2024

    

$

950,791

2025

 

948,701

2026

 

943,751

2027

 

938,802

2028

938,802

Thereafter

 

1,642,902

Total lease payments

$

6,363,749

Less: imputed interest

 

861,971

Total

$

5,501,778

16

NOTE 14 – COMMITMENTS AND CONTINGENCIES

Employment Agreements

We have employment agreements with each of our executive officers. Such agreements provide for minimum salary levels, adjustable annually, and incentive bonuses that are payable if specified company goals are attained. The aggregate commitment at September 30, 2023 for future executive salaries and bonus was approximately $0.7 million. The aggregate commitment at September 30, 2023 for accrued payroll, vacation and holiday pay was approximately $1.0 million for the remainder of our employees.

Retirement Benefits

Ranor has a defined contribution and savings plan that covers substantially all Ranor employees who have completed 90 days of service. Ranor retains the option to match employee contributions. For the three and six months ended September 30, 2023, the Company contributed $21,543 and $42,997, respectively, and for the three and six months ended September 30, 2022, the Company contributed $22,123 and $44,122, respectively.

Legal Proceeding

On or about July 21, 2023, pursuant to the Labor Code Private Attorneys General Act of 2004, a former employee of Stadco provided notice on behalf of himself and of all individuals currently and formerly employed in California as non-exempt or hourly paid employees, or the plaintiffs, against Stadco, a California corporation, to recover alleged unpaid wages, damages, and attorney’s fees for certain violations of the California Labor Code. Stadco has retained outside legal counsel to defend this action. The claim is in early stage of discovery and the amount of any loss cannot be reasonably estimated at this date.

NOTE 15 – SEGMENT INFORMATION

The Company has two wholly owned subsidiaries, Ranor and Stadco, that are reportable segments. The accounting policies of the segments are the same as those described in the summary of significant accounting policies. All of the Company’s operations, assets, and customers are located in the U.S.

17

Each reportable segment focuses on the manufacture and assembly of specific components, primarily for defense, aerospace and other precision industrial customers. However, both segments have separate operating, engineering, and sales teams. The Chief Operating Decision Maker, or “CODM”, evaluates the performance of our segments based upon, among other things, segment net sales and operating profit. Segment operating profit excludes general corporate costs. Corporate costs include executive and director compensation, stock-based compensation, and other corporate and administrative expenses not allocated to the segments. The segment operating profit metric is what the CODM uses in evaluating our results of operations and the financial measure that provides insight into our overall performance and financial position. The following table provides summarized financial information for our segments:

Three Months Ended

Six Months Ended

September 30,

September 30,

    

2023

    

2022

    

2023

    

2022

Ranor

$

4,495,747

$

4,933,653

$

8,994,844

$

9,659,584

Stadco

 

3,606,014

 

3,588,994

6,573,147

5,939,420

Intersegment elimination

(131,675)

(226,665)

Net sales from external customers

7,970,086

8,522,647

15,341,326

15,599,004

Ranor

 

672,601

 

1,556,110

1,547,204

2,993,666

Stadco

 

(322,741)

 

(755,299)

(1,227,265)

(2,214,090)

Corporate and unallocated (1)

(947,213)

(888,234)

(1,497,092)

(1,425,008)

Total operating loss

(597,353)

(87,423)

(1,177,153)

(645,432)

ERTC refundable credits

624,045

624,045

Other income

40,875

73,561

40,876

40,336

Interest expense

 

(148,553)

 

(83,730)

(242,639)

(167,375)

Consolidated (loss) income before income taxes

$

(705,031)

$

526,453

$

(1,378,916)

$

(148,426)

Depreciation and amortization:

 

 

Ranor

$

263,206

$

264,143

Stadco

 

864,853

 

852,459

Totals

$

1,128,059

$

1,116,602

Capital expenditures

 

 

Ranor

$

2,654,407

$

99,836

Stadco

 

4,530

 

399,505

Totals

$

2,658,937

$

499,341

(1)Corporate general costs include executive and director compensation, and other corporate administrative expenses not allocated to the segments. Prior period segment data is revised to reflect current period updates to unallocated corporate administrative expense.

NOTE 16 – SUBSEQUENT EVENTS

On October 11, 2023, we granted a total of 25,000 shares of restricted stock under the 2016 Plan to the board of directors. The stock-based compensation expense for service-based restricted stock will be measured at fair value on the date of grant based on the number of shares expected to vest and the quoted market price of the Company’s common stock.

On October 30, 2023, the Company and one of its employees were named as defendants in an action alleging individual claims of discrimination and wage and hour violations, along with representative wage and hour claims brought pursuant to the Labor Code Private Attorneys General Act of 2004 (“PAGA”) in the Superior Court of the State of California of the County of Los Angeles – Central District. In the complaint, captioned Ibarra v. Stadco (23ST- CV-26591), a former employee of Stadco, seeks to recover alleged damages, unpaid wages, penalties, and attorney’s fees on behalf of himself. In addition, the former employee seeks to recover PAGA penalties going back one year, along with his attorney’s fees, on behalf of all individuals currently and formerly employed by the Company’s Stadco subsidiary in California as non-exempt or hourly paid employees, for certain violations of the California Labor Code. Stadco has retained outside legal counsel to defend this action. The claim is in early stage of discovery and the amount of any loss cannot be reasonably estimated at this date.

18

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

Statement Regarding Forward Looking Disclosure

The following discussion of our financial condition and results of operations should be read in conjunction with our condensed consolidated financial statements and the related notes, which appear elsewhere in this Quarterly Report on Form 10-Q. This Quarterly Report on Form 10-Q, including this section titled “Management’s Discussion and Analysis of Financial Condition and Results of Operations,” may contain predictive or “forward-looking statements” within the meaning of the Private Securities Litigation Reform Act of 1995. All statements other than statements of current or historical fact contained in this quarterly report, including statements that express our intentions, plans, objectives, beliefs, expectations, strategies, predictions, or any other statements relating to our future activities or other future events, or conditions are forward-looking statements. The words “anticipate,” “believe,” “continue,” “could,” “estimate,” “expect,” “intend,” “may,” “plan,” “predict,” “project,” “will,” “should,” “would” and similar expressions, as they relate to us, are intended to identify forward-looking statements.

These forward-looking statements are based on current expectations, estimates and projections made by management about our business, our industry and other conditions affecting our financial condition, results of operations or business prospects. These statements are not guarantees of future performance and involve risks, uncertainties and assumptions that are difficult to predict. Therefore, actual outcomes and results may differ materially from what is expressed or forecasted in, or implied by, the forward-looking statements due to numerous risks and uncertainties. Factors that could cause such outcomes and results to differ include, but are not limited to, risks and uncertainties arising from:

our reliance on individual purchase orders, rather than long-term contracts, to generate revenue;
our ability to balance the composition of our revenues and effectively control operating expenses;
external factors that may be outside our control: including health emergencies, like epidemics or pandemics, the conflicts in Eastern Europe and the Middle East, price inflation, interest rates increases, and supply chain inefficiencies;
the availability of appropriate financing facilities impacting our operations, financial condition and/or liquidity;
our ability to receive contract awards through competitive bidding processes;
our ability to maintain standards to enable us to manufacture products to exacting specifications;
our ability to enter new markets for our services;
our reliance on a small number of customers for a significant percentage of our business;
competitive pressures in the markets we serve;
changes in the availability or cost of raw materials and energy for our production facilities;
restrictions in our ability to operate our business due to our outstanding indebtedness;
government regulations and requirements;
pricing and business development difficulties;
changes in government spending on national defense;
our ability to make acquisitions and successfully integrate those acquisitions with our business;

19

our failure to maintain effective internal controls over financial reporting;
general industry and market conditions and growth rates, and
those risks discussed in “Item 1A. Risk Factors” and elsewhere in our Annual Report on Form 10-K, as well as those described in any other filings which we make with the SEC.

Any forward-looking statements speak only as of the date on which they are made, and we undertake no obligation to publicly update or revise any forward-looking statements to reflect events or circumstances that may arise after the date of this Quarterly Report on Form 10-Q, except as required by applicable law. Investors should evaluate any statements made by us in light of these important factors.

Overview

Contract Manufacturing

Through our two wholly owned subsidiaries, Ranor and Stadco, each of which is a reportable segment, we offer a full range of services required to transform raw materials into precision finished products. Our manufacturing capabilities include fabrication operations (cutting, press and roll forming, assembly, welding, heat treating, testing, and finishing) and machining operations including CNC (computer numerical controlled) horizontal and vertical machining centers. We also provide support services to our manufacturing capabilities: manufacturing engineering (planning, fixture and tooling development, manufacturing), CNC programming, materials procurement, quality control (material traceability, material receipt inspection, NDT (non-destructive testing) dimensional inspection, and document control), production control (scheduling and project management) and final packaging.

All manufacturing is done in accordance with our quality assurance programs, in conjunction with customer flow-downs and specifications. The customer flow-downs of specifications and standards are specific to each customer purchase order, and our manufacturing operations are conducted in accordance with each specific purchase order.

Because our revenues are derived from the sale of goods manufactured pursuant to contracts, and we do not sell from inventory, it is necessary for us to constantly seek new contracts. There may be a time lag between our completion of one contract and commencement of work on another contract. During such periods, we may continue to incur overhead expense but with lower revenue resulting in lower operating margins. Furthermore, changes in either the scope of an existing contract or related delivery schedules may impact the revenue we receive under the contract and the allocation of manpower. Although we provide manufacturing services for large governmental programs, we usually do not work directly for the government or its agencies. Rather, we perform our services for large governmental contractors. Our business is dependent in part on the continuation of government programs that require our services and products.

Our contracts are generated both through negotiation with the customer and from bids made pursuant to a request for proposal. Our ability to receive contract awards is dependent upon the contracting party’s perception of such factors as our ability to perform on time, our history of performance, including quality, our financial condition, and our ability to price our services competitively. Although some of our contracts contemplate the manufacture of one or a limited number of units, we continue to seek more long-term projects with predictable cost structures.

All the Company’s operations, assets, and customers are located in the U.S.

Critical Accounting Policies and Estimates

The preparation of the condensed consolidated financial statements requires that we make estimates and judgments that affect the reported amounts of assets, liabilities, revenues and expenses, and related disclosure of contingent assets and liabilities. We base our estimates on historical experience and various other assumptions that are believed to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. We continually evaluate our estimates, including those related to revenue recognition and income taxes. These estimates and assumptions require management’s most difficult, subjective or complex judgments. Actual results may vary under different assumptions or conditions.

20

We consider the principles and estimates applied for revenue recognition to be one of the most critical accounting estimates that we make. Our revenue can fluctuate from quarter-to-quarter as we measure revenue recognition over the duration of a project, or at the end of the project. The Company records most of its revenue over time as it completes performance obligations or at a point-in-time, for example, at the delivery date, when control of the promised goods are transferred to the customer. Project volume for revenue recognized at a point-in-time is generally smaller, can fluctuate from period to period, and is difficult to forecast.

We measure progress for performance obligations satisfied over time using input methods, for example, labor hours expended and time elapsed. As a result, assuming a steady flow of project volume and labor hours, we have the ability to deliver a fair and accurate flow of revenue over time. When project volume is higher or lower, we may report higher or lower amounts of revenue for those given quarterly periods.

Our significant accounting policies are set forth in detail in Note 2 to the consolidated financial statements included in the 2023 Annual Report on Form 10-K. There were no significant changes to our critical accounting policies during the six months ended September 30, 2023.

New Accounting Standards

See Note  2, Basis of Presentation and Significant Accounting Policies, in the Notes to the Unaudited Condensed Consolidated Financial Statements under “Item 1. Financial Statements”, for a discussion of recently adopted new accounting guidance.

Results of Operations

Our results of operations are affected by a number of external factors including the availability of customer furnished material, raw materials, commodity prices (particularly steel), macroeconomic factors, including the availability of capital that may be needed by our customers, and political, regulatory and legal conditions in the United States and in foreign markets. It generally takes approximately twelve months or less to complete our manufacturing projects. However, contracts for larger complex components can take up to thirty-six months or more to complete. Units manufactured under the majority of our customer contracts have historically been delivered on time and with a positive gross margin, with some exceptions. Our results of operations are also affected by our success in booking new contracts, the timing of revenue recognition, delays in customer acceptances of our products, delays in deliveries of ordered products and our rate of progress fulfilling obligations under our contracts. A delay in deliveries or cancellations of orders could have an unfavorable impact on liquidity, cause us to have inventories in excess of our short-term needs, and delay our ability to recognize, or prevent us from recognizing, revenue on contracts in our order backlog.

We evaluate the performance of our segments based upon, among other things, segment net sales and operating profit. Segment operating profit excludes general corporate costs, which include executive and director compensation, stock-based compensation, certain pension and other retirement benefit costs, and other corporate facilities and administrative expenses not allocated to the segments. Also excluded are items that we consider not representative of ongoing operations, such as refundable employee retention tax credits.

Key Performance Indicators

While we prepare our financial statements in accordance with U.S. generally accepted accounting principles, or “U.S. GAAP”, we also utilize and present certain financial measures that are not based on or included in U.S. GAAP. We refer to these as non-GAAP financial measures. Please see the section titled “EBITDA Non-GAAP financial measure” below for further discussion of these financial measures, including the reasons why we use such financial measures and reconciliations of such financial measures to the most directly comparable U.S. GAAP financial measures.

Percentages in the following tables and throughout this “Results of Operations” section may reflect rounding adjustments. Prior period segment data is revised to reflect new allocations. Prior period Selling, General and Administrative, or “SG&A”, segment data is revised to reflect current period updates to unallocated corporate administrative expense.

21

Three Months Ended September 30, 2023 and 2022

The following table presents net sales, cost of sales and gross profit, consolidated and by reportable segment:

    

September 30, 2023

    

September 30, 2022

    

Changes

 

Percent of

Percent of

(dollars in thousands)

Amount

    

Net sales

Amount

    

Net sales

Amount

    

Percent

 

Net sales

Ranor

$

4,495

 

55

%  

$

4,934

 

58

%  

$

(439)

 

(9)

%

Stadco

3,606

 

45

%  

3,589

 

42

%  

17

 

1

%

Intersegment elimination

(131)

 

%  

 

%  

(131)

 

nm

%

Consolidated Net sales

$

7,970

 

100

%  

$

8,523

 

100

%  

$

(553)

 

(6)

%

Cost of sales

Ranor

$

3,320

 

42

%  

$

2,907

 

34

%  

$

413

 

14

%

Stadco

3,615

 

45

%  

3,876

 

46

%  

(261)

 

(7)

%

Consolidated Cost of sales

$

6,935

 

87

%  

$

6,783

 

80

%  

$

152

 

2

%

Gross profit (loss)

Ranor

$

1,044

13

%  

$

2,027

23

%  

$

(983)

(48)

%

Stadco

(9)

%  

(287)

(3)

%  

278

97

%

Consolidated Gross profit

$

1,035

13

%  

$

1,740

20

%  

$

(705)

(41)

%

nm - not meaningful

Net Sales

Consolidated - Period-to-period revenues reflect production performance under new and ongoing contracts with changes in net sales due to varying production activity levels. For the second quarter, almost 100% of our sales were to the defense sector, where we have customers in the aerospace, military and shipbuilding industries.

Consolidated net sales were $8.0 million for the three months ended September 30, 2023, or 6% lower when compared to net sales of $8.5 million for the three months ended September 30, 2022. Both segments logged a different mix of products, average price, and labor hours for the comparable periods. Net sales decreased by $0.4 million at Ranor and decreased by $0.1 million at Stadco. The defense backlog remains strong as new orders for components related to a variety of programs, including the U.S. Navy submarine programs, and the U.S. Marine Corps heavy lift helicopter programs continue to flow down from our existing customer base of prime defense contractors.

Ranor – Net sales were $4.5 million for the three months ended September 30, 2023, a decrease of $0.4 million or 9% when compared to the same period in the prior year. All the net sales in the second quarter of fiscal 2024 were in the defense sector. The second quarter of fiscal 2024 had a different mix of products for U.S. Navy submarine projects, and experienced supply chain impacts on customer furnished material. We recorded a $0.7 million decrease when compared to the same period last year. That decrease was offset in part by a revenue increase of $0.3 million from a non-submarine customer.

Stadco - Net sales were $3.5 million for the three months ended September 30, 2023, a decrease of $114,000 when compared to the three months ended September 30, 2022. An increase in net sales for heavy lift helicopter and military products of $1.0 million was more than offset by a decrease of $1.1 million with other customers.

22

Cost of Sales and Gross Profit

Consolidated Cost of sales consists primarily of raw materials, parts, labor, overhead and subcontracting costs. Our cost of sales for the three months ended September 30, 2023, was $6.9 million, or 2% higher when compared to the three months ended September 30, 2022. The increase in cost of sales was primarily the result of a less favorable project mix at Ranor, offset in part by better throughput at Stadco. Gross profit decreased by $0.7 million, or 41% when compared to the same period a year ago. Gross margin for the three months ended September 30, 2023 was 13.0% compared to 20.4% in the same period a year ago.

Ranor – Gross profit decreased by $1.0 million or 48% due primarily to lower revenue and a less favorable project mix with lower gross margins than the same prior year period. We realized fewer direct labor hours of input for the three months ended September 30, 2023 due to employee turnover and training. As a result, overhead was under-absorbed as the amount applied to our work-in-progress was less than the overhead applied for the three months ended September 30, 2022.

Stadco – Gross profit and gross margin were relatively improved for the three months ended September 30, 2023 as losses decreased when compared to the three months ended September 30, 2022. Stadco improved year over year with better margins on projects, partially offset by an increase in under-absorbed factory overhead. With revenue growth, we should see improvement in gross profit and gross margin in future quarters.

Selling, General and Administrative (SG&A) Expenses

September 30, 2023

September 30, 2022

Changes

 

Percent of

Percent of

(dollars in thousands)

     

Amount

    

Net Sales

    

Amount

    

Net Sales

    

Amount

    

Percent

 

Ranor

$

371

5

%  

$

471

6

%  

$

(100)

(21)

%

Stadco

314

4

%  

468

5

%  

(154)

(33)

%

Corporate and unallocated

947

12

%  

888

10

%  

59

7

%

Consolidated SG&A

$

1,632

21

%  

$

1,827

21

%  

$

(195)

(11)

%

September 30, 2022 SG&A segment data is revised to reflect current period updates to unallocated corporate administrative expense.

Consolidated Total selling, general and administrative expenses for the three months ended September 30, 2023, decreased by approximately $195,000, or 11%, but remained level as a percentage of net sales. Ranor and Stadco expense decreased but was partially offset by higher corporate expenses for outside advisory services.

Ranor – The total change for the comparable three-month periods equaled the sum of a decrease in compensation and payroll taxes of approximately $11,000 plus a decrease in outside advisory fees and office costs of $89,000. The prior year three-month period includes a one-time fee for services rendered in connection with securing the Employee Retention Tax Credit refund.

Stadco – SG&A expense for the three months ended September 30, 2023 decreased by approximately $154,000. Expenses for compensation and office costs decreased by approximately $128,000 due to staff reductions plus a decrease in outside advisory services of approximately $26,000.

Corporate and unallocated SG&A increased by approximately $59,000, due primarily to the increased expenditures for outside advisory services, which more than offset a reduction in stock-based compensation.

Operating loss

    

September 30, 2023

    

September 30, 2022

    

Changes

    

Percent of

    

    

Percent of

    

(dollars in thousands)

Amount

net sales

Amount

net sales

Amount

Percent

Ranor

$

673

8

%  

$

1,556

18

%  

$

(883)

(57)

%

Stadco

 

(323)

 

(4)

%  

(755)

 

(9)

%  

432

 

57

%

Corporate and unallocated

 

(947)

 

(12)

%  

(888)

 

(10)

%  

(59)

 

(7)

%

Operating loss

$

(597)

 

(8)

%  

$

(87)

 

(1)

%  

$

(510)

 

(586)

%

23

Consolidated – As a result of the foregoing, for the three months ended September 30, 2023, we reported an operating loss of $0.6 million. Operating income at Ranor was not enough to offset the operating loss at Stadco and corporate and unallocated expenses.

Ranor Operating income was lower when compared to the same period a year ago, due primarily to a less favorable project mix with lower revenue and higher cost of sales, as described above.

Stadco Operating losses narrowed as certain production problems, including equipment downtime, were resolved. Despite the better throughput, we recorded an operating loss as revenue was flat year-over-year.

Corporate and unallocated Operating loss reflected SG&A expense which increased by approximately $59,000, due primarily to the increased expenditures for outside advisory services, which more than offset a reduction in stock-based compensation.

Other Income (Expense), net

The following table presents other income (expense) for the three months ended:

    

September 30, 2023

    

September 30, 2022

    

$ Change

    

% Change

 

Other income (expense), net

$

40,875

$

73,561

$

(32,686)

 

(44)

%

Interest expense

$

(129,839)

$

(70,382)

$

(40,543)

 

(58)

%

Amortization of debt issue costs

$

(18,714)

$

(13,348)

$

(5,366)

 

(40)

%

Interest expense was higher when compared with the three months ended September 30, 2022. Interest expense increased year over year primarily due to higher interest rates and higher borrowings under the Revolver Loan (as defined below) and lower amounts of interest capitalized. We expect any future interest expense increases will correlate directly with the borrowing levels under the Revolver Loan.

Amortization of debt issue costs, for the three months ended September 30, 2023, were higher when compared to three months ended September 30, 2022. New amortization periods commenced in December 2022 for costs incurred to extend the Ranor Term Loan and renew the Revolver Loan.

Other income, net for the three months ended September 30, 2023 includes a gain from the disposal of fixed assets. Other income, net, for the three months ended September 30, 2022, includes income from the net change in fair value for contingent consideration of $96,909 plus other tax rebates for $33,223, offset in part by the fair value of the stock issued for $56,310 in connection with the Stadco acquisition.

Income Taxes

For the three months ended September 30, 2023, the Company recorded a tax benefit $176,698, compared with tax expense of $135,509 for the three months ended September 30, 2022.

Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences and carryforwards are expected to be recovered or settled. The valuation allowance on deferred tax assets at September 30, 2023 was approximately $2.1 million. We believe that it is more likely than not that the benefit from certain state NOL carryforwards and other deferred tax assets will not be realized. In recognition of this risk, we continue to provide a valuation allowance on these items. In the event future taxable income is below management’s estimates or is generated in tax jurisdictions different than projected, the Company could be required to increase the valuation allowance for deferred tax assets. This would result in an increase in the Company’s effective tax rate.

Net (Loss) Income

As a result of the foregoing, for the three months ended September 30, 2023, we recorded a net loss of $528,333, or $0.06 per share basic and fully diluted, compared with a net income of $390,944, or $0.05 per share (basic) and $0.04 per share (fully diluted) for the three months ended September 30, 2022.

24

Six Months Ended September 30, 2023 and 2022

The following table presents net sales, cost of sales and gross profit, consolidated and by reportable segment:

    

September 30, 2023

    

September 30, 2022

Changes

    

Percent of

    

Percent of

    

    

(dollars in thousands)

Amount

Net sales

Amount

Net sales

Amount

Percent

Net sales

 

  

 

  

 

  

 

  

 

  

 

  

 

Ranor

$

8,995

 

59

%  

$

9,660

 

62

%  

$

(665)

 

(7)

%

Stadco

 

6,573

 

43

%  

 

5,939

 

38

%  

 

634

 

11

%

Intersegment elimination

 

(227)

 

(2)

%  

 

 

  

%  

 

(227)

 

nm

%

Consolidated Net sales

$

15,341

 

100

%  

$

15,599

 

100

%  

$

(258)

 

(2)

%

Cost of sales

 

  

 

  

 

  

 

  

 

  

 

  

 

Ranor

$

6,443

 

42

%  

$

5,793

 

37

%  

$

650

 

11

%

Stadco

 

7,169

 

46

%  

 

7,249

 

47

%  

 

(80)

 

(1)

%

Consolidated Cost of sales

$

13,612

 

88

%  

$

13,042

 

84

%  

$

570

 

4

%

Gross profit (loss)

 

  

 

  

 

  

 

  

 

  

 

  

 

Ranor

$

2,325

 

15

%  

$

3,867

 

24

%  

$

(1,542)

 

(39)

%

Stadco

 

(596)

 

(4)

%  

 

(1,310)

 

(8)

%  

 

714

 

55

%

Consolidated Gross profit

$

1,729

 

11

%  

$

2,557

 

16

%  

$

(828)

 

(32)

%

nm – not meaningful

Net Sales

Consolidated - Period-to-period revenues reflect production performance under new and ongoing contracts with changes in net sales due to varying production activity levels. For the six months ended September 30, 2023, almost 100% of our sales were to the defense sector, where we have customers in the aerospace, military and shipbuilding industries.

Consolidated net sales were $15.3 million for the six months ended September 30, 2023, or 2% lower when compared to consolidated net sales of $15.6 million for the six months ended September 30, 2022. Net sales decreased by $0.7 million at Ranor offset in part by an increase $0.4 million at Stadco. Both segments logged a different proportionate mix of products for the comparable periods.

Ranor – Net sales were $8.9 million for the six months ended September 30, 2023, a decrease of $0.7 million or 7% lower when compared to the same prior-year period. Almost all of our net sales (99%) in the first six months of fiscal 2024 were in the defense sector. In the six months ended September 30, 2023, we had a different mix of products for U.S. Navy submarine projects, and experienced supply chain impacts on customer furnished material. We recorded a $1.0 million decrease when compared to the same period last year. The decrease was offset in part by a revenue increase of $0.3 million for a non-submarine customer. The backlog at Ranor on September 30, 2023 was $19.1 million.

Stadco - Net sales were $6.3 million for the six months ended September 30, 2023 compared with net sales of $5.9 million for the six months ended September 30, 2022, an increase of $0.4 million, or 8%. We continue to make better progress on projects where revenue is recognized over time. An increase in net sales for heavy lift helicopter and certain military products of $2.3 million offset a decrease of $1.9 million from aerospace and other military customers. Stadco’s backlog was $25.5 million as of September 30, 2023.

25

Cost of Sales and Gross Profit

Consolidated - Cost of sales consists primarily of raw materials, parts, labor, overhead and subcontracting costs. Our cost of sales for the six months ended September 30, 2023, was $13.6 million, or 4% higher when compared to the six months ended September 30, 2022. The project mix changes discussed above also affected gross profit. Gross profit decreased by $0.8 million, or 32% when compared to the same period a year ago. Gross margin for the six months ended September 30, 2023 was 11.3% compared to 16.4% in the same period a year ago.

Ranor – Gross profit decreased by $1.5 million or 39% due primarily to a project mix with lower revenue and margins. We also realized fewer direct labor hours in the first six months of fiscal 2024. As such, factory overhead applied to our work-in-progress for the six months ended September 30, 2023 was lower than the overhead applied for the six months ended September 30, 2022.

Stadco - Gross margin was slightly negative for the six months ended September 30, 2023, as our losses decreased when compared to the six months ended September 30, 2022. Production problems related to equipment down-time were resolved in the first quarter of fiscal 2024. With a more favorable project mix, losses at Stadco decreased year over year on improved project margins, but not enough to overcome an increase in under-absorbed factory overhead. Revenue must continue to grow to enable improvement in gross profit and gross margin.

Selling, General and Administrative (SG&A) Expenses

    

September 30, 2023

    

September 30, 2022

Changes

    

Percent of

Percent of

 

(dollars in thousands)

    

Amount

    

Net Sales

    

Amount

    

Net Sales

    

Amount

    

Percent

 

Ranor

$

778

 

5

%  

$

873

 

6

%  

$

(95)

 

(11)

%

Stadco

 

631

 

4

%  

 

904

 

6

%  

 

(273)

 

(30)

%

Corporate and unallocated

 

1,497

 

10

%  

 

1,425

 

9

%  

 

72

 

5

%

Consolidated SG&A

$

2,906

 

19

%  

$

3,202

 

21

%  

$

(296)

 

(9)

%

September 30, 2022 SG&A segment data is revised to reflect current period updates to unallocated corporate administrative expense.

Consolidated - Total selling, general and administrative expenses for the six months ended September 30, 2023 decreased by approximately $296,000, or 9% due primarily to lower expenses for compensation and office costs because of staff reductions.

Ranor – A decrease in outside advisory fees and office costs of $108,000 was offset in part by an increase in compensation and payroll taxes of approximately $13,000 for the comparable six-month periods. The prior year six-month period includes a one-time fee for services rendered in connection with securing the Employee Retention Tax Credit refund.

Stadco - SG&A expense for the six months ended September 30, 2023, decreased by approximately $273,000. The SG&A expenses for compensation and office costs decreased by approximately $271,000 because of staff reductions.

Corporate and unallocated - SG&A increased by approximately $72,000, due primarily to increased expenditures for insurance, outside services for software upgrades, and business taxes, offset in part by a decrease in stock-based compensation.

Operating (loss) income

    

September 30, 2023

September 30, 2022

Changes

     

Percent of

Percent of

 

(dollars in thousands)

Amount

    

net sales

    

Amount

    

net sales

    

Amount

    

Percent

 

Ranor

$

1,547

 

10

%  

$

2,994

 

19

%  

$

(1,447)

 

48

%

Stadco

 

(1,227)

 

(8)

%  

 

(2,214)

 

(14)

%  

 

987

 

(45)

%

Corporate and unallocated

 

(1,497)

 

(10)

%  

 

(1,425)

 

(9)

%  

 

(72)

 

(5)

%

Operating loss

$

(1,177)

 

(8)

%  

$

(645)

 

(4)

%  

$

(532)

 

(82)

%

26

Consolidated - As a result of the foregoing, for the six months ended September 30, 2023, we reported an operating loss of $1.2 million, or $0.5 million higher than the operating loss for the six months ended September 30, 2022. Operating income at Ranor was not enough to offset the corporate expenses and operating losses at Stadco.

Ranor – Operating income was lower when compared to the same period a year ago, due primarily to lower revenue and higher cost of sales.

Stadco – Operating losses narrowed as certain projects with production issues, including equipment downtime, were resolved. Notwithstanding the better throughput, we recorded a smaller operating loss in the first six months of the 2024 fiscal year compared to the same period in the prior year.

Corporate and unallocated – Operating loss reflected the decrease in SG&A due primarily to a reduction in stock-based compensation offset in part by increased expenditures for insurance, outside services for software upgrades, and business taxes.

Other Income (Expense), net

The following table presents other income (expense) for the six months ended:

    

September 30, 2023

    

September 30, 2022

    

$ Change

    

% Change

 

Other income (expense), net

$

40,876

$

40,336

$

540

 

1

%

Interest expense

$

(205,164)

$

(140,628)

$

(64,536)

 

(46)

%

Amortization of debt issue costs

$

(37,475)

$

(26,747)

$

(10,728)

 

(40)

%

Interest expense was higher when compared with the six months ended September 30, 2022 due primarily to higher amounts borrowed under the Revolver Loan (as defined below). Also, an increase in interest expense for the Ranor term loan, due to a higher interest rate assigned under the terms of the December 2022 renewal, offset by a decrease in interest expense for the Stadco term loan because of scheduled amortized maturity payments. Capitalized interest was also $14,455 higher when compared to the same period a year ago. We expect that future interest expense increases will likely correlate directly with borrowing levels under the Revolver Loan.

Amortization of debt issue costs for the six months ended September 30, 2023 was higher when compared to six months ended September 30, 2022. New amortization periods commenced in December 2022 for costs incurred to extend the Ranor Term Loan and renew the Revolver Loan.

Other income, net for the six months ended September 30, 2023 includes a gain from the sale of fixed assets. Other income, net, in the table above, for the six months ended September 30, 2022, includes income for the change in fair value for contingent consideration of $63,436 and other tax rebates for $33,223, offset in part by the fair value of the stock issued for $56,310 in connection with the Stadco acquisition.

Income Taxes

For the six months ended September 30, 2023, the Company recorded a tax benefit $323,128, compared with a tax benefit of $38,205 for the six months ended September 30, 2022.

Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences and carryforwards are expected to be recovered or settled. The valuation allowance on deferred tax assets at September 30, 2023 was approximately $2.1 million. We believe that it is more likely than not that the benefit from certain state NOL carryforwards and other deferred tax assets will not be realized. In recognition of this risk, we continue to provide a valuation allowance on these items. In the event future taxable income is below management’s estimates or is generated in tax jurisdictions different than projected, the Company could be required to increase the valuation allowance for deferred tax assets. This would result in an increase in the Company’s effective tax rate.

27

Net Loss

As a result of the foregoing, for the six months ended September 30, 2023, we recorded a net loss of $1.1 million, or $0.12 per share basic and fully diluted, compared with a net loss of $0.1 million, or $0.01 per share basic and fully diluted for the six months ended September 30, 2022.

Liquidity and Capital Resources

Our liquidity is highly dependent on the availability of financing facilities and our ability to maintain a gross profit and operating income. For the six months ended September 30, 2023 we reported a net loss of $1.1 million.

As of September 30, 2023, we had $3.2 million in total available liquidity, consisting of $0.1 million in cash and cash equivalents, and approximately $3.1 million in undrawn capacity under our Revolver Loan. At of March 31, 2023, we had $4.7 million in total available liquidity, consisting of $0.5 million in cash and cash equivalents, and $4.2 million in undrawn capacity under our Revolver Loan.

The Company is the borrower under the amended and restated loan agreement with Berkshire Bank, or the “Loan Agreement”. There was $7.1 million outstanding under the agreement on September 30, 2023. The maturity date of the revolver loan under the loan agreement is December 20, 2023.

The Company was not in compliance with certain of the financial covenants at September 30, 2023 and has requested a waiver from Berkshire Bank, the lender, but has not yet received approval from the bank. Under the terms of the loan agreement, the bank has the right to demand repayment. If the lender demands repayment the Company will be unable to pay the obligation because the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations. Also, it is probable that the Company will not be in compliance with the same debt covenants at subsequent measurement dates within the next twelve months. As such, all of our long-term debt has been classified as current in our condensed consolidated balance sheet.

Without a waiver, the lender has the right, but not the obligation, to demand repayment from the Company for noncompliance with the debt covenants. In addition, the bank retains the right to act on covenant violations that occur after the date of delivery of any waiver. If the lender were to decline to grant us a waiver and instead demand repayment, we would need to seek alternative financing to pay these obligations as the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations.

The Company is exploring various means of strengthening its liquidity position and ensuring compliance with its debt financing covenants, which may include the obtaining of waivers from our current lender, amending our facility or entering into one or more alternative facilities.

In order for us to continue operations beyond the next twelve months from the date of issuance of the financial statements and to be able to discharge our liabilities and commitments in the normal course of business, we must mitigate our recurring operating losses at our Stadco subsidiary. We must efficiently increase utilization of our manufacturing capacity at our Stadco subsidiary and improve the manufacturing process, so our direct labor hours (inputs) allow us to recognize more revenue over time (outputs) and improve job performance. We plan to closely monitor our expenses and, if required, will reduce operating costs to enhance liquidity.

The uncertainty associated with the recurring operating losses at Stadco, the current violation of debt covenants, and expected debt covenant violation at subsequent compliance dates raise substantial doubt about our ability to continue as a going concern within one year after the date the condensed consolidated financial statements included in this Quarterly Report on Form 10-Q are issued.

There was $1.9 million outstanding under the Revolver Loan at September 30, 2023, as the Company borrowed more at higher rates to finance working capital requirements. Interest paid and accrued under the Revolver Loan was $83,182 for the six months ended September 30, 2023. The weighted average interest rate at September 30, 2023 was 7.46%. At September 30, 2023 our working capital was negative because of the reclassification of our long-term debt from noncurrent to current in the condensed consolidated balance sheet. Working capital was $5.6 million at March 31, 2023.

28

The table below presents selected liquidity and capital measures at the fiscal years ended:

    

September 30,

    

March 31,

    

Change

(dollars in thousands)

2023

2023

Amount

Cash and cash equivalents

$

138

$

534

$

(396)

Working capital

$

(740)

$

5,559

$

(6,299)

Total debt

$

7,066

$

6,113

$

953

Total stockholders’ equity

$

13,514

$

14,594

$

(1,080)

The next table summarizes changes in cash by primary component in the cash flows statements for the fiscal years ended:

    

September 30,

    

September 30,

    

Change

(dollars in thousands)

2023

2022

Amount

Operating activities

$

1,258

$

1,623

$

(365)

Investing activities

 

(2,597)

(1,073)

(1,524)

Financing activities

 

943

(1,367)

2,310

Net decrease in cash

$

(396)

$

(817)

$

421

Operating activities

Apart from our loan facilities, our primary sources of cash are from accounts receivable collections. Our customers make advance payments and progress payments under the terms of each manufacturing contract. The composition of our accounts receivable collections mix changes between advance payments and customer payments made after shipment of finished goods. Our cash flows can fluctuate significantly from period to period as we mark progress with customer projects and the timing of progress payments.

Cash provided by operating activities for the six months ended September 30, 2023 was approximately $1.3 million. In addition to customer progress payments, cash provided by operating activities included reimbursements under a certain customer project program. The sum of these customer payments was partially offset by payments for obligations for goods and services that had been acquired on open account from suppliers.

The six months ended September 30, 2022 was generally marked by favorable project performance progress and delivery schedules that led to timely customer payments. Cash provided by operating activities for the six months ended September 30, 2022 was $1.6 million, as customer cash advances and collections exceeded cash outflows on both new and older projects in-progress.

Investing activities

For the six months ended September 30, 2023, we invested $2.7 million in new factory machinery and equipment, primarily on the construction and installation of equipment for contract project work with a certain customer at our Ranor segment.

We are subject to certain financial debt covenants and may not spend more than $1.5 million for new machinery and equipment during any single fiscal year, tested on an annual basis at the end of each fiscal year.

We estimate our spending on new machinery and equipment in fiscal 2024, which we expect will include expenditures for the installation and construction of equipment for contract project work with a certain customer, will again exceed the spending limitation.

On June 12, 2023, we executed a waiver with the lender under which the lender agreed to waive the Company’s noncompliance with this capital spending limit covenant, as it relates to the period ended March 31, 2023. The waiver also contains an agreement by the parties to exclude from the calculation of capital expenditures for purposes of the Loan Agreement during the year ending March 31, 2024, any such expenditures made by the Company to the extent they are made using funds provided by customers of the Company for the purpose of making such capital expenditures.

We invested approximately $1.1 million in new factory machinery and equipment for the first six months of fiscal 2023.

29

Financing activities

For the six months ended September 30, 2023 we drew down $6.7 million of proceeds under the Revolver Loan and repaid $5.4 million during the same period. We also used approximately $307,000 of cash to pay down debt principal and make periodic lease payments.

We drew down $3.6 million of proceeds under our Revolver Loan during the six months ended September 30, 2022 and repaid $4.6 million during the same period. We also used approximately $336,000 of cash to make periodic lease payments and pay off certain lease and debt obligations.

All of the above activity resulted in a net decrease in cash of $396,268 for the six months ended September 30, 2023 compared with a net decrease in cash of $816,755 for the six months ended September 30, 2022.

Berkshire Bank Loans

On August 25, 2021, the Company entered into the Loan Agreement. Under the Loan Agreement, Berkshire Bank continues as lender of the Ranor Term Loan, as defined below, and the revolving line of credit, or the “Revolver Loan”. In addition, Berkshire Bank provided to Stadco a term loan in the original amount of $4.0 million, or the “Stadco Term Loan”. The proceeds of the original Ranor Term Loan of $2.85 million were previously used to refinance existing mortgage debt of Ranor. The proceeds of the Revolver Loan are used for working capital and general corporate purposes of the Company. The proceeds of the Stadco Term Loan were to be used to support the acquisition of Stadco and refinance existing indebtedness of Stadco.

On August 25, 2021, Stadco borrowed $4.0 million from Berkshire Bank under the Stadco Term Loan. Interest on the Stadco Term Loan is due on unpaid balances beginning on August 25, 2021, at a fixed rate per annum equal to the 7-year Federal Home Loan Bank of Boston Classic Advance Rate plus 2.25%. Since September 25, 2021, and on the 25th day of each month thereafter, Stadco has made and will continue to make monthly payments of principal and interest in the amount of $54,390 each, with all outstanding principal and accrued interest due and payable on August 25, 2028.

Payments for the original Ranor Term Loan began on January 20, 2017, and until the facility was amended in December 2022, the Company paid monthly installments of $19,260 each, inclusive of interest at a fixed rate of 5.21% per annum. Since the effectiveness of the most recent amendment in December 2022, the Company now makes monthly installment payments of $16,601 each, inclusive of interest at a fixed rate of 6.05% per annum. All outstanding principal and accrued interest is due and payable on the maturity date of December 15, 2027.

Under the Loan Agreement, Berkshire Bank also makes available to Ranor the Revolver Loan, which has a maximum principal amount available of $5.0 million. There was approximately $1.9 million and $650,000 outstanding under the Revolver Loan at September 30, 2023 and March 31, 2023, respectively. The maturity date of the Revolver Loan is December 20, 2023.

Under the amended promissory note for the Revolver Loan, the Company can elect to pay interest at the Term SOFR-based rate or an Adjusted Prime Rate, each determined and defined according to the terms of the agreement. The prior LIBOR-based rate expired on December 20, 2022.

The Ranor Term Loan, the Stadco Term Loan and the Revolver Loan, or collectively, the “Berkshire Loans,” may be accelerated upon the occurrence of an event of default as defined in the Loan Agreement. Upon the occurrence and during the continuance of certain default events, at the option of Berkshire Bank, or automatically without notice or any other action upon the occurrence of certain other events specified in the Loan Agreement, the unpaid principal amount outstanding under the facility, together with accrued interest and all other obligations, would become immediately due and payable without presentment, demand, protest, or further notice of any kind.

The Company agreed to maintain compliance with certain financial covenants under the Loan Agreement. Namely, the Company agreed to maintain a ratio of Cash Flow-to-Total Debt Service of not less than 1.20 to 1.00, measured quarterly on the last day of each fiscal quarter or annual period on a trailing 12-month basis. Calculations are based on the audited (year-end) and unaudited (quarterly) consolidated financial statements of the Company. Quarterly tests will be measured based on the financial statements included in the Company’s quarterly reports on Form 10-Q within 60 days of the end of each quarter, and annual tests will be measured based on the financial statements included in the Company’s annual reports on Form 10-K within 120 days after the end of each fiscal annual period. For purposes of the covenant, “Cash Flow” means an amount, without duplication, equal to the sum of net income of TechPrecision plus

30

(i) interest expense, plus (ii) taxes, plus (iii) depreciation and amortization, plus (iv) stock-based compensation expense taken by TechPrecision, plus (v) non-cash losses and charges and one time or non-recurring expenses at Berkshire Bank’s discretion, less (vi) the amount of cash distributions, if any, made to stockholders or owners of TechPrecision, less (vii) cash taxes paid by the TechPrecision, all as determined in accordance with U.S. GAAP. For purposes of the covenant, “Total Debt Service” means an amount, without duplication, equal to the sum of (i) all amounts of cash interest paid on liabilities, obligations and reserves of TechPrecision paid by TechPrecision, (ii) all amounts paid by TechPrecision in connection with current maturities of long-term debt and preferred dividends, and (iii) all payments on account of capitalized leases, all as determined in accordance with U.S. GAAP.

Additionally, the Company agreed to cause its Balance Sheet Leverage to be less than or equal 2.50 to 1.00. Compliance with this covenant is tested quarterly, as of the last day of each fiscal quarter. For purposes of the covenant, “Balance Sheet Leverage” means, at any date of determination, the ratio of the Company’s (a) Total Liabilities, less Subordinated Debt, to (b) Net Worth, plus Subordinated Debt. The Company also agreed that its combined annual capital expenditures will not exceed $1.5 million, subject to certain exclusions discussed below. Compliance is tested annually.

Finally, the Company agreed to maintain a Loan-to-Value Ratio of not greater than 0.75 to 1.00. For purposes of the covenant, “Loan-to-Value Ratio” means the ratio of (a) the sum of the outstanding balance of the Ranor Term Loan and the Stadco Term Loan to (b) the fair market value of the property pledged as collateral for the loan, as determined by an appraisal obtained from time to time by Berkshire Bank.

Collateral securing all the above obligations comprises all personal and real property of the Company, including cash, accounts receivable, inventories, equipment, and financial assets.

Commitments and Contractual Obligations

The following contractual obligations associated with our normal business activities are expected to result in cash payments in future periods, and include the following material items on September 30, 2023:

Our long-term debt obligations, including fixed and variable-rate debt, totaled $7.1 million, and, because of current and probable future debt covenant violations, are classified as current in the condensed consolidated balance sheets. Otherwise, except for $1.9 million due under the expiring revolver loan in December 2023, approximately $0.6 million is due annually for each of the next five years, plus a balloon payment of $2.0 million in December 2027.
We enter into various commitments with suppliers for the purchase of raw materials and work supplies. Our outstanding unconditional contractual commitments, including for the purchase of raw materials and supplies goods, totaled approximately $3.3 million, all of it due to be paid within the next twelve months. These purchase commitments are in the normal course of business.
Our lease obligations, including imputed interest, totaled $6.4 million for buildings through 2030, with approximately $0.9 million due annually for each of the next seven years.

There are no off-balance sheet arrangements as of September 30, 2023.

EBITDA Non-GAAP Financial Measure

To complement our condensed consolidated statements of operations and condensed consolidated statements of cash flows, we use EBITDA, a non-GAAP financial measure. Net loss is the financial measure calculated and presented in accordance with U.S. GAAP that is most directly comparable to EBITDA. We believe EBITDA provides our board of directors, management, and investors with a helpful measure for comparing our operating performance with the performance of other companies that have different financing and capital structures or tax rates. We also believe that EBITDA is a measure frequently used by securities analysts, investors, and other interested parties in the evaluation of companies in our industry, and is a measure contained in our debt covenants. However, while we consider EBITDA to be an important measure of operating performance, EBITDA and other non-GAAP financial measures have limitations, and investors should not consider them in isolation or as a substitute for analysis of our results as reported under U.S. GAAP.

31

We define EBITDA as net loss plus interest, income taxes, depreciation, and amortization. Net loss was $0.5 million and $1.1 million for the three and six months ended September 30, 2023. EBITDA, a non-GAAP financial measure, was negative for the six months ended September 30, 2023. The following table provides a reconciliation of EBITDA to net income (loss), the most directly comparable U.S. GAAP measure reported in our consolidated financial statements for the three and six months ended:

Three Months ended September 30,

Six Months ended September 30,

(dollars in thousands)

    

2023

    

2022

    

Change

    

2023

    

2022

    

Change

Net (loss) income

$

(528)

$

391

$

(919)

$

(1,056)

$

(110)

$

(946)

Income tax (benefit) expense

(177)

136

(313)

(323)

(38)

(285)

Interest expense (1)

149

84

65

243

167

75

Depreciation and amortization

568

532

36

1,128

1,117

11

EBITDA

$

12

$

1,143

$

(1,131)

$

(8)

$

1,136

$

(1,144)

(1)Includes amortization of debt issue costs.

Item 3.    Quantitative and Qualitative Disclosure About Market Risk.

As a smaller reporting company, we have elected not to provide the information required by this Item.

Item 4.    Controls and Procedures.

Evaluation of Disclosure Controls and Procedures.

Disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act) are controls and procedures that are designed to ensure that the information required to be disclosed in our reports filed or submitted under the Exchange Act is recorded, processed, summarized, and reported within the time periods specified in the SEC’s rules and forms and includes controls and procedures designed to ensure that such information is accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, as appropriate to allow timely decisions regarding required disclosure.

As of the end of the period covered by this report, an evaluation was carried out, under the supervision and with the participation of management, including our Chief Executive Officer and Chief Financial Officer, of the effectiveness of our disclosure controls and procedures. Based on that evaluation, our Chief Executive Officer and Chief Financial Officer concluded that, as of September 30, 2023, our disclosure controls and procedures were not effective due to the material weaknesses in our internal control over financial reporting described below.

Inherent Limitations over Internal Controls

The Company’s internal control over financial reporting is designed under the supervision of our Chief Executive Officer and Chief Financial Officer, and effected by our board of directors, management, and other personnel, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with U.S. GAAP. The Company’s internal control over financial reporting includes those policies and procedures that: (i) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the Company’s assets; (ii) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with GAAP, and that the Company’s receipts and expenditures are being made only in accordance with authorizations of the Company’s management and directors; and (iii) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the Company’s assets that could have a material effect on the financial statements.

Management, including the Chief Executive Officer and Chief Financial Officer, does not expect that the Company’s internal controls will prevent or detect all errors and all fraud. A control system, no matter how well designed and operated, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Further, the design of a control system must reflect the fact that there are resource constraints, and the benefits of controls must be considered relative to their costs. Because of the inherent limitations in all control systems, no evaluation of internal controls can provide absolute assurance that all control issues and instances of fraud, if any, have been detected. Also, any evaluation of the effectiveness of controls in future periods is subject to the risk that those internal

32

controls may become inadequate because of changes in business conditions, or that the degree of compliance with the policies or procedures may deteriorate.

Material Weaknesses

We identified two material weaknesses in our internal control over financial reporting as of March 31, 2023, which still existed at September 30, 2023. A material weakness is a deficiency, or a combination of deficiencies, in internal control over financial reporting such that there is a reasonable possibility that a material misstatement of the annual or interim financial statements will not be prevented or detected on a timely basis. In connection with the preparation of our financial statements for the Annual Report on Form 10-K for the fiscal year ended March 31, 2023, management identified the following material weaknesses:

1)we did not maintain proper controls, processes and procedures over the initial purchase accounting and the fair value accounting associated with our acquisition of Stadco that were adequately designed, documented, and executed to support the accurate and timely reporting of our financial results regarding the initial purchase accounting and the fair value accounting associated with the Stadco acquisition; and
2)we did not maintain a sufficient complement of tax accounting personnel necessary to perform management review controls related to activities for extracting information to determine the valuation allowance at Stadco on a timely basis. Because of this material weakness, we made a late or post-closing adjustment to our valuation allowance while preparing the consolidated financial statements and footnotes included in the Annual Report on Form 10-K for the fiscal year ended March 31, 2023.

Notwithstanding the material weaknesses, management believes that the condensed consolidated financial statements included in this Quarterly Report on Form 10-Q present fairly, in all material respects, the Company’s financial condition, results of operations and cash flows as of and for the periods presented in accordance with U.S. GAAP.

Management’s Remediation Plan

Our management, with the oversight of our audit committee, has initiated steps and plans to take additional measures to remediate the underlying causes of the material weaknesses, which we currently believe will be primarily through the development and implementation of new procedures, policies, processes, including revising the precision level of management review controls and gaining additional assurance regarding timely completion of our quality control procedures. It is possible that we may determine that additional remediation steps will be necessary in the future.

Our remediation plan will require that, going forward, management will utilize a valuation specialist with the requisite knowledge to perform all required valuations for all acquisitions of businesses, and utilize a tax specialist with the requisite knowledge to perform the required basic and detailed tax calculations so that all the parties can make a timely assessment of the Company’s tax provision.

The material weaknesses will not be considered remediated, however, until the applicable controls operate for a sufficient period of time and management has concluded, through testing, that these controls are operating effectively. We can provide no assurance as to when the remediation of these material weaknesses will be completed to provide for an effective control environment.

Changes in Internal Control over Financial Reporting

Except as disclosed under “Management’s Remediation Plan”, for the quarter ended September 30, 2023, there have been no changes in our internal control over financial reporting that have materially affected or are reasonably likely to materially affect, our internal control over financial reporting.

33

PART II. Other Information.

Item 1. Legal Proceedings

On October 30, 2023, the Company and one of its employees were named as defendants in an action alleging individual claims of discrimination and wage and hour violations, along with representative wage and hour claims brought pursuant to the Labor Code Private Attorneys General Act of 2004 (“PAGA”) in the Superior Court of the State of California of the County of Los Angeles – Central District. In the complaint, captioned Ibarra v. Stadco (23ST- CV-26591), a former employee of Stadco, seeks to recover alleged damages, unpaid wages, penalties, and attorney’s fees on behalf of himself. In addition, the former employee seeks to recover PAGA penalties going back one year, along with his attorney’s fees, on behalf of all individuals currently and formerly employed by the Company’s Stadco subsidiary in California as non-exempt or hourly paid employees, for certain violations of the California Labor Code. Stadco has retained outside legal counsel to defend this action.

Item 1A. Risk Factors

We have listed below, as well as under the heading “Risk Factors” in our Annual Report on Form 10-K for the fiscal year ended March 31, 2023 (the “2023 Form 10-K”), supplemented by the disclosure below, a number of risks that may materially affect our business, financial condition or results of operations. You should carefully consider these Risk Factors and other information elsewhere in this Quarterly Report on Form 10-Q. These risks do not constitute all the risks that may be applicable to us. New risks may emerge from time to time, and it is not possible for us to predict all potential risks or to assess the likely impact of all risks.

We are not currently in compliance with certain financial covenants under our loan agreement with Berkshire Bank and it is probable that we will not be in compliance within the next 12 months, which raises substantial doubt about our ability to continue as a going concern.

Our liquidity is highly dependent on the availability of financing facilities and our ability to maintain a gross profit and operating income. The Company is the borrower under the amended and restated loan agreement with Berkshire Bank (the “Loan Agreement”). The Company has determined it is not in compliance with the financial covenants in the Loan Agreement as of September 30, 2023 and has requested a waiver from the lender. Additionally, our management believes it is probable that the Company will not be in compliance with these financial covenants in future periods. Without a waiver, noncompliance with these financial and related covenants permits the lender to demand repayment in full of all outstanding amounts from the Company. In addition, the lender retains the right to act on covenant violations that occur after the date of delivery of any waiver. If the lender were to demand repayment, the Company would not be able to pay the obligation because the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations.

In order to satisfy the future financial covenants in the Loan Agreement, we must efficiently increase utilization of our manufacturing capacity at our Stadco subsidiary and improve the manufacturing process, such that our direct labor hours (inputs) allow us to recognize more revenue over time (outputs) and improve job performance. We plan to closely monitor our expenses and, if required, will reduce operating costs and capital spending to enhance liquidity. There can be no assurance that we will be successful in these efforts. If we are unable to achieve compliance in the future with the financial covenants in the Loan Agreement by making operational changes to our business, then we might alternatively seek additional waivers or forbearances from our lender prior to any covenant violation or raise additional funds in one or more equity financing transactions. Any covenant waiver or forbearance may lead to increased costs, increased interest rates, additional restrictive covenants and the imposition of other lender protections that impact us negatively. There can be no assurance that we would be able to obtain waivers or forbearances in a timely manner, on acceptable terms, or at all. Alternatively, the terms of any equity financing may adversely affect the holdings or the rights of our stockholders and the issuance of additional securities by us, or the possibility of such issuance, may cause the market price of our common stock to decline. The sale of additional shares of our common stock, or securities convertible into shares of our common stock, would also dilute all of our stockholders.

34

There was $7.1 million outstanding under the Loan Agreement on September 30, 2023. If we are unable to achieve compliance with the covenants in the Loan Agreement and unable to obtain a waiver or forbearance from our lender, any such default would allow the lender to accelerate this debt sooner than the applicable maturity dates. In the event that the lender accelerates the repayment of this indebtedness during the next 12 months as the result of one or more breaches of covenant, we do not expect to have funds available to repay these amounts in full, which raises substantial doubt about the Company’s ability to continue as a going concern within one year after the date the condensed consolidated financial statements included in this Quarterly Report on Form 10-Q are issued. The consequences of any default, waiver or forbearance, or the securing of additional equity financing, could materially and adversely affect our business, financial condition, and results of operations.

35

Item 6.    Exhibits.

Exhibit Index

Exhibit No.

    

Description

    

Incorporated
by Reference
Form

    

File No.

    

Date Filed

    

Exhibit
No.

    

Filed or Furnished Herewith

3.1

Certificate of Incorporation of the Registrant

SB-2

333-133509

August 28, 2006

3.1

3.2

Amended and Restated By-laws of the Registrant

8-K

000-51378

February 3, 2014

3.1

3.3

Certificate of Designation for Series A Convertible Preferred Stock of the Registrant

8-K

000-51378

March 3, 2006

3.1

3.4

Certificate of Amendment to Certificate of Designation for Series A Convertible Preferred Stock of the Registrant

10-Q

000-51378

November 12, 2009

3.5

10.1

Employment Agreement, dated July 17, 2023, between TechPrecision Corporation and Barbara M. Lilley.

8-K

000-51378

July 21, 2023

10.1

31.1

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

X

31.2

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

X

32.1

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

X

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.

X

101.SCH

XBRL Taxonomy Extension Schema Document

X

101.CAL

XBRL Taxonomy Extension Calculation Linkbase Document

X

101.DEF

XBRL Taxonomy Extension Definition Linkbase Document

X

101.LAB

XBRL Taxonomy Extension Label Linkbase Document

X

101.PRE

XBRL Taxonomy Extension Presentation Linkbase Document

X

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

X

36

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.

 

 

TechPrecision Corporation

 

 

 

November 20, 2023

By:

/s/ Barbara M. Lilley

 

 

Barbara M. Lilley

 

 

Chief Financial Officer

37

EX-31.1 2 tpcs-20230930xex31d1.htm EX-31.1

Exhibit 31.1

CERTIFICATION

I, Alexander Shen, certify that:

1.I have reviewed this quarterly report on Form 10-Q of TechPrecision Corporation;

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 (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5.The registrant’s other certifying officer 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.

Dated: November 20, 2023

/s/ Alexander Shen

 

Alexander Shen

 

Chief Executive Officer

 

(Principal Executive Officer)


EX-31.2 3 tpcs-20230930xex31d2.htm EX-31.2

Exhibit 31.2

CERTIFICATION

I, Barbara M. Lilley, certify that:

1.I have reviewed this quarterly report on Form 10-Q of TechPrecision Corporation;

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 (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and,

5.The registrant’s other certifying officer 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.

Dated: November 20, 2023

/s/ Barbara M. Lilley

 

Barbara M. Lilley

 

Chief Financial Officer

 

(Principal Financial Officer)


EX-32 4 tpcs-20230930xex32.htm EX-32

Exhibit 32.1

CERTIFICATION PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the quarterly report on Form 10-Q of TechPrecision Corporation (the “Company”) for the quarter ended September 30, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Alexander Shen, the Chief Executive Officer of the Company, and I, Barbara M. Lilley, the Chief Financial Officer of the Company, do hereby certify pursuant to 18 U.S.C. §1350, as adopted pursuant to §906 of the Sarbanes-Oxley Act of 2002, that:

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

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

Dated: November 20, 2023

/s/ Alexander Shen

 

Alexander Shen

 

Chief Executive Officer

 

(Principal Executive Officer)  

 

 

Dated: November 20, 2023

/s/ Barbara M. Lilley

 

Barbara M. Lilley

 

Chief Financial Officer (Principal Financial Officer)


EX-101.SCH 5 tpcs-20230930.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited) link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (unaudited) link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - OTHER CURRENT ASSETS (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - ACCRUED EXPENSES (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Long-term Debt (Details) Calc2 link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - LEASES (Details) link:presentationLink link:calculationLink link:definitionLink 41304 - Disclosure - LEASES - Maturities of lease liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 41304 - Disclosure - LEASES - Maturities of lease liabilities (Details) (Calc2) link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (unaudited) link:presentationLink link:calculationLink link:definitionLink 00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - REVENUE (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - CONCENTRATION OF CREDIT RISK (Tables) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - REVENUE - Disaggregated basis (Details) link:presentationLink link:calculationLink link:definitionLink 40302 - Disclosure - REVENUE - Net sales from customers (Details) link:presentationLink link:calculationLink link:definitionLink 40303 - Disclosure - REVENUE - Contract assets and contract liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40304 - Disclosure - REVENUE - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - INCOME TAXES - (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - EARNINGS PER SHARE (EPS) (Details) link:presentationLink link:calculationLink link:definitionLink 40602 - Disclosure - STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (Details) link:presentationLink link:calculationLink link:definitionLink 40603 - Disclosure - STOCK-BASED COMPENSATION - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - CONCENTRATION OF CREDIT RISK (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - DEBT - Long-term Debt (Details) link:presentationLink link:calculationLink link:definitionLink 41102 - Disclosure - DEBT - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - OTHER NONCURRENT LIABILITIES (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - SEGMENT INFORMATION - Financial information for segments (Details) link:presentationLink link:calculationLink link:definitionLink 41601 - Disclosure - SUBSEQUENT EVENTS (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - DESCRIPTION OF BUSINESS link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - REVENUE link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - EARNINGS PER SHARE (EPS) link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - STOCK-BASED COMPENSATION link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - CONCENTRATION OF CREDIT RISK link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - OTHER CURRENT ASSETS link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - ACCRUED EXPENSES link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - DEBT link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - OTHER NONCURRENT LIABILITIES link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - LEASES link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - COMMITMENTS AND CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - SEGMENT INFORMATION link:presentationLink link:calculationLink link:definitionLink 11601 - Disclosure - SUBSEQUENT EVENTS link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - EARNINGS PER SHARE (EPS) (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - STOCK-BASED COMPENSATION (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - OTHER CURRENT ASSETS (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables) link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - ACCRUED EXPENSES (Tables) link:presentationLink link:calculationLink link:definitionLink 31103 - Disclosure - DEBT (Tables) link:presentationLink link:calculationLink link:definitionLink 31303 - Disclosure - LEASES (Tables) link:presentationLink link:calculationLink link:definitionLink 31503 - Disclosure - SEGMENT INFORMATION (Tables) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - STOCK-BASED COMPENSATION - Stock option activity (Details) link:presentationLink link:calculationLink link:definitionLink 41302 - Disclosure - LEASES - Other supplemental information of Leases (Details) link:presentationLink link:calculationLink link:definitionLink 41303 - Disclosure - LEASES - Supplemental cash flow information (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 tpcs-20230930_cal.xml EX-101.CAL EX-101.DEF 7 tpcs-20230930_def.xml EX-101.DEF EX-101.LAB 8 tpcs-20230930_lab.xml EX-101.LAB Document and Entity Information Document Type Document Quarterly Report Document Transition Report Document Period End Date Entity Registrant Name Entity File Number 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 Small Business Entity Emerging Growth Company Entity Shell Company Entity Common Stock, Shares Outstanding Entity Central Index Key Current Fiscal Year End Date Document Fiscal Year Focus Document Fiscal Period Focus Amendment Flag CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited) Assets [Abstract] ASSETS Assets, Current [Abstract] Current assets: Cash and Cash Equivalents, at Carrying Value Cash and cash equivalents Accounts Receivable, Net, Current Accounts receivable, net Accounts receivable Contract with Customer, Asset, Net, Current Contract assets Contract assets Inventory, Raw Materials and Supplies, Gross Raw materials Inventory, Work in Process, Net of Reserves Work-in-process Other Assets, Current Other current assets Total Assets, Current Total current assets Property, Plant and Equipment, Net. Property, plant and equipment, net Finance Lease, Right-of-Use Asset, after Accumulated Amortization Right of use asset - finance leases Right-of-use asset, net Deferred Tax Assets, Net, Noncurrent Deferred income taxes Other Assets, Noncurrent Other noncurrent assets, net 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 Contract with Customer, Liability, Current Contract liabilities Present value of lessee's discounted obligation for lease payments from finance lease, classified as current. Lease Liability Current Current portion of long-term lease liability Long-Term Debt and Lease Obligation, Current Current portion of long-term debt, net Less: Current portion of long-term debt Liabilities, Current Total current liabilities Long-term Debt, Excluding Current Maturities Long-term debt, net Finance Lease, Liability, Noncurrent Long-term lease liability Other Liabilities, Noncurrent Other noncurrent liability Liabilities Total liabilities Commitments and Contingencies Commitments and contingent liabilities (see Note 14) Stockholders' Equity Attributable to Parent [Abstract] Stockholders' Equity: Common Stock, Value, Issued Common stock - par value $.0001 per share, shares authorized: 50,000,000; Shares issued and outstanding: 8,737,432 at September 30, 2023 and 8,613,408 at March 31, 2023 Additional Paid in Capital Additional paid in capital Retained Earnings (Accumulated Deficit) Accumulated deficit Stockholders' Equity Attributable to Parent Balance Balance Total stockholders' equity Liabilities and Equity Total liabilities and stockholders' equity 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 CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (unaudited) Revenues Net sales Revenues Cost of Goods and Services Sold Cost of sales Gross Profit Gross profit Selling, General and Administrative Expense Selling, general and administrative Operating Income (Loss) Loss from operations Total operating loss Amount of other income (expense) related to nonoperating activities, classified as other. Other Income and Expense Other income Interest Expense Interest expense Interest expense The amount of employee retention credit refund. Employee Retention Credit Refund Refundable employee retention tax credits Nonoperating Income (Expense) Total other (expense) income Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Consolidated (loss) income before income taxes (Loss) income before income taxes Income Tax Expense (Benefit) Income tax (benefit) expense Net Income (Loss) Available to Common Stockholders, Basic Net loss Net (loss) income Net (loss) income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Comprehensive loss Earnings Per Share, Basic Net (loss) earnings per share basic (in dollars per share) Net (loss) earnings per share Earnings Per Share, Diluted Net (loss) earnings per share diluted (in dollars per share) Net (loss) earnings per share Weighted Average Number of Shares Outstanding, Basic Weighted average shares outstanding - basic (in shares) Weighted average shares Weighted Average Number of Shares Outstanding, Diluted Weighted average shares outstanding - diluted (in shares) Weighted average shares CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (unaudited) Statement [Table] Equity Components [Axis] Equity Component [Domain] Common Stock [Member] Common Stock Outstanding Additional Paid-in Capital [Member] Additional Paid in Capital Retained Earnings [Member] Retained Earnings (Accumulated Deficit) Statement [Line Items] Statement Shares, Issued Balance (in shares) Balance (in shares) Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation Stock used for tax withholding at exercise Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures Restricted stock award Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures Restricted stock award (in share) Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition Stock-based compensation Value of stock issued for contingent consideration. Stock Issued During Period, Value, Contingent Consideration Stock issued for contingent consideration Number of shares issued for contingent consideration. Stock Issued During Period, Shares, Contingent Consideration Stock issued for contingent consideration (in shares) Stock Issued During Period, Value, Stock Options Exercised Stock award nonemployee directors Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Stock options exercised (in shares) Net Income (Loss) Attributable to Parent Net income (loss) CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited) Net Cash Provided by (Used in) Operating Activities [Abstract] CASH FLOWS FROM OPERATING ACTIVITIES: Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Net loss Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Adjustments to reconcile net loss to net cash provided by operating activities: Depreciation, Depletion and Amortization Depreciation and amortization Amortization of Debt Issuance Costs Amortization of debt issue costs Share-based Compensation Stock-based compensation expense Gain (Loss) on Contract Termination Change in contract loss provision Deferred Income Tax Expense (Benefit) Deferred income taxes Gain on disposal of equipment Gain on disposal of fixed assets Amount of Gain (loss) obtained from contingent consideration. Gain (Loss) from Contingent Consideration Change in fair value for contingent consideration 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 Inventories Work-in-process and raw materials Increase (Decrease) in Other Current Assets Other current assets Increase (Decrease) in Accounts Payable Accounts payable Increase (Decrease) in Accrued Liabilities Accrued expenses The increase (decrease) during the reporting period in contract liabilities Increase Decrease in Contract Liabilities Contract liabilities Increase (Decrease) in Other Operating Liabilities Other noncurrent 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: Proceeds from Insurance Settlement, Investing Activities Proceeds from insurance claim on fixed assets The cash outflow from deposit for fixed assets. Deposit for Fixed Assets Fixed asset deposit Payments to Acquire Property, Plant, and Equipment Purchases of property, plant and equipment Net Cash Provided by (Used in) Investing Activities Net cash used in investing activities Net Cash Provided by (Used in) Financing Activities [Abstract] CASH FLOWS FROM FINANCING ACTIVITIES: Payments of Loan Costs Debt issue costs The net cash inflow or outflow in aggregate debt due to repayments of revolver loan and proceeds from borrowings. Proceeds from (Repayments of) Revolver Loan and Borrowings Revolver loan payments and borrowings, net Repayments of Long-term Capital Lease Obligations Payments of principal for leases Cash used in financing activities Repayments of Long-term Debt Repayments of long-term debt Net Cash Provided by (Used in) Financing Activities Net cash provided by (used in) financing activities Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Net decrease 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 Supplemental Cash Flow Information [Abstract] SUPPLEMENTAL DISCLOSURES OF CASH FLOWS INFORMATION: Interest Paid, Net Cash paid for interest, net of amounts capitalized Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table] Title of Individual [Axis] Relationship to Entity [Domain] Chief Financial Officer [Member] Chief Financial Officer Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items] It represents the common stock pursuant to option awards. Common Stock Pursuant To Option Awards Company common stock pursuant to option awards It represents the options exercised as cashless net settlement transaction. Options Exercised As Cashless Net Settlement Transaction Options exercised as a cashless net settlement transaction DESCRIPTION OF BUSINESS Nature of Operations [Text Block] DESCRIPTION OF BUSINESS BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES Basis of Presentation and Significant Accounting Policies [Text Block] BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES REVENUE Revenue from Contract with Customer [Text Block] REVENUE INCOME TAXES Income Tax Disclosure [Text Block] INCOME TAXES EARNINGS PER SHARE (EPS) Earnings Per Share [Text Block] EARNINGS PER SHARE (EPS) STOCK-BASED COMPENSATION Disclosure of Compensation Related Costs, Share-based Payments [Text Block] STOCK-BASED COMPENSATION CONCENTRATION OF CREDIT RISK Concentration Risk Disclosure [Text Block] CONCENTRATION OF CREDIT RISK OTHER CURRENT ASSETS Other Current Assets [Text Block] OTHER CURRENT ASSETS PROPERTY, PLANT AND EQUIPMENT, NET Property, Plant and Equipment Disclosure [Text Block] PROPERTY, PLANT AND EQUIPMENT, NET ACCRUED EXPENSES Accounts Payable and Accrued Liabilities Disclosure [Text Block] ACCRUED EXPENSES DEBT Debt Disclosure [Text Block] DEBT OTHER NONCURRENT LIABILITIES Other Liabilities Disclosure [Text Block] OTHER NONCURRENT LIABILITIES LEASES The entire disclosure for lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing. Lease of Lessee Disclosure [Text Block] LEASES COMMITMENTS AND CONTINGENCIES Commitments and Contingencies Disclosure [Text Block] COMMITMENTS AND CONTINGENCIES SEGMENT INFORMATION. Segment Reporting Disclosure [Text Block] SEGMENT INFORMATION SUBSEQUENT EVENTS Subsequent Events [Text Block] SUBSEQUENT EVENTS Basis of Accounting, Policy [Policy Text Block] Basis of Presentation and Consolidation Use of Estimates, Policy [Policy Text Block] Use of Estimates in the Preparation of Financial Statements Liquidity Substantial Doubt about Going Concern policy text block Liquidity Substantial Doubt about Going Concern policy text block Liquidity and Going Concern New Accounting Pronouncements, Policy [Policy Text Block] New Accounting Standards Recently Adopted Concentration Risk [Table] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Domain] Sales Concentration Risk [Line Items] REVENUE CONCENTRATION OF CREDIT RISK Disaggregation of Revenue [Table Text Block] Schedule of net sales on a disaggregated basis by market and contract type Schedules of Concentration of Risk, by Risk Factor [Table Text Block] Schedule of trade accounts receivable from customers who accounted for more than 10% Contract with Customer, Asset and Liability [Table Text Block] Schedule of contract assets Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Schedule of reconciliation of the numerators and denominators reflected in the basic and diluted earnings per share computations Share-based Compensation, Stock Options, Activity [Table Text Block] Summary of information about options granted Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table Text Block] Summary of information relating to stock options outstanding Accounts Receivable [Member] Accounts Receivable Schedule of Other Current Assets [Table Text Block] Schedule of other current assets Property, Plant and Equipment [Table Text Block] Schedule of components of property, plant and equipment, net Schedule of Accrued Liabilities [Table Text Block] Schedule of accrued expenses Schedule of Debt [Table Text Block] Schedule of outstanding debt obligations Tabular disclosure of supplemental balance sheet information related to leases. Schedule Of Supplemental Balance Sheet Information Related To Leases [Table text block] Schedule of right-of-use assets and liabilities Tabular disclosure of other supplemental information related to leases. Schedule Of Other Supplemental Information Related To Leases [Table Text Block] Schedule of supplemental information of leases Tabular disclosure of supplementary cash flow information pertaining to leases. Schedule Of Cash Flow Information Relating To Leases [Table Text Block] Schedule of supplemental cash flow information Finance Lease, Liability, Fiscal Year Maturity [Table Text Block] Schedule of maturities of lease liabilities Schedule of Segment Reporting Information, by Segment [Table Text Block] Summary of financial information for segments Disclosure of information about basis of presentation and summary of significant accounting policies. BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES [Table] Debt Instrument [Axis] Debt Instrument, Name [Domain] Berkshire Loan [Member] Berkshire Loan 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. BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES [Line Items] BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES Stockholders' Equity Note, Stock Split, Conversion Ratio Reverse stock split conversion ratio Long-term Line of Credit Amount outstanding Amount of total available liquidity. Total Available Liquidity Total available liquidity Amount of revolver loan capacity. Revolver Loan Capacity Revolver loan capacity Disaggregation of Revenue [Table] Customer [Axis] Customer [Domain] Represents the information pertaining to Defense. Defense [Member] Defense Represents the information pertaining to industrial. Industrial [Member] Industrial Timing of Transfer of Good or Service [Axis] Timing of Transfer of Good or Service [Domain] Transferred over Time [Member] Over-time Transferred at Point in Time [Member] Point-in-time Disaggregation of Revenue [Line Items] REVENUE Revenue from Contract with Customer, Including Assessed Tax Net Sales Represents information pertaining to customer A. Customer A [Member] Customer A Represents information pertaining to customer B. Customer B [Member] Customer B Represents information pertaining to customer C. Customer C [Member] Customer C Represents information pertaining to customer D. Customer D [Member] Customer D Represents the information pertaining to customer E. Customer E [Member] Customer E Concentration Risk Type [Axis] Concentration Risk Type [Domain] Customer Concentration Risk [Member] Customer concentration risk Revenue Benchmark [Member] Sales revenue, net Concentration Risk, Percentage Concentration risk percentage Billing Status, Type [Axis] Receivables Billing Status [Domain] Unbilled Revenues [Member] Unbilled Represents information pertaining to adjustments progress payments receivable. Adjustments Progress Payments Receivable [Member] Progress Payments Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Range [Axis] Range [Domain] Minimum [Member] Minimum Maximum [Member] Maximum Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] REVENUE Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Remaining performance obligation expected timing of satisfaction period Revenue, Remaining Performance Obligation, Amount Remaining performance obligation amount Amount of transaction price allocated to performance obligation that has not completed 50% of obligations. Revenue Remaining Performance Obligation Completed Less Than 50 Revenue remaining performance obligation completed less than 50% Revenue, Remaining Performance Obligation, Percentage Revenue, remaining performance obligation, percentage Contract with Customer, Liability, Revenue Recognized Revenue recognized by contract liabilities Effective Income Tax Rate Reconciliation, Percent Effective tax rate Deferred Tax Assets, Valuation Allowance Valuation allowance on deferred tax assets Schedule of Stock by Class [Table] Antidilutive Securities [Axis] Antidilutive Securities, Name [Domain] Share-based Payment Arrangement, Option [Member] Options Class of Stock [Line Items] EARNINGS PER SHARE (EPS) Earnings Per Share, Basic [Abstract] Basic EPS Earnings Per Share, Diluted [Abstract] Diluted EPS Net Income (Loss) Available to Common Stockholders, Diluted Net (loss) income Weighted Average Number Diluted Shares Outstanding Adjustment Dilutive effect of stock options Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Antidilutive securities excluded from computation of earnings per share amount (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward] Number Of Options Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number Outstanding at the end of the period (in shares) Outstanding at the beginning of the period (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross Exercised (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number Vested or expected to vest at the end of the period (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number Exercisable and vested at the end of the period (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Weighted Average Exercise Price Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price Outstanding at the end of the period (in dollars per share) Outstanding at the beginning of the period (in dollars per share) Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Exercised (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price Vested or expected to vest at the end of the period (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price Exercisable and vested at the end of the period (in dollars per share) Share Based Compensation Arrangement by Share Based Payment Award Options Intrinsic Value [Abstract] Aggregate Intrinsic Value Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value Outstanding Value at the end of the period Outstanding Value at the beginning of the period Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value Exercised Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value Vested or expected to vest at the end of the period Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value Exercisable and vested at the end of the period Share Based Compensation Arrangement by Share Based Payment Award Options Weighted Average Remaining Contractual Term [Abstract] Weighted Average Remaining Contractual Life (in years) Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Outstanding at the end of the period Maximum contractual term (in years) Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term Vested or expected to vest at the end of the period Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term Exercisable and vested at the end of the period Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table] Exercise Price Range [Axis] Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Domain] Range One Range One [Member] Range One Range Two Range Two [Member] Range Two Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items] STOCK-BASED COMPENSATION Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Lower Range Limit Exercise Price, Lower Range Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Upper Range Limit Exercise Price, Upper Range Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Number of Outstanding Options Options Outstanding Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Outstanding Options, Weighted Average Remaining Contractual Term Options Outstanding, Weighted Average Remaining Contractual Term Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Outstanding Options, Weighted Average Exercise Price Options Outstanding, Weighted Average Exercise Price Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Number of Exercisable Options Options Exercisable Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Exercisable Options, Weighted Average Exercise Price Options Exercisable, Weighted Average Exercise Price Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Plan Name [Axis] Plan Name [Domain] This member stands for Equity Incentive Plan 2016. Equity Incentive Plan 2016 [Member] 2016 Plan Award Type [Axis] Equity Award [Domain] Restricted Stock [Member] Restricted Shares Share-based Compensation Arrangement by Share-based Payment Award [Line Items] STOCK-BASED COMPENSATION Common Stock, Capital Shares Reserved for Future Issuance Shares reserved Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized Number of shares of common stock Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Shares available for grant Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period Granted a total of shares of restricted stock Number of shares granted The number of shares to be vested on each anniversary. Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, To Be Vested On Each Anniversary Number of shares will vest on each of the first, second, and third anniversaries Trade Receivables [Member] Trade Receivables Represents information pertaining to all customers. Customers [Member] Customers Represents the number of significant customers on whom the entity relies, giving rise to concentration of risk. Number of Significant Customers Number of significant customers Prepaid Taxes Prepaid taxes Prepaid Insurance Prepaid insurance Amount of asset related to subscriptions paid in advance that provide economic benefits within a future period of one year or the normal operating cycle, if longer. Prepaid Subscriptions Prepaid subscriptions Amount of current asset related to deposits. Deposits Current Deposits Amount of advances paid to employees. Advances To Employee Employee advances Amount of current asset related to other advisory fees paid in advance. Prepaid Advisory Fees, Other Prepaid advisory fees, other Amount of current asset related to ERTC refundable credits. ERTC Refundable Credits ERTC refundable credits Property, Plant and Equipment [Table] Property, Plant and Equipment, Type [Axis] Property, Plant and Equipment, Type [Domain] Land [Member] Land Building and Building Improvements [Member] Building and improvements Represents machinery equipment, furniture and fixtures, which are a part of property, plant and equipment. Machinery Equipment Furniture And Fixtures [Member] Machinery equipment, furniture, and fixtures Construction in Progress [Member] Construction-in-progress Property, Plant and Equipment [Line Items] PROPERTY, PLANT AND EQUIPMENT, NET Property, Plant and Equipment, Gross Property, plant and equipment, Gross Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization Total property, plant, and equipment Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization Less: accumulated depreciation and amortization Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization Total property, plant and equipment, net Interest Costs Capitalized Capitalized interest Employee-related Liabilities, Current Accrued compensation Loss Contingency Accrual Provision for claims Provision for Loss on Contracts Provision for contract losses Accrued Professional Fees, Current Accrued professional fees Carrying value as of the balance sheet date of obligations incurred through project cost. Accrued Project Costs Accrued project costs Other Accrued Liabilities, Current Other Schedule of Long-term Debt Instruments [Table] Represents information pertaining to Stadco Term Note at 4.71% interest, due August 2028. Stadco Term Loan at 3.79% Interest, Due August 2028 [Member] Stadco Term Loan, at 3.79% interest, due August 2028 Represents information pertaining to Ranor Term Loan at 6.05% interest, due December 2027. Ranor Term Loan at 6.05% Interest, Due December 2027 [Member] Ranor Term Loan, at 6.05% interest, due December 2027 This member stands for ranor revolver loan, at 6.93% interest, due december 2023. Ranor Revolver Loan, at 6.93% interest, due December 2023 [Member] Ranor Revolver Loan, at 6.93% interest, due December 2023 Debt Instrument [Line Items] DEBT Long-term Debt, Gross Total debt Debt Issuance Costs, Net Less: debt issue costs unamortized Long-Term Debt and Lease Obligation, Including Current Maturities Total debt, net Long-Term Debt and Lease Obligation Total long-term debt, net Debt Instrument, Interest Rate, Stated Percentage Interest rate (as a percent) Debt, Weighted Average Interest Rate Weighted average interest rate (as a percent) Represents information pertaining to Ranor Term Loan, 6.05% due December 2027. Ranor Term Loan, 6.05% due December 2027 [Member] Represents information pertaining to Ranor term loan. Ranor Term Loan [Member] Ranor term loan Legal Entity [Axis] Entity [Domain] Represents information pertaining to Ranor Inc., a wholly owned subsidiary of the entity. Ranor Inc [Member] Ranor Ranor, Inc. Credit Facility [Axis] Credit Facility [Domain] Revolving Credit Facility [Member] Revolving Credit Facility Represents the information pertaining to revolver loan taken under revolving credit facility. Revolver loan [Member] Revolver loan Secured Debt [Member] Secured Term Loan Notes Payable, Other Payables [Member] Notes payables Variable Rate [Axis] Variable Rate [Domain] Federal Home Loan Bank of Boston Classic Advance Rate Federal Home Loan Bank of Boston Classic Advance Rate [Member] FHLBBC advance rate Debt Instrument, Face Amount Principal amount of debt The cash inflow for Proceeds From Term Loan. Proceeds From Term Loan Proceeds from term loan Line of Credit Facility, Maximum Borrowing Capacity Maximum principal amount available Debt Instrument, Term Maturity term Debt Instrument, Periodic Payment Monthly payments of principal and interest amount Minimum debt service coverage ratio as required under the debt arrangement. Required Minimum Debt Service Coverage Ratio Required minimum debt service coverage ratio, solely with respect to the fiscal quarter ending December 31, 2022 Maximum amount of borrowing base required to grant loan advance. Maximum Amount Of Borrowing Base Required To Grant Loan Advance Maximum amount of borrowing base required to grant loan advance Represents the percentage of accounts receivable used for determination of the aggregate amount of advances under the revolver loan. Debt Instrument Percentage Of Accounts Receivable Used For Determination Of Aggregate Amount Of Advances Debt instrument percentage of accounts receivable used for determination of aggregate amount of advances Represents the percentage of eligible raw material inventory used for determination of the aggregate amount of advances under the revolver loan. Debt Instrument Percentage Of Eligible Raw Material Used For Determination Of Aggregate Amount Of Advances Debt instrument percentage of eligible raw material used for determination of aggregate amount of advances Amount included in sum total to calculate borrowing base for advancing loans. Amount Included In Sum To Calculate Maximum Borrowing Base Amount included in sum to calculate maximum borrowing base Represents the percentage of Appraised value of equipment for determination of the aggregate amount of advances under the revolver loan. Debt Instrument Percentage Of Appraised Value Of Equipment For Determination Of Aggregate Amount Of Advances Debt Instrument percentage of appraised value Of equipment for determination of aggregate amount of advances Interest Expense, Debt Interest payments Line of Credit Facility, Remaining Borrowing Capacity Unused borrowing capacity Cash flow ratio of debt service. Cash Flow Ratio Of Debt Service Cash flow ratio of debt service Percentage of cash flow to total debt service. Cash Flow To Total Debt Service Cash flow to total debt service Represents the leverage ratio under the financial covenant in year one. Debt Instrument Covenant Leverage Ratio Year One Debt instrument covenant leverage ratio year one Capital Expenditures Incurred but Not yet Paid Annual capital expenditure Represents the loan to value ratio under the financial covenant. Debt Instrument Covenant Loan To Value Ratio Loan-to-Value Ratio Represents the trailing period used for determination of loan to value ratio under the terms of the loan covenants. Debt Instrument Covenant Trailing Period For Measurement Of Loan To Value Ratio Debt instrument covenant trailing period for measurement of loan to value ratio It represents the percentages rate of nonrefundable commitment fee. Nonrefundable Commitment Fee percentages Nonrefundable commitment fee percentages Unamortized Debt Issuance Expense Unamortized debt issuance expense Debt Instrument, Basis Spread on Variable Rate Basis spread on variable rate (as a percent) Applicable interest rate Collaborative Arrangement and Arrangement Other than Collaborative [Table] Collaborative Arrangement and Arrangement Other than Collaborative [Axis] Collaborative Arrangement and Arrangement Other than Collaborative [Domain] Represents information pertaining to payment arrangement agreement with Department of Water and Power of the City of Los Angeles. Payment Arrangement Agreement with Department of Water and Power of the City of Los Angeles [Member] Stadco's payment agreement with the LADWP Collaborative Arrangement and Arrangement Other than Collaborative [Line Items] OTHER NONCURRENT LIABILITY Contract with Customer, Liability, Noncurrent Customer payments received recorded as noncurrent liability Amount of aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service. Aggregate Delinquent and Unpaid Outstanding Amounts for Water, Water Service, Electric Energy and/ or Electric Service Aggregate delinquent and unpaid outstanding amounts for water, water service, electric energy and/or electric service Amount of monthly installment payable under payment arrangement agreement. Payment Arrangement Agreement, Monthly Instalments Payable Monthly installment payments to be made Percentage of annual late payment charge under payment arrangement agreement. Payment Arrangement Agreement, Annual Late Payment Charge, Percentage Late payment charge, annual rate Amount of current liability for aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service. Aggregate Delinquent and Unpaid Outstanding Amounts for Water, Water Service, Electric Energy and/ or Electric Service, Current Current liability Amount of noncurrent liability for aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service. Aggregate Delinquent and Unpaid Outstanding Amounts for Water, Water Service, Electric Energy and/ or Electric Service, Noncurrent Noncurrent liability Lessee, Lease, Description [Table] Building and Property Lease [Member] Building and property lease Lessee, Lease, Description [Line Items] LEASES Amount of other lease assets and lease liabilities during the period. Other Lease Assets and Lease Liabilities Other lease assets and liabilities Represents the monthly payments on finance lease. Lessee, Finance Lease, Monthly Payments Monthly payments Operating Lease, Right-of-Use Asset Right of use asset - operating lease Finance Lease, Right-of-Use Asset, Accumulated Amortization Amortization Amount of lessee's right to use underlying asset under operating lease. Right-of-Use Asset Right of use asset, net Operating Lease, Liability Lease liability - operating lease Finance Lease, Liability Lease liability - finance leases Amount of lease liabilities during the period. Lease Liability Total lease liability Operating Lease Right Of Use Asset Amortization Operating lease amortization Finance Lease, Right-of-Use Asset, Amortization Finance lease amortization Finance Lease, Interest Expense Finance lease interest Operating Lease, Weighted Average Remaining Lease Term Lease term (years) - operating lease Finance Lease, Weighted Average Remaining Lease Term Lease term (years) - finance lease Operating Lease, Weighted Average Discount Rate, Percent Lease rate - operating lease Finance Lease, Weighted Average Discount Rate, Percent Lease rate - finance lease Operating Lease, Payments Cash used in operating activities Finance Lease, Liability, Payment, Due [Abstract] Maturities of lease liabilities Finance Lease, Liability, to be Paid, Year One 2024 Finance Lease, Liability, to be Paid, Year Two 2025 Finance Lease, Liability, to be Paid, Year Three 2026 Finance Lease, Liability, to be Paid, Year Four 2027 Finance Lease, Liability, to be Paid, Year Five 2028 Finance Lease, Liability, to be Paid, after Year Five Thereafter Finance Lease, Liability, Payment, Due Total lease payments Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid as imputed interest following current fiscal year. Finance Lease Liability Imputed Interest Less: imputed interest Present value of lessee's discounted obligation for lease payments from finance lease. Finance Lease Liabilities Total Employee Agreement Annual Commitment For Future Salaries During Next Fiscal Year Aggregate commitment for future executive salaries and bonus Employee Agreement Annual Commitment For Vacation And Holiday Aggregate commitment for accrued payroll, vacation and holiday Defined Contribution Plan, Cost Retirement Benefits Schedule of Segment Reporting Information, by Segment [Table] Segments [Axis] Segments [Domain] This member stands for Stadco Acquisition, LLC. Stadco Acquisition Llc [Member] Stadco Consolidation Items [Axis] Consolidation Items [Domain] Operating Segments [Member] Operating segments Intersegment Eliminations [Member] Intersegment elimination Corporate and unallocated [Member] Corporate and unallocated SEGMENT INFORMATION SEGMENT INFORMATION Number of Reportable Segments Number of reportable segment Revenue from Contract with Customer, Excluding Assessed Tax Net sales from external customers Depreciation, Depletion and Amortization, Nonproduction Depreciation and amortization Amount of capital expenditures from purchase of fixed assets. Capital Expenditures From Purchase Of Fixed Assets Capital expenditures Subsequent Event [Table] Subsequent Event Type [Axis] Subsequent Event Type [Domain] Subsequent Event [Member] Subsequent event Director [Member] Board of Directors Subsequent Event [Line Items] SUBSEQUENT EVENTS EX-101.PRE 9 tpcs-20230930_pre.xml EX-101.PRE XML 10 R1.htm IDEA: XBRL DOCUMENT v3.23.3
Document and Entity Information - shares
6 Months Ended
Sep. 30, 2023
Nov. 10, 2023
Document and Entity Information    
Document Type 10-Q  
Document Quarterly Report true  
Document Transition Report false  
Document Period End Date Sep. 30, 2023  
Entity Registrant Name TechPrecision Corporation  
Entity File Number 000-51378  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 51-0539828  
Entity Address, Address Line One 1 Bella Drive  
Entity Address, City or Town Westminster  
Entity Address, State or Province MA  
Entity Address, Postal Zip Code 01473  
City Area Code 978  
Local Phone Number 874-0591  
Title of 12(b) Security Common Stock, par value $0.0001 per share  
Trading Symbol TPCS  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Non-accelerated Filer  
Entity Small Business true  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   8,762,432
Entity Central Index Key 0001328792  
Current Fiscal Year End Date --03-31  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q2  
Amendment Flag false  
XML 11 R2.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited) - USD ($)
Sep. 30, 2023
Mar. 31, 2023
Current assets:    
Cash and cash equivalents $ 138,206 $ 534,474
Accounts receivable, net 3,020,723 2,336,481
Contract assets 8,096,608 8,947,811
Raw materials 1,925,085 1,692,852
Work-in-process 866,848 719,736
Other current assets 466,245 348,983
Total current assets 14,513,715 14,580,337
Property, plant and equipment, net 15,764,677 13,914,024
Right-of-use asset, net 5,322,118 5,660,938
Deferred income taxes 2,254,314 1,931,186
Other noncurrent assets, net 121,256 121,256
Total assets 37,976,080 36,207,741
Current liabilities:    
Accounts payable 1,607,001 2,224,320
Accrued expenses 2,785,839 2,533,185
Contract liabilities 3,180,681 2,333,591
Current portion of long-term lease liability 721,623 711,727
Current portion of long-term debt, net 6,958,395 1,218,162
Total current liabilities 15,253,539 9,020,985
Long-term debt, net   4,749,139
Long-term lease liability 4,780,155 5,143,974
Other noncurrent liability 4,428,812 2,699,492
Total liabilities 24,462,506 21,613,590
Commitments and contingent liabilities (see Note 14)
Stockholders' Equity:    
Common stock - par value $.0001 per share, shares authorized: 50,000,000; Shares issued and outstanding: 8,737,432 at September 30, 2023 and 8,613,408 at March 31, 2023 874 861
Additional paid in capital 14,924,927 14,949,729
Accumulated deficit (1,412,227) (356,439)
Total stockholders' equity 13,513,574 14,594,151
Total liabilities and stockholders' equity $ 37,976,080 $ 36,207,741
XML 12 R3.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited) (Parenthetical) - $ / shares
Sep. 30, 2023
Mar. 31, 2023
CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited)    
Common stock, par value (in dollars per share) $ 0.0001 $ 0.0001
Common stock, shares authorized 50,000,000 50,000,000
Common stock, shares issued 8,737,432 8,613,408
Common stock, shares outstanding 8,737,432 8,613,408
XML 13 R4.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (unaudited) - USD ($)
3 Months Ended 6 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (unaudited)        
Net sales $ 7,970,086 $ 8,522,647 $ 15,341,326 $ 15,599,004
Cost of sales 6,935,271 6,782,975 13,612,362 13,042,114
Gross profit 1,034,815 1,739,672 1,728,964 2,556,890
Selling, general and administrative 1,632,168 1,827,095 2,906,117 3,202,322
Loss from operations (597,353) (87,423) (1,177,153) (645,432)
Other income 40,875 73,561 40,876 40,336
Interest expense (148,553) (83,730) (242,639) (167,375)
Refundable employee retention tax credits   624,045   624,045
Total other (expense) income (107,678) 613,876 (201,763) 497,006
(Loss) income before income taxes (705,031) 526,453 (1,378,916) (148,426)
Income tax (benefit) expense (176,698) 135,509 (323,128) (38,205)
Net (loss) income $ (528,333) $ 390,944 $ (1,055,788) $ (110,221)
Net (loss) earnings per share basic (in dollars per share) $ (0.06) $ 0.05 $ (0.12) $ (0.01)
Net (loss) earnings per share diluted (in dollars per share) $ (0.06) $ 0.04 $ (0.12) $ (0.01)
Weighted average shares outstanding - basic (in shares) 8,720,603 8,584,510 8,667,298 8,580,707
Weighted average shares outstanding - diluted (in shares) 8,720,603 8,998,195 8,667,298 8,580,707
XML 14 R5.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (unaudited) - USD ($)
Common Stock Outstanding
Additional Paid in Capital
Retained Earnings (Accumulated Deficit)
Total
Balance at Mar. 31, 2022 $ 858 $ 14,640,343 $ 622,567 $ 15,263,768
Balance (in shares) at Mar. 31, 2022 8,576,863      
Stock-based compensation   52,107   52,107
Net income (loss)     (501,165) (501,165)
Balance at Jun. 30, 2022 $ 858 14,692,450 121,402 14,814,710
Balance (in shares) at Jun. 30, 2022 8,576,863      
Stock-based compensation   46,539   46,539
Stock issued for contingent consideration $ 1 56,309   56,310
Stock issued for contingent consideration (in shares) 9,127      
Stock award nonemployee directors $ 2 143,998   144,000
Stock options exercised (in shares) 25,000      
Net income (loss)     390,944 390,944
Balance at Sep. 30, 2022 $ 861 14,939,296 512,346 15,452,503
Balance (in shares) at Sep. 30, 2022 8,610,990      
Balance at Mar. 31, 2023 $ 861 14,949,729 (356,439) 14,594,151
Balance (in shares) at Mar. 31, 2023 8,613,408      
Net income (loss)     (527,455) (527,455)
Balance at Jun. 30, 2023 $ 861 14,949,729 (883,894) 14,066,696
Balance (in shares) at Jun. 30, 2023 8,613,408      
Stock used for tax withholding at exercise   (34,013)   (34,013)
Restricted stock award $ 2 (2)    
Restricted stock award (in share) 15,000      
Stock-based compensation   9,224   9,224
Stock award nonemployee directors $ 11 (11)    
Stock options exercised (in shares) 109,024      
Net income (loss)     (528,333) (528,333)
Balance at Sep. 30, 2023 $ 874 $ 14,924,927 $ (1,412,227) $ 13,513,574
Balance (in shares) at Sep. 30, 2023 8,737,432      
XML 15 R6.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited) - USD ($)
6 Months Ended
Sep. 30, 2023
Sep. 30, 2022
CASH FLOWS FROM OPERATING ACTIVITIES:    
Net loss $ (1,055,788) $ (110,221)
Adjustments to reconcile net loss to net cash provided by operating activities:    
Depreciation and amortization 1,128,059 1,116,602
Amortization of debt issue costs 37,475 26,747
Stock-based compensation expense 9,224 298,957
Change in contract loss provision (43,049) (26,628)
Deferred income taxes (323,128) (38,205)
Gain on disposal of fixed assets (40,399)  
Change in fair value for contingent consideration   63,436
Changes in operating assets and liabilities:    
Accounts receivable (684,242) 968,829
Contract assets 851,203 (869,853)
Work-in-process and raw materials (379,345) (281,929)
Other current assets (117,262) 411,770
Accounts payable (617,319) 272,554
Accrued expenses (84,182) (1,243,082)
Contract liabilities 847,090 41,086
Other noncurrent liabilities 1,729,320 993,203
Net cash provided by operating activities 1,257,657 1,623,266
CASH FLOWS FROM INVESTING ACTIVITIES:    
Proceeds from insurance claim on fixed assets 61,944  
Fixed asset deposit   (574,143)
Purchases of property, plant and equipment (2,658,937) (499,341)
Net cash used in investing activities (2,596,993) (1,073,484)
CASH FLOWS FROM FINANCING ACTIVITIES:    
Debt issue costs   (18,862)
Revolver loan payments and borrowings, net 1,250,000 (1,012,002)
Payments of principal for leases (10,552) (25,820)
Repayments of long-term debt (296,380) (309,853)
Net cash provided by (used in) financing activities 943,068 (1,366,537)
Net decrease in cash and cash equivalents (396,268) (816,755)
Cash and cash equivalents, beginning of period 534,474 1,052,139
Cash and cash equivalents, end of period 138,206 235,384
SUPPLEMENTAL DISCLOSURES OF CASH FLOWS INFORMATION:    
Cash paid for interest, net of amounts capitalized $ 201,388 $ 135,041
XML 16 R7.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited) (Parenthetical) - Chief Financial Officer
Jul. 13, 2023
shares
Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]  
Company common stock pursuant to option awards 125,000
Options exercised as a cashless net settlement transaction 109,024
XML 17 R8.htm IDEA: XBRL DOCUMENT v3.23.3
DESCRIPTION OF BUSINESS
6 Months Ended
Sep. 30, 2023
DESCRIPTION OF BUSINESS  
DESCRIPTION OF BUSINESS

NOTE 1 - DESCRIPTION OF BUSINESS

TechPrecision Corporation, or “TechPrecision”, is a Delaware corporation organized in February 2005 under the name Lounsberry Holdings II, Inc. On February 24, 2006, we acquired all of the issued and outstanding capital stock of our wholly owned subsidiary Ranor, Inc., or “Ranor.” Ranor, together with its predecessors, has been in continuous operation since 1956. The company’s name was changed to TechPrecision Corporation on March 6, 2006.

On August 25, 2021, the Company completed its previously announced acquisition of Stadco, pursuant to that certain stock purchase agreement with Stadco New Acquisition, LLC, or “Acquisition Sub”, Stadco Acquisition, LLC, Stadco and each equity holder of Stadco Acquisition, LLC. On the closing date, the Company, through Acquisition Sub, acquired all the issued and outstanding capital stock of Stadco from Stadco Acquisition, LLC in exchange for the issuance of shares of the Company’s common stock to Stadco Acquisition, LLC. As a result of the acquisition, Stadco is now our wholly owned indirect subsidiary.

TechPrecision is the parent company of Ranor, Westminster Credit Holdings, LLC, or “WCH”, Acquisition Sub, and Stadco. TechPrecision, Ranor, WCH, Acquisition Sub and Stadco are collectively referred to as the “Company”, “we”, “us” or “our”.

We manufacture large-scale metal fabricated and machined precision components and equipment. These products are used in a variety of markets, primarily defense and aerospace, and secondarily precision industrial. All our operations and customers are in the United States, or “U.S.”.

XML 18 R9.htm IDEA: XBRL DOCUMENT v3.23.3
BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES
6 Months Ended
Sep. 30, 2023
BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES  
BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES

NOTE 2 - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES

Basis of Presentation and Consolidation - The accompanying condensed consolidated financial statements include the accounts of TechPrecision, Ranor, Stadco, WCH, and Acquisition Sub. All intercompany transactions and balances have been eliminated in consolidation. The accompanying condensed consolidated balance sheet as of September 30, 2023, the condensed consolidated statements of operations and stockholders’ equity for the three and six months ended September 30, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended September 30, 2023 and 2022 are unaudited, but, in the opinion of management, include all adjustments that are necessary for a fair presentation of our financial statements for interim periods in accordance with U.S. Generally Accepted Accounting Principles, or “U.S. GAAP”. All adjustments are of a normal, recurring nature, except as otherwise disclosed. The results of operations for an interim period are not necessarily indicative of the results of operations to be expected for the fiscal year. On February 23, 2023, the Company effected a one-for-four reverse stock split with respect to the issued and outstanding shares of TechPrecision common stock. All share and per-share amounts included in this Form 10-Q are presented as if the stock split had been effective from the beginning of the earliest period presented.

These notes to the condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission, or the “SEC”, for Quarterly Reports on Form 10-Q. Certain information and disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. These unaudited financial statements and related notes should be read in conjunction with the consolidated financial statements included with our Annual Report on Form 10-K for the fiscal year ended March 31, 2023, filed with the SEC on June 15, 2023.

Use of Estimates in the Preparation of Financial Statements - In preparing the condensed consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the condensed consolidated financial statements and revenues and expenses during the reporting period. We continually evaluate our estimates, including those related to revenue recognition and income taxes. We base our estimates on historical and current experiences and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates.

Liquidity and Going Concern - Our liquidity is highly dependent on the availability of financing facilities and our ability to maintain a gross profit and operating income. For the six months ended September 30, 2023 we reported a net loss ($1,055,788).

As of September 30, 2023, we had $3.2 million in total available liquidity, consisting of $0.1 million in cash and cash equivalents, and $3.1 million in undrawn capacity under our revolver loan. As of March 31, 2023, we had $4.7 million in total available liquidity, consisting of $0.5 million in cash and cash equivalents, and $4.2 million in undrawn capacity under our revolver loan.

The Company is the borrower under the Loan Agreement (as defined below; see Note 11 – Debt). There was $7.1 million outstanding under the agreement on September 30, 2023. The maturity date of the revolver loan under the loan agreement is December 20, 2023.

The Company was not in compliance with certain of the financial covenants at September 30, 2023 and has requested a waiver from Berkshire Bank, the lender, but has not yet received approval from the bank. Under the terms of the loan agreement, the bank has the right to demand repayment. If the lender demands repayment the Company will be unable to pay the obligation because the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations. Also, it is probable that the Company will not be in compliance with the same debt covenants at subsequent measurement dates within the next twelve months. As such, all of our long-term debt has been classified as current in our condensed consolidated balance sheet.

Without a waiver, the lender has the right, but not the obligation, to demand repayment from the Company for noncompliance with the debt covenants. In addition, the bank retains the right to act on covenant violations that occur after the date of delivery of any waiver. If the lender were to decline to grant us a waiver and instead demand repayment, we would need to seek alternative financing to pay these obligations as the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations.

The Company is exploring various means of strengthening its liquidity position and ensuring compliance with its debt financing covenants, which may include the obtaining of waivers from our current lender, amending our facility or entering into one or more alternative facilities.

In order for us to continue operations beyond the next twelve months from the date of issuance of the financial statements and to be able to discharge our liabilities and commitments in the normal course of business, we must mitigate our recurring operating losses at our Stadco subsidiary. We must efficiently increase utilization of our manufacturing capacity at our Stadco subsidiary and improve the manufacturing process, so our direct labor hours (inputs) allow us to recognize more revenue over time (outputs) and improve job performance. We plan to closely monitor our expenses and, if required, will reduce operating costs to enhance liquidity.

The uncertainty associated with the recurring operating losses at Stadco, the current violation of debt covenants, and the expected debt covenant violation at subsequent compliance dates raise substantial doubt about our ability to continue as a going concern within one-year after the date the condensed consolidated financial statements included in this Quarterly Report on Form 10-Q are issued.

The condensed consolidated financial statements for the six months ended September 30, 2023 were prepared on the basis of a going concern which contemplates that we will be able to realize assets and discharge liabilities in the normal course of business. Accordingly, they do not give effect to adjustments that would be necessary should we be required to liquidate assets. Our ability to satisfy our current liabilities and to continue as a going concern is dependent upon the Company’s compliance with the debt covenants and its ability to grow revenue and reduce costs at Stadco. The financial statements do not include any adjustments that might result from the outcome of these uncertainties.

New Accounting Standards Recently Adopted

In June 2016, the FASB issued ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, as amended subsequently by ASUs 2018-19, 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The guidance in these ASUs requires that credit losses be reported using an expected losses model rather than the incurred losses model that is currently used. The standard also establishes additional disclosures related to credit risks. This standard was effective for fiscal years beginning after December 15, 2022. The adoption of this ASU on April 1, 2023 did not have a significant impact on the Company’s condensed financial statements and disclosures.

XML 19 R10.htm IDEA: XBRL DOCUMENT v3.23.3
REVENUE
6 Months Ended
Sep. 30, 2023
REVENUE  
REVENUE

NOTE 3 – REVENUE

The Company generates revenue primarily from performance obligations completed under contracts with customers in two main market sectors: defense and precision industrial. The period over which the Company performs its obligations can be between three and thirty-six months. Revenue is recognized over-time or at a point-in-time given the terms and conditions of the related contracts. The Company utilizes an inputs methodology based on estimated labor hours to measure performance progress. This model best depicts the transfer of control to the customer. The Company’s contract portfolio is comprised of fixed-price contracts and provides for product-type sales only. The following table presents net sales on a disaggregated basis by market and contract type:

Net Sales by market

    

Defense

    

Industrial

    

Totals

Three months ended September 30, 2023

$

7,959,628

$

10,458

$

7,970,086

Three months ended September 30, 2022

$

8,385,441

$

137,206

$

8,522,647

Six months ended September 30, 2023

$

15,159,032

$

182,294

$

15,341,326

Six months ended September 30, 2022

$

15,226,365

$

372,639

$

15,599,004

Net Sales by contract type

    

Over-time

    

Point-in-time

    

Totals

Three months ended September 30, 2023

$

7,413,656

$

556,430

$

7,970,086

Three months ended September 30, 2022

$

8,219,139

$

303,508

$

8,522,647

Six months ended September 30, 2023

$

14,347,460

$

993,866

$

15,341,326

Six months ended September 30, 2022

$

14,841,232

$

757,772

$

15,599,004

As of September 30, 2023, the Company had $44.6 million of remaining performance obligations, of which $38.3 million were less than 50% complete. The Company expects to recognize all of its remaining performance obligations as revenue within the next thirty-six months.

We are dependent each year on a small number of customers who generate a significant portion of our business, and these customers change from year to year. The following table sets forth revenues from customers who accounted for more than 10% of our net sales.

Three months ended

Three months ended

Six months ended

Six months ended

September 30, 2023

September 30, 2022

 

September 30, 2023

September 30, 2022

Customer

    

Amount

    

Percent

    

Amount

    

Percent

    

Amount

    

Percent

    

Amount

    

Percent

  

A

$

2,560,204

 

32

%  

$

1,438,049

 

17

%  

$

4,845,478

32

%  

$

2,734,436

18

%

B

$

999,540

 

13

%  

$

*

 

*

%  

$

1,742,776

11

%  

$

*

*

%

C

$

*

*

%  

$

1,614,929

19

%  

$

*

*

%  

$

3,378,520

22

%

D

$

*

*

%

$

1,971,441

23

%

$

*

*

%

$

3,043,315

20

%

*Less than 10% of total

In our condensed consolidated balance sheet, contract assets and contract liabilities are reported in a net position on a contract-by-contract basis at the end of each reporting period. For the six months ended September 30, 2023, we recognized revenue of approximately $1.2 million related to our contract liabilities at April 1, 2023. Contract assets consisted of the following at:

Progress

    

Unbilled

    

payments

    

Total

September 30, 2023

$

20,183,772

$

(12,087,164)

$

8,096,608

March 31, 2023

$

19,485,914

$

(10,538,103)

$

8,947,811

XML 20 R11.htm IDEA: XBRL DOCUMENT v3.23.3
INCOME TAXES
6 Months Ended
Sep. 30, 2023
INCOME TAXES  
INCOME TAXES

NOTE 4 – INCOME TAXES

The Company accounts for income taxes under ASC 740, Income Taxes. The tax provision for interim periods is determined using the estimated annual effective consolidated tax rate, based on the current estimate of full-year earnings before taxes, adjusted for the impact of discrete quarterly items. We recorded an income tax benefit for the three ($176,698) and six months ($323,128) ended September 30, 2023. For the three months ended September 30, 2022, we recorded income tax expense of $135,509, and for the six months ended September 30, 2022 we recorded an income tax benefit ($38,205). The Company’s effective tax rate for the six months ended September 30, 2023 and 2022 was 23.4% and 25.7%, respectively.

The valuation allowance on deferred tax assets was approximately $2.1 million at September 30, 2023. We believe that it is more likely than not that the benefit from certain state net operating losses, or “NOLs”, carryforwards and other deferred tax assets will not be realized. In the event future taxable income is below management’s estimates or is generated in tax jurisdictions different than projected, the Company could be required to increase the valuation allowance for deferred tax assets. This would result in an increase in the Company’s effective tax rate.

XML 21 R12.htm IDEA: XBRL DOCUMENT v3.23.3
EARNINGS PER SHARE (EPS)
6 Months Ended
Sep. 30, 2023
EARNINGS PER SHARE (EPS)  
EARNINGS PER SHARE (EPS)

NOTE 5 – EARNINGS PER SHARE (EPS)

Basic EPS is computed by dividing reported earnings available to stockholders by the weighted average number of shares outstanding. Diluted EPS also includes the effect of stock options that would be dilutive. The following table provides a reconciliation of the numerators and denominators reflected in the basic and diluted earnings per share computations for the periods ended:

    

Three Months ended

    

Three Months ended

     

Six Months ended

     

Six Months ended

September 30, 2023

September 30, 2022

September 30, 2023

September 30, 2022

Basic EPS

Net (loss) income

$

(528,333)

$

390,944

$

(1,055,788)

$

(110,221)

Weighted average shares

 

8,720,603

8,584,510

8,667,298

8,580,707

Net (loss) earnings per share

$

(0.06)

$

0.05

$

(0.12)

$

(0.01)

Diluted EPS

Net (loss) income

$

(528,333)

$

390,944

$

(1,055,788)

$

(110,221)

Dilutive effect of stock options

 

413,685

Weighted average shares

 

8,720,603

8,998,195

8,667,298

8,580,707

Net (loss) earnings per share

$

(0.06)

$

0.04

$

(0.12)

$

(0.01)

All potential common stock equivalents that have an anti-dilutive effect are excluded from the calculation of diluted EPS (i.e., those that increase income per share or decrease loss per share). For the three months and six months ended September 30, 2023 there were potential anti-dilutive stock options and warrants of 567,500, none of which were included in the earnings per share calculations above. For the six months ended September 30, 2022, there were potential anti-dilutive stock options and warrants of 417,124, none of which were included in the earnings per share calculations above.

XML 22 R13.htm IDEA: XBRL DOCUMENT v3.23.3
STOCK-BASED COMPENSATION
6 Months Ended
Sep. 30, 2023
STOCK-BASED COMPENSATION  
STOCK-BASED COMPENSATION

NOTE 6 – STOCK-BASED COMPENSATION

The 2016 TechPrecision Equity Incentive Plan, or the “2016 Plan”, is designed to reflect our commitment to having best practices in both compensation and corporate governance. The 2016 Plan provides for a share reserve of 1,250,000 shares of common stock.

On July 13, 2023, our former CFO exercised an option to purchase 125,000 shares of the Company’s common stock pursuant to option awards previously granted under the 2016 Plan. The option was exercised as a cashless net settlement transaction and resulted in the delivery of 109,024 shares of common stock on July 13, 2023.

The following table summarizes information about options granted during the most recently completed periods:

Weighted

Average

Weighted

Aggregate

Remaining

Number Of

Average

Intrinsic

Contractual Life

    

Options

    

Exercise Price

    

Value

    

(in years)

Outstanding at March 31, 2023

667,500

$

1.37

$

3,804,625

3.70

Exercised

(125,000)

$

0.68

846,250

Outstanding at September 30, 2023

542,500

$

1.53

$

3,108,950

3.63

Vested or expected to vest at September 30, 2023

 

542,500

$

1.53

$

3,108,950

 

3.63

Exercisable and vested at September 30, 2023

 

542,500

$

1.53

$

3,108,950

 

3.63

The aggregate intrinsic value in the table above represents the total pre-tax intrinsic value (the difference between the closing stock price on the last trading day of the second quarter of fiscal 2024 and the exercise price, multiplied by the number of in-the-money options) that would have been received by the option holders had all option holders exercised their options on September 30, 2023. This amount changes based on the fair market value of the Company’s common stock. The maximum contractual term is ten years for option grants. Other information relating to stock options outstanding at September 30, 2023 is as follows:

Weighted

 

 

Average

 

 

 

 

Remaining

 

Weighted

 

Weighted

Options

 

Contractual

Average

Options

Average

Range of Exercise Prices:

    

Outstanding

    

Term

    

Exercise Price

    

 Exercisable

    

Exercise Price

$0.01-$0.99

 

192,500

 

1.87

$

0.32

 

192,500

$

0.32

$2.00-$2.99

 

350,000

 

3.66

$

2.19

 

350,000

$

2.19

Totals

 

542,500

 

 

  

 

542,500

 

  

On August 3, 2023 the Company issued 15,000 restricted shares of the Company’s common stock to the Company’s new CFO. Under the terms of the employment agreement, provided she remains employed by the Company from the grant date through the applicable vesting dates, 5,000 shares of the restricted stock will vest on each of the first, second, and third anniversaries of the effective employment date of July 17, 2023.

At September 30, 2023, there were 297,500 shares available for grant under the 2016 Plan.

XML 23 R14.htm IDEA: XBRL DOCUMENT v3.23.3
CONCENTRATION OF CREDIT RISK
6 Months Ended
Sep. 30, 2023
CONCENTRATION OF CREDIT RISK  
CONCENTRATION OF CREDIT RISK

NOTE 7 - CONCENTRATION OF CREDIT RISK

We maintain bank account balances, which, at times, may exceed insured limits. We have not experienced any losses with these accounts and believe that we are not exposed to any significant credit risk on cash.

On September 30, 2023, there were trade accounts receivable balances outstanding from three customers comprising 56% of the total trade receivables balance. The following table sets forth information as to trade accounts receivable from customers which accounted for more than 10% of our accounts receivable balance as of:

September 30, 2023

March 31, 2023

 

Customer

    

Dollars

    

Percent

    

Dollars

    

Percent

 

A

$

809,255

 

28

%  

$

730,514

 

31

%

B

$

*

 

*

%  

$

260,177

 

11

%

C

$

448,127

 

15

%  

$

*

 

*

%

D

$

*

 

*

%  

$

265,755

 

11

%

E

$

375,811

 

13

%  

$

*

 

*

%

*less than 10% of total

XML 24 R15.htm IDEA: XBRL DOCUMENT v3.23.3
OTHER CURRENT ASSETS
6 Months Ended
Sep. 30, 2023
OTHER CURRENT ASSETS  
OTHER CURRENT ASSETS

NOTE 8 - OTHER CURRENT ASSETS

Other current assets included the following as of:

    

September 30, 2023

    

March 31, 2023

Prepaid taxes

$

80,028

$

9,616

Prepaid insurance

 

143,928

 

162,075

Prepaid subscriptions

 

182,668

 

120,570

Deposits

21,706

21,706

Employee advances

 

16,163

4,561

Prepaid advisory fees, other

 

21,752

30,455

Total

$

466,245

$

348,983

XML 25 R16.htm IDEA: XBRL DOCUMENT v3.23.3
PROPERTY, PLANT AND EQUIPMENT, NET
6 Months Ended
Sep. 30, 2023
PROPERTY, PLANT AND EQUIPMENT, NET  
PROPERTY, PLANT AND EQUIPMENT, NET

NOTE 9 - PROPERTY, PLANT AND EQUIPMENT, NET

Property, plant and equipment, net consisted of the following as of:

    

September 30, 2023

    

March 31, 2023

Land

$

110,113

$

110,113

Building and improvements

 

3,293,986

3,293,986

Machinery equipment, furniture, and fixtures

 

25,671,848

23,018,713

Construction-in-progress

 

114,990

149,576

Total property, plant, and equipment

 

29,190,937

26,572,388

Less: accumulated depreciation and amortization

 

(13,426,260)

(12,658,364)

Total property, plant and equipment, net

$

15,764,677

$

13,914,024

We capitalize interest on borrowings during active construction periods for major capital projects. Capitalized interest is added to the cost of the underlying assets and is amortized over the useful lives of the assets. Interest capitalized for the six months ended September 30, 2023 was $14,455.

XML 26 R17.htm IDEA: XBRL DOCUMENT v3.23.3
ACCRUED EXPENSES
6 Months Ended
Sep. 30, 2023
ACCRUED EXPENSES  
ACCRUED EXPENSES

NOTE 10 - ACCRUED EXPENSES

Accrued expenses included the following as of:

    

September 30, 2023

    

March 31, 2023

Accrued compensation

$

1,203,466

$

1,257,245

Provision for claims

234,472

256,227

Provision for contract losses

 

148,503

102,954

Accrued professional fees

 

487,631

241,195

Accrued project costs

 

558,010

440,550

Other

 

153,757

235,014

Total

$

2,785,839

$

2,533,185

Accrued compensation includes amounts for executive bonuses, payroll and vacation and holiday pay. Provisions for estimated losses on uncompleted contracts are made in the period in which such losses are determined. Changes in the provision are recorded in cost of sales. Accrued project costs are estimates for certain project expenses during the reporting period.

XML 27 R18.htm IDEA: XBRL DOCUMENT v3.23.3
DEBT
6 Months Ended
Sep. 30, 2023
DEBT  
DEBT

NOTE 11 – DEBT

Long-term debt included the following as of:

    

September 30, 2023

    

March 31, 2023

Stadco Term Loan, at 3.79% interest, due August 2028

$

2,919,712

$

3,186,495

Ranor Term Loan, at 6.05% interest, due December 2027

2,246,920

2,276,518

Ranor Revolver Loan, at 7.69% interest, due December 2023

1,900,000

650,000

Total debt

$

7,066,632

$

6,113,013

Less: debt issue costs unamortized

$

108,237

$

145,712

Total debt, net

$

6,958,395

$

5,967,301

Less: Current portion of long-term debt

$

6,958,395

$

1,218,162

Total long-term debt, net

$

$

4,749,139

Amended and Restated Loan Agreement

On August 25, 2021, the Company entered into an amended and restated loan agreement with Berkshire Bank, or the “Loan Agreement”. Under the Loan Agreement, Berkshire Bank will provide the Ranor Term Loan (as defined below) and the revolving line of credit, or the “Revolver Loan”. In addition, Berkshire Bank provided the Stadco Term Loan (as defined below) in the original amount of $4.0 million. The proceeds of the original Ranor Term Loan of $2.85 million were previously used to refinance existing mortgage debt of Ranor. The proceeds of the Revolver Loan are used for working capital and general corporate purposes of the Company. The proceeds of the Stadco Term Loan were to be used to support the acquisition of Stadco and refinance existing indebtedness of Stadco.

Stadco Term Loan

On August 25, 2021, Stadco borrowed $4.0 million from Berkshire Bank, or the “Stadco Term Loan”, under the Loan Agreement. Interest on the Stadco Term Loan is due on unpaid balances beginning on August 25, 2021 at a fixed rate per annum equal to the 7 year Federal Home Loan Bank of Boston Classic Advance Rate plus 2.25%. Since September 25, 2021 and on the 25th day of each month thereafter, Stadco had made and will make monthly payments of principal and interest in the amount of $54,390 each, with all remaining outstanding principal and accrued interest due and payable on August 25, 2028. Interest shall be calculated based on actual days elapsed and a 360-day year.

Unamortized debt issue costs on September 30, 2023 and March 31, 2023 were $36,945 and $44,482, respectively.

Ranor Term Loan and Revolver Loan

A term loan was made to Ranor by Berkshire Bank in 2016 in the amount of $2.85 million, or the “Ranor Term Loan”. Payments began on January 20, 2017, and were made in monthly installments of $19,260 each, inclusive of interest at a fixed rate of 5.21% per annum, with all outstanding principal and accrued interest due and payable on the original maturity date, December 20, 2021, which was extended to December 20, 2022.

On December 23, 2022, Ranor and certain affiliates of the Company entered into a Fifth Amendment to Amended and Restated Loan Agreement, Fifth Amendment to Promissory Note and First Amendment to Second Amended and Restated Promissory Note, or the “Amendment”. Effective as of December 20, 2022, the Amendment, among other things (i) extends the maturity date of the Ranor Term Loan to December 15, 2027, (ii) extends the maturity date of the Revolver Loan from December 20, 2022 to December 20, 2023, (iii) increases the interest rate on the Ranor Term Loan from 5.21% to 6.05% per annum, (iv) decreases the monthly payment on the Ranor Term Loan from $19,260 to $16,601, (v) replaces LIBOR as an option for the benchmark interest rate for the Revolver Loan with the Secured Overnight Financing Rate, or “SOFR”, (vi) replaces LIBOR-based interest pricing conventions with SOFR-based pricing conventions, including benchmark replacement provisions, and (vii) solely with respect to the fiscal quarter ending December 31, 2022, lowers the debt service coverage ratio from at least 1.2 to 1.0 to 1.1 to 1.0.

Under the Loan Agreement, Berkshire Bank also makes available to Ranor the Revolver Loan, which has a maximum principal amount available of $5.0 million. Advances under the Revolver Loan are subject to a borrowing base equal to the lesser of (a) $5.0 million or (b) the sum of (i)80% of the net outstanding amount of Base Accounts, plus (ii) the lesser of (x) 25% of Eligible Raw Material Inventory, and (y) $250,000, plus (iii) 80% of the Appraised Value of the Eligible Equipment, as such terms are defined in the Loan Agreement.

The Company agrees to pay to Berkshire Bank, as consideration for Berkshire Bank’s agreement to make the Revolver Loan available, a nonrefundable Revolver Loan fee equal to 0.25% per annum (computed based on a year of 360 days and actual days elapsed) on the difference between the amount of: (a) $5.0 million, and (b) the average daily outstanding balance of the Revolver Loan during the quarterly period then ended. All Revolver Loan fees are payable quarterly in arrears on the first day of each January, April, July and October and on the Revolver Maturity Date, or upon acceleration of the Revolver Loan, if earlier.

Under the amended promissory note for the Revolver Loan, the Company can elect to pay interest at the Term SOFR-based rate or an Adjusted Prime Rate, each as defined in the agreement. Interest-only payments on advances made under the Revolver Loan will continue to be payable monthly in arrears. The prior LIBOR-based rate expired on December 20, 2022.

There was approximately $1.9 million outstanding under the Revolver Loan at September 30, 2023. Interest paid and accrued under the Revolver Loan was $83,182 for the six months ended September 30, 2023. The weighted average interest rate for the first six months of fiscal 2024 was 7.46%. Unused borrowing capacity at September 30, 2023 and March 31, 2023 was approximately $3.1 million and $4.2 million, respectively.

Unamortized debt issue costs at September 30, 2023 and March 31, 2023 were $71,292 and $101,230, respectively.

Berkshire Loan Covenants

For purposes of this discussion, Ranor and Stadco are referred to together as the “Borrowers”. The Ranor Term Loan, the Stadco Term Loan and the Revolver Loan, or together, the “Berkshire Loans”, may be accelerated upon the occurrence of an event of default as defined in the Loan Agreement. Upon the occurrence and during the continuance of certain default events, at the option of Berkshire Bank, or automatically without notice or any other action upon the occurrence of certain other events specified in the Loan Agreement, the unpaid principal amount of the Berkshire Loans together with accrued interest and all other obligations owing by the Borrowers to Berkshire Bank would become immediately due and payable without presentment, demand, protest, or further notice of any kind.

The Company agreed to maintain compliance with certain financial covenants under the Loan Agreement. Namely, the Borrowers agree to maintain the ratio of the Cash Flow of TechPrecision-to-the Total Debt Service of TechPrecision of not less than 1.20 to 1.00 (except for the fiscal quarter ended December 31, 2022, in which case such ratio of Cash Flow to Total Debt Service was to be not less than 1.10 to 1.00), measured quarterly on the last day of each fiscal quarter, or annual period of TechPrecision on a trailing 12-month basis, commencing with the fiscal quarter ending as of September 30, 2021. Calculations will be based on the audited (year-end) and unaudited (quarterly) consolidated financial statements of TechPrecision. Quarterly tests will be measured based on the financial statements included in the Company’s quarterly reports on Form 10-Q within 60 days of the end of each quarter, and annual tests will be measured based on the financial statements included in the Company’s annual reports on Form 10-K within 120 days after the end of each fiscal annual period. Cash Flow means an amount, without duplication, equal to the sum of net income of TechPrecision plus (i) interest expense, plus (ii) taxes, plus (iii) depreciation and amortization, plus (iv) stock based compensation expense taken by TechPrecision, plus (v) non-cash losses and charges and one time or non-recurring expenses at Berkshire Bank’s discretion, less (vi) the amount of cash distributions, if any, made to stockholders or owners of TechPrecision, less (vii) cash taxes paid by the TechPrecision, all as determined in accordance with U.S. GAAP. “Total Debt Service” means an amount, without duplication, equal to the sum of (i) all amounts of cash

interest paid on liabilities, obligations, and reserves of TechPrecision paid by TechPrecision, (ii) all amounts paid by TechPrecision in connection with current maturities of long-term debt and preferred dividends, and (iii) all payments on account of capitalized leases, all as determined in accordance with U.S. GAAP.

The Borrowers agree to cause their Balance Sheet Leverage to be less than or equal 2.50 to 1.00. For purposes of this covenant, “Balance Sheet Leverage” means, at any date of determination, the ratio of Borrowers’ (a) Total Liabilities, less Subordinated Debt, to (b) Net Worth, plus Subordinated Debt.

The Borrowers agree that their combined annual capital expenditures shall not exceed $1.5 million, subject to certain agreed-upon exclusions. Compliance is tested annually.

The Borrowers agree to maintain a Loan-to-Value Ratio of not greater than 0.75 to 1.00. “Loan-to-Value Ratio” means the ratio of (a) the sum of the outstanding balance of the Ranor Term Loan and the Stadco Term Loan to (b) the fair market value of the property pledged as collateral for the loan, as determined by an appraisal obtained from time to time by Berkshire Bank, but not more frequently than one time during each 365 day period (provided that Berkshire Bank may obtain an appraisal at any time after either the Ranor Term Loan or the Stadco Term Loan has been accelerated), which appraisals shall be at the expense of the Borrowers.

On June 12, 2023, the Company and Berkshire Bank executed a waiver under which Berkshire Bank waived the Company’s noncompliance with the capital expenditure limit on March 31, 2023. The waiver document also contains an agreement by the parties to exclude from the calculation of capital expenditures for purposes of the Loan Agreement during the year ending March 31, 2024 any such expenditures made by the Company to the extent they are made using funds provided by customers of the Company for the purpose of making such capital expenditures.

The Company was not in compliance with the debt service coverage ratio covenant at September 30, 2023 and has requested a waiver from Berkshire Bank, the lender. Also, it is probable that the Company will not be in compliance with the debt covenants at subsequent measurement dates. As such, all of our long-term debt has been classified as current in our condensed consolidated balance sheet.

Collateral securing all the above obligations comprises all personal and real property of the Company, including cash, accounts receivable, inventories, equipment, and financial assets. The carrying value of short and long-term borrowings approximates their fair value. The Company’s short-term and long-term debt is all privately held with no public market for this debt and is considered to be Level 3 under the fair value hierarchy.

XML 28 R19.htm IDEA: XBRL DOCUMENT v3.23.3
OTHER NONCURRENT LIABILITIES
6 Months Ended
Sep. 30, 2023
OTHER NONCURRENT LIABILITIES  
OTHER NONCURRENT LIABILITIES

NOTE 12 - OTHER NONCURRENT LIABILITIES

Under an addendum to a contract purchase order, one of our customers agreed to reimburse the Company for the cost of certain new equipment. Payments are received as the Company’s incurs construction costs. We received the first payment in January 2022, with additional payments received during fiscal 2023 and the six months ended September 30, 2023. In case of a contract breach, at the time of the breach, the customer may claw back the funds based on a prorated ten-year straight-line annual declining balance recovery period. This liability amount was included in the Company’s balance sheet as a noncurrent liability as of September 30, 2023 and March 31, 2023 for $3.1 million and $1.2 million, respectively. In September 2023, the Company agreed to and signed another addendum for additional equipment upgrades.

Stadco entered into the Payment Agreement with the Department of Water and Power of the City of Los Angeles (the “LADWP”) to settle previously outstanding amounts for water, water service, electric energy and/or electric service in the aggregate amount of $1,770,201 that were delinquent and unpaid. Under the Payment Agreement, Stadco will make monthly installment payments on the unpaid balance beginning on December 15, 2022, in an aggregate amount of $18,439 per month until the earlier of November 15, 2030, or the amount due is paid in full. Late payments under the Payment Agreement accrue a late payment charge equal to an 18% annual rate on the unpaid balance. This liability amount was included in the Company’s balance sheet as a current and noncurrent liability as of September 30, 2023 and March 31, 2023 for $0.2 million and $1.4 million, and $0.2 million, and $1.5 million, respectively.

XML 29 R20.htm IDEA: XBRL DOCUMENT v3.23.3
LEASES
6 Months Ended
Sep. 30, 2023
LEASES  
LEASES

NOTE 13 – LEASES

On August 25, 2021, Stadco became party to an amended building and property operating lease and recorded a right of use asset and liability of $6.6 million. Monthly base rent for the property is $82,998 per month. The term of the lease will expire on June 30, 2030, and the lessee has no right of renewal beyond the expiration date. The lease contains customary default provisions allowing the landlord to terminate the lease if the lessee fails to remedy a breach of its obligations under the lease within the period specified in the lease, or upon certain events of bankruptcy or seizure or attachment of the lessee’s assets or interest in the lease. The lease also contains other customary provisions for real property leases of this type.

The following table lists our right-of-use assets and liabilities on our condensed consolidated balance sheets at:

    

September 30, 2023

    

March 31, 2023

Finance lease:

 

  

Right of use asset – operating lease

$

6,629,396

$

6,629,396

Right of use asset – finance leases

65,016

65,016

Amortization

(1,372,294)

(1,033,474)

Right of use asset, net

$

5,322,118

$

5,660,938

Lease liability – operating lease

$

5,475,993

$

5,819,365

Lease liability – finance leases

25,785

36,336

Total lease liability

$

5,501,778

$

5,855,701

Other supplemental information regarding our leases is contained in the following tables:

Components of lease expense for the six months ended:

    

September 30, 2023

    

September 30, 2022

Operating lease amortization

$

330,130

$

317,529

Finance lease amortization

$

8,690

$

11,411

Finance lease interest

$

496

$

544

Weighted average lease term and discount rate at:

    

September 30, 2023

    

September 30, 2022

 

Lease term (years) – operating lease

 

6.75

7.75

Lease term (years) – finance lease

2.15

2.66

Lease rate – operating lease

4.5

%

4.5

%

Lease rate – finance lease

 

4.5

%

3.7

%

Supplemental cash flow information related to leases for the six months ended:

    

September 30, 2023

    

September 30, 2022

Cash used in operating activities

$

469,401

$

386,786

Cash used in financing activities

$

10,552

$

25,820

Maturities of lease liabilities at September 30, 2023 for the next five years and thereafter:

2024

    

$

950,791

2025

 

948,701

2026

 

943,751

2027

 

938,802

2028

938,802

Thereafter

 

1,642,902

Total lease payments

$

6,363,749

Less: imputed interest

 

861,971

Total

$

5,501,778

XML 30 R21.htm IDEA: XBRL DOCUMENT v3.23.3
COMMITMENTS AND CONTINGENCIES
6 Months Ended
Sep. 30, 2023
COMMITMENTS AND CONTINGENCIES  
COMMITMENTS AND CONTINGENCIES

NOTE 14 – COMMITMENTS AND CONTINGENCIES

Employment Agreements

We have employment agreements with each of our executive officers. Such agreements provide for minimum salary levels, adjustable annually, and incentive bonuses that are payable if specified company goals are attained. The aggregate commitment at September 30, 2023 for future executive salaries and bonus was approximately $0.7 million. The aggregate commitment at September 30, 2023 for accrued payroll, vacation and holiday pay was approximately $1.0 million for the remainder of our employees.

Retirement Benefits

Ranor has a defined contribution and savings plan that covers substantially all Ranor employees who have completed 90 days of service. Ranor retains the option to match employee contributions. For the three and six months ended September 30, 2023, the Company contributed $21,543 and $42,997, respectively, and for the three and six months ended September 30, 2022, the Company contributed $22,123 and $44,122, respectively.

Legal Proceeding

On or about July 21, 2023, pursuant to the Labor Code Private Attorneys General Act of 2004, a former employee of Stadco provided notice on behalf of himself and of all individuals currently and formerly employed in California as non-exempt or hourly paid employees, or the plaintiffs, against Stadco, a California corporation, to recover alleged unpaid wages, damages, and attorney’s fees for certain violations of the California Labor Code. Stadco has retained outside legal counsel to defend this action. The claim is in early stage of discovery and the amount of any loss cannot be reasonably estimated at this date.

XML 31 R22.htm IDEA: XBRL DOCUMENT v3.23.3
SEGMENT INFORMATION
6 Months Ended
Sep. 30, 2023
SEGMENT INFORMATION.  
SEGMENT INFORMATION

NOTE 15 – SEGMENT INFORMATION

The Company has two wholly owned subsidiaries, Ranor and Stadco, that are reportable segments. The accounting policies of the segments are the same as those described in the summary of significant accounting policies. All of the Company’s operations, assets, and customers are located in the U.S.

Each reportable segment focuses on the manufacture and assembly of specific components, primarily for defense, aerospace and other precision industrial customers. However, both segments have separate operating, engineering, and sales teams. The Chief Operating Decision Maker, or “CODM”, evaluates the performance of our segments based upon, among other things, segment net sales and operating profit. Segment operating profit excludes general corporate costs. Corporate costs include executive and director compensation, stock-based compensation, and other corporate and administrative expenses not allocated to the segments. The segment operating profit metric is what the CODM uses in evaluating our results of operations and the financial measure that provides insight into our overall performance and financial position. The following table provides summarized financial information for our segments:

Three Months Ended

Six Months Ended

September 30,

September 30,

    

2023

    

2022

    

2023

    

2022

Ranor

$

4,495,747

$

4,933,653

$

8,994,844

$

9,659,584

Stadco

 

3,606,014

 

3,588,994

6,573,147

5,939,420

Intersegment elimination

(131,675)

(226,665)

Net sales from external customers

7,970,086

8,522,647

15,341,326

15,599,004

Ranor

 

672,601

 

1,556,110

1,547,204

2,993,666

Stadco

 

(322,741)

 

(755,299)

(1,227,265)

(2,214,090)

Corporate and unallocated (1)

(947,213)

(888,234)

(1,497,092)

(1,425,008)

Total operating loss

(597,353)

(87,423)

(1,177,153)

(645,432)

ERTC refundable credits

624,045

624,045

Other income

40,875

73,561

40,876

40,336

Interest expense

 

(148,553)

 

(83,730)

(242,639)

(167,375)

Consolidated (loss) income before income taxes

$

(705,031)

$

526,453

$

(1,378,916)

$

(148,426)

Depreciation and amortization:

 

 

Ranor

$

263,206

$

264,143

Stadco

 

864,853

 

852,459

Totals

$

1,128,059

$

1,116,602

Capital expenditures

 

 

Ranor

$

2,654,407

$

99,836

Stadco

 

4,530

 

399,505

Totals

$

2,658,937

$

499,341

(1)Corporate general costs include executive and director compensation, and other corporate administrative expenses not allocated to the segments. Prior period segment data is revised to reflect current period updates to unallocated corporate administrative expense.
XML 32 R23.htm IDEA: XBRL DOCUMENT v3.23.3
SUBSEQUENT EVENTS
6 Months Ended
Sep. 30, 2023
SUBSEQUENT EVENTS  
SUBSEQUENT EVENTS

NOTE 16 – SUBSEQUENT EVENTS

On October 11, 2023, we granted a total of 25,000 shares of restricted stock under the 2016 Plan to the board of directors. The stock-based compensation expense for service-based restricted stock will be measured at fair value on the date of grant based on the number of shares expected to vest and the quoted market price of the Company’s common stock.

On October 30, 2023, the Company and one of its employees were named as defendants in an action alleging individual claims of discrimination and wage and hour violations, along with representative wage and hour claims brought pursuant to the Labor Code Private Attorneys General Act of 2004 (“PAGA”) in the Superior Court of the State of California of the County of Los Angeles – Central District. In the complaint, captioned Ibarra v. Stadco (23ST- CV-26591), a former employee of Stadco, seeks to recover alleged damages, unpaid wages, penalties, and attorney’s fees on behalf of himself. In addition, the former employee seeks to recover PAGA penalties going back one year, along with his attorney’s fees, on behalf of all individuals currently and formerly employed by the Company’s Stadco subsidiary in California as non-exempt or hourly paid employees, for certain violations of the California Labor Code. Stadco has retained outside legal counsel to defend this action. The claim is in early stage of discovery and the amount of any loss cannot be reasonably estimated at this date.

XML 33 R24.htm IDEA: XBRL DOCUMENT v3.23.3
BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)
6 Months Ended
Sep. 30, 2023
BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES  
Basis of Presentation and Consolidation

Basis of Presentation and Consolidation - The accompanying condensed consolidated financial statements include the accounts of TechPrecision, Ranor, Stadco, WCH, and Acquisition Sub. All intercompany transactions and balances have been eliminated in consolidation. The accompanying condensed consolidated balance sheet as of September 30, 2023, the condensed consolidated statements of operations and stockholders’ equity for the three and six months ended September 30, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended September 30, 2023 and 2022 are unaudited, but, in the opinion of management, include all adjustments that are necessary for a fair presentation of our financial statements for interim periods in accordance with U.S. Generally Accepted Accounting Principles, or “U.S. GAAP”. All adjustments are of a normal, recurring nature, except as otherwise disclosed. The results of operations for an interim period are not necessarily indicative of the results of operations to be expected for the fiscal year. On February 23, 2023, the Company effected a one-for-four reverse stock split with respect to the issued and outstanding shares of TechPrecision common stock. All share and per-share amounts included in this Form 10-Q are presented as if the stock split had been effective from the beginning of the earliest period presented.

These notes to the condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission, or the “SEC”, for Quarterly Reports on Form 10-Q. Certain information and disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. These unaudited financial statements and related notes should be read in conjunction with the consolidated financial statements included with our Annual Report on Form 10-K for the fiscal year ended March 31, 2023, filed with the SEC on June 15, 2023.

Use of Estimates in the Preparation of Financial Statements

Use of Estimates in the Preparation of Financial Statements - In preparing the condensed consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the condensed consolidated financial statements and revenues and expenses during the reporting period. We continually evaluate our estimates, including those related to revenue recognition and income taxes. We base our estimates on historical and current experiences and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates.

Liquidity and Going Concern

Liquidity and Going Concern - Our liquidity is highly dependent on the availability of financing facilities and our ability to maintain a gross profit and operating income. For the six months ended September 30, 2023 we reported a net loss ($1,055,788).

As of September 30, 2023, we had $3.2 million in total available liquidity, consisting of $0.1 million in cash and cash equivalents, and $3.1 million in undrawn capacity under our revolver loan. As of March 31, 2023, we had $4.7 million in total available liquidity, consisting of $0.5 million in cash and cash equivalents, and $4.2 million in undrawn capacity under our revolver loan.

The Company is the borrower under the Loan Agreement (as defined below; see Note 11 – Debt). There was $7.1 million outstanding under the agreement on September 30, 2023. The maturity date of the revolver loan under the loan agreement is December 20, 2023.

The Company was not in compliance with certain of the financial covenants at September 30, 2023 and has requested a waiver from Berkshire Bank, the lender, but has not yet received approval from the bank. Under the terms of the loan agreement, the bank has the right to demand repayment. If the lender demands repayment the Company will be unable to pay the obligation because the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations. Also, it is probable that the Company will not be in compliance with the same debt covenants at subsequent measurement dates within the next twelve months. As such, all of our long-term debt has been classified as current in our condensed consolidated balance sheet.

Without a waiver, the lender has the right, but not the obligation, to demand repayment from the Company for noncompliance with the debt covenants. In addition, the bank retains the right to act on covenant violations that occur after the date of delivery of any waiver. If the lender were to decline to grant us a waiver and instead demand repayment, we would need to seek alternative financing to pay these obligations as the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations.

The Company is exploring various means of strengthening its liquidity position and ensuring compliance with its debt financing covenants, which may include the obtaining of waivers from our current lender, amending our facility or entering into one or more alternative facilities.

In order for us to continue operations beyond the next twelve months from the date of issuance of the financial statements and to be able to discharge our liabilities and commitments in the normal course of business, we must mitigate our recurring operating losses at our Stadco subsidiary. We must efficiently increase utilization of our manufacturing capacity at our Stadco subsidiary and improve the manufacturing process, so our direct labor hours (inputs) allow us to recognize more revenue over time (outputs) and improve job performance. We plan to closely monitor our expenses and, if required, will reduce operating costs to enhance liquidity.

The uncertainty associated with the recurring operating losses at Stadco, the current violation of debt covenants, and the expected debt covenant violation at subsequent compliance dates raise substantial doubt about our ability to continue as a going concern within one-year after the date the condensed consolidated financial statements included in this Quarterly Report on Form 10-Q are issued.

The condensed consolidated financial statements for the six months ended September 30, 2023 were prepared on the basis of a going concern which contemplates that we will be able to realize assets and discharge liabilities in the normal course of business. Accordingly, they do not give effect to adjustments that would be necessary should we be required to liquidate assets. Our ability to satisfy our current liabilities and to continue as a going concern is dependent upon the Company’s compliance with the debt covenants and its ability to grow revenue and reduce costs at Stadco. The financial statements do not include any adjustments that might result from the outcome of these uncertainties.

New Accounting Standards Recently Adopted

New Accounting Standards Recently Adopted

In June 2016, the FASB issued ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, as amended subsequently by ASUs 2018-19, 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The guidance in these ASUs requires that credit losses be reported using an expected losses model rather than the incurred losses model that is currently used. The standard also establishes additional disclosures related to credit risks. This standard was effective for fiscal years beginning after December 15, 2022. The adoption of this ASU on April 1, 2023 did not have a significant impact on the Company’s condensed financial statements and disclosures.

XML 34 R25.htm IDEA: XBRL DOCUMENT v3.23.3
REVENUE (Tables)
6 Months Ended
Sep. 30, 2023
REVENUE  
Schedule of net sales on a disaggregated basis by market and contract type

Net Sales by market

    

Defense

    

Industrial

    

Totals

Three months ended September 30, 2023

$

7,959,628

$

10,458

$

7,970,086

Three months ended September 30, 2022

$

8,385,441

$

137,206

$

8,522,647

Six months ended September 30, 2023

$

15,159,032

$

182,294

$

15,341,326

Six months ended September 30, 2022

$

15,226,365

$

372,639

$

15,599,004

Net Sales by contract type

    

Over-time

    

Point-in-time

    

Totals

Three months ended September 30, 2023

$

7,413,656

$

556,430

$

7,970,086

Three months ended September 30, 2022

$

8,219,139

$

303,508

$

8,522,647

Six months ended September 30, 2023

$

14,347,460

$

993,866

$

15,341,326

Six months ended September 30, 2022

$

14,841,232

$

757,772

$

15,599,004

Schedule of contract assets

Progress

    

Unbilled

    

payments

    

Total

September 30, 2023

$

20,183,772

$

(12,087,164)

$

8,096,608

March 31, 2023

$

19,485,914

$

(10,538,103)

$

8,947,811

Sales  
REVENUE  
Schedule of trade accounts receivable from customers who accounted for more than 10%

Three months ended

Three months ended

Six months ended

Six months ended

September 30, 2023

September 30, 2022

 

September 30, 2023

September 30, 2022

Customer

    

Amount

    

Percent

    

Amount

    

Percent

    

Amount

    

Percent

    

Amount

    

Percent

  

A

$

2,560,204

 

32

%  

$

1,438,049

 

17

%  

$

4,845,478

32

%  

$

2,734,436

18

%

B

$

999,540

 

13

%  

$

*

 

*

%  

$

1,742,776

11

%  

$

*

*

%

C

$

*

*

%  

$

1,614,929

19

%  

$

*

*

%  

$

3,378,520

22

%

D

$

*

*

%

$

1,971,441

23

%

$

*

*

%

$

3,043,315

20

%

*Less than 10% of total

XML 35 R26.htm IDEA: XBRL DOCUMENT v3.23.3
EARNINGS PER SHARE (EPS) (Tables)
6 Months Ended
Sep. 30, 2023
EARNINGS PER SHARE (EPS)  
Schedule of reconciliation of the numerators and denominators reflected in the basic and diluted earnings per share computations

    

Three Months ended

    

Three Months ended

     

Six Months ended

     

Six Months ended

September 30, 2023

September 30, 2022

September 30, 2023

September 30, 2022

Basic EPS

Net (loss) income

$

(528,333)

$

390,944

$

(1,055,788)

$

(110,221)

Weighted average shares

 

8,720,603

8,584,510

8,667,298

8,580,707

Net (loss) earnings per share

$

(0.06)

$

0.05

$

(0.12)

$

(0.01)

Diluted EPS

Net (loss) income

$

(528,333)

$

390,944

$

(1,055,788)

$

(110,221)

Dilutive effect of stock options

 

413,685

Weighted average shares

 

8,720,603

8,998,195

8,667,298

8,580,707

Net (loss) earnings per share

$

(0.06)

$

0.04

$

(0.12)

$

(0.01)

XML 36 R27.htm IDEA: XBRL DOCUMENT v3.23.3
STOCK-BASED COMPENSATION (Tables)
6 Months Ended
Sep. 30, 2023
STOCK-BASED COMPENSATION  
Summary of information about options granted

Weighted

Average

Weighted

Aggregate

Remaining

Number Of

Average

Intrinsic

Contractual Life

    

Options

    

Exercise Price

    

Value

    

(in years)

Outstanding at March 31, 2023

667,500

$

1.37

$

3,804,625

3.70

Exercised

(125,000)

$

0.68

846,250

Outstanding at September 30, 2023

542,500

$

1.53

$

3,108,950

3.63

Vested or expected to vest at September 30, 2023

 

542,500

$

1.53

$

3,108,950

 

3.63

Exercisable and vested at September 30, 2023

 

542,500

$

1.53

$

3,108,950

 

3.63

Summary of information relating to stock options outstanding

Weighted

 

 

Average

 

 

 

 

Remaining

 

Weighted

 

Weighted

Options

 

Contractual

Average

Options

Average

Range of Exercise Prices:

    

Outstanding

    

Term

    

Exercise Price

    

 Exercisable

    

Exercise Price

$0.01-$0.99

 

192,500

 

1.87

$

0.32

 

192,500

$

0.32

$2.00-$2.99

 

350,000

 

3.66

$

2.19

 

350,000

$

2.19

Totals

 

542,500

 

 

  

 

542,500

 

  

XML 37 R28.htm IDEA: XBRL DOCUMENT v3.23.3
CONCENTRATION OF CREDIT RISK (Tables)
6 Months Ended
Sep. 30, 2023
Accounts Receivable  
CONCENTRATION OF CREDIT RISK  
Schedule of trade accounts receivable from customers who accounted for more than 10%

September 30, 2023

March 31, 2023

 

Customer

    

Dollars

    

Percent

    

Dollars

    

Percent

 

A

$

809,255

 

28

%  

$

730,514

 

31

%

B

$

*

 

*

%  

$

260,177

 

11

%

C

$

448,127

 

15

%  

$

*

 

*

%

D

$

*

 

*

%  

$

265,755

 

11

%

E

$

375,811

 

13

%  

$

*

 

*

%

*less than 10% of total

XML 38 R29.htm IDEA: XBRL DOCUMENT v3.23.3
OTHER CURRENT ASSETS (Tables)
6 Months Ended
Sep. 30, 2023
OTHER CURRENT ASSETS  
Schedule of other current assets

Other current assets included the following as of:

    

September 30, 2023

    

March 31, 2023

Prepaid taxes

$

80,028

$

9,616

Prepaid insurance

 

143,928

 

162,075

Prepaid subscriptions

 

182,668

 

120,570

Deposits

21,706

21,706

Employee advances

 

16,163

4,561

Prepaid advisory fees, other

 

21,752

30,455

Total

$

466,245

$

348,983

XML 39 R30.htm IDEA: XBRL DOCUMENT v3.23.3
PROPERTY, PLANT AND EQUIPMENT, NET (Tables)
6 Months Ended
Sep. 30, 2023
PROPERTY, PLANT AND EQUIPMENT, NET  
Schedule of components of property, plant and equipment, net

Property, plant and equipment, net consisted of the following as of:

    

September 30, 2023

    

March 31, 2023

Land

$

110,113

$

110,113

Building and improvements

 

3,293,986

3,293,986

Machinery equipment, furniture, and fixtures

 

25,671,848

23,018,713

Construction-in-progress

 

114,990

149,576

Total property, plant, and equipment

 

29,190,937

26,572,388

Less: accumulated depreciation and amortization

 

(13,426,260)

(12,658,364)

Total property, plant and equipment, net

$

15,764,677

$

13,914,024

XML 40 R31.htm IDEA: XBRL DOCUMENT v3.23.3
ACCRUED EXPENSES (Tables)
6 Months Ended
Sep. 30, 2023
ACCRUED EXPENSES  
Schedule of accrued expenses

Accrued expenses included the following as of:

    

September 30, 2023

    

March 31, 2023

Accrued compensation

$

1,203,466

$

1,257,245

Provision for claims

234,472

256,227

Provision for contract losses

 

148,503

102,954

Accrued professional fees

 

487,631

241,195

Accrued project costs

 

558,010

440,550

Other

 

153,757

235,014

Total

$

2,785,839

$

2,533,185

XML 41 R32.htm IDEA: XBRL DOCUMENT v3.23.3
DEBT (Tables)
6 Months Ended
Sep. 30, 2023
DEBT  
Schedule of outstanding debt obligations

Long-term debt included the following as of:

    

September 30, 2023

    

March 31, 2023

Stadco Term Loan, at 3.79% interest, due August 2028

$

2,919,712

$

3,186,495

Ranor Term Loan, at 6.05% interest, due December 2027

2,246,920

2,276,518

Ranor Revolver Loan, at 7.69% interest, due December 2023

1,900,000

650,000

Total debt

$

7,066,632

$

6,113,013

Less: debt issue costs unamortized

$

108,237

$

145,712

Total debt, net

$

6,958,395

$

5,967,301

Less: Current portion of long-term debt

$

6,958,395

$

1,218,162

Total long-term debt, net

$

$

4,749,139

XML 42 R33.htm IDEA: XBRL DOCUMENT v3.23.3
LEASES (Tables)
6 Months Ended
Sep. 30, 2023
LEASES  
Schedule of right-of-use assets and liabilities

    

September 30, 2023

    

March 31, 2023

Finance lease:

 

  

Right of use asset – operating lease

$

6,629,396

$

6,629,396

Right of use asset – finance leases

65,016

65,016

Amortization

(1,372,294)

(1,033,474)

Right of use asset, net

$

5,322,118

$

5,660,938

Lease liability – operating lease

$

5,475,993

$

5,819,365

Lease liability – finance leases

25,785

36,336

Total lease liability

$

5,501,778

$

5,855,701

Schedule of supplemental information of leases

Components of lease expense for the six months ended:

    

September 30, 2023

    

September 30, 2022

Operating lease amortization

$

330,130

$

317,529

Finance lease amortization

$

8,690

$

11,411

Finance lease interest

$

496

$

544

Weighted average lease term and discount rate at:

    

September 30, 2023

    

September 30, 2022

 

Lease term (years) – operating lease

 

6.75

7.75

Lease term (years) – finance lease

2.15

2.66

Lease rate – operating lease

4.5

%

4.5

%

Lease rate – finance lease

 

4.5

%

3.7

%

Schedule of supplemental cash flow information

Supplemental cash flow information related to leases for the six months ended:

    

September 30, 2023

    

September 30, 2022

Cash used in operating activities

$

469,401

$

386,786

Cash used in financing activities

$

10,552

$

25,820

Schedule of maturities of lease liabilities

2024

    

$

950,791

2025

 

948,701

2026

 

943,751

2027

 

938,802

2028

938,802

Thereafter

 

1,642,902

Total lease payments

$

6,363,749

Less: imputed interest

 

861,971

Total

$

5,501,778

XML 43 R34.htm IDEA: XBRL DOCUMENT v3.23.3
SEGMENT INFORMATION (Tables)
6 Months Ended
Sep. 30, 2023
SEGMENT INFORMATION.  
Summary of financial information for segments

Three Months Ended

Six Months Ended

September 30,

September 30,

    

2023

    

2022

    

2023

    

2022

Ranor

$

4,495,747

$

4,933,653

$

8,994,844

$

9,659,584

Stadco

 

3,606,014

 

3,588,994

6,573,147

5,939,420

Intersegment elimination

(131,675)

(226,665)

Net sales from external customers

7,970,086

8,522,647

15,341,326

15,599,004

Ranor

 

672,601

 

1,556,110

1,547,204

2,993,666

Stadco

 

(322,741)

 

(755,299)

(1,227,265)

(2,214,090)

Corporate and unallocated (1)

(947,213)

(888,234)

(1,497,092)

(1,425,008)

Total operating loss

(597,353)

(87,423)

(1,177,153)

(645,432)

ERTC refundable credits

624,045

624,045

Other income

40,875

73,561

40,876

40,336

Interest expense

 

(148,553)

 

(83,730)

(242,639)

(167,375)

Consolidated (loss) income before income taxes

$

(705,031)

$

526,453

$

(1,378,916)

$

(148,426)

Depreciation and amortization:

 

 

Ranor

$

263,206

$

264,143

Stadco

 

864,853

 

852,459

Totals

$

1,128,059

$

1,116,602

Capital expenditures

 

 

Ranor

$

2,654,407

$

99,836

Stadco

 

4,530

 

399,505

Totals

$

2,658,937

$

499,341

(1)Corporate general costs include executive and director compensation, and other corporate administrative expenses not allocated to the segments. Prior period segment data is revised to reflect current period updates to unallocated corporate administrative expense.
XML 44 R35.htm IDEA: XBRL DOCUMENT v3.23.3
BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)
3 Months Ended 6 Months Ended
Feb. 23, 2023
Sep. 30, 2023
USD ($)
Sep. 30, 2022
USD ($)
Sep. 30, 2023
USD ($)
Sep. 30, 2022
USD ($)
Mar. 31, 2023
USD ($)
BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES            
Reverse stock split conversion ratio 0.25          
Net loss   $ (528,333) $ 390,944 $ (1,055,788) $ (110,221)  
Total available liquidity   3,200,000   3,200,000   $ 4,700,000
Revolver loan capacity   3,100,000   3,100,000   4,200,000
Cash and cash equivalents   138,206   138,206   $ 534,474
Berkshire Loan            
BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES            
Amount outstanding   $ 7,100,000   $ 7,100,000    
XML 45 R36.htm IDEA: XBRL DOCUMENT v3.23.3
REVENUE - Disaggregated basis (Details) - USD ($)
3 Months Ended 6 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
REVENUE        
Net Sales $ 7,970,086 $ 8,522,647 $ 15,341,326 $ 15,599,004
Over-time        
REVENUE        
Net Sales 7,413,656 8,219,139 14,347,460 14,841,232
Point-in-time        
REVENUE        
Net Sales 556,430 303,508 993,866 757,772
Defense        
REVENUE        
Net Sales 7,959,628 8,385,441 15,159,032 15,226,365
Industrial        
REVENUE        
Net Sales $ 10,458 $ 137,206 $ 182,294 $ 372,639
XML 46 R37.htm IDEA: XBRL DOCUMENT v3.23.3
REVENUE - Net sales from customers (Details) - USD ($)
3 Months Ended 6 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
REVENUE        
Revenues $ 7,970,086 $ 8,522,647 $ 15,341,326 $ 15,599,004
Customer A | Customer concentration risk | Sales revenue, net        
REVENUE        
Revenues $ 2,560,204 $ 1,438,049 $ 4,845,478 $ 2,734,436
Concentration risk percentage 32.00% 17.00% 32.00% 18.00%
Customer B | Customer concentration risk | Sales revenue, net        
REVENUE        
Revenues $ 999,540   $ 1,742,776  
Concentration risk percentage 13.00%   11.00%  
Customer C | Customer concentration risk | Sales revenue, net        
REVENUE        
Revenues   $ 1,614,929   $ 3,378,520
Concentration risk percentage   19.00%   22.00%
Customer D | Customer concentration risk | Sales revenue, net        
REVENUE        
Revenues   $ 1,971,441   $ 3,043,315
Concentration risk percentage   23.00%   20.00%
XML 47 R38.htm IDEA: XBRL DOCUMENT v3.23.3
REVENUE - Contract assets and contract liabilities (Details) - USD ($)
Sep. 30, 2023
Mar. 31, 2023
REVENUE    
Contract assets $ 8,096,608 $ 8,947,811
Unbilled    
REVENUE    
Contract assets 20,183,772 19,485,914
Progress Payments    
REVENUE    
Contract assets $ (12,087,164) $ (10,538,103)
XML 48 R39.htm IDEA: XBRL DOCUMENT v3.23.3
REVENUE - Additional information (Details)
$ in Millions
6 Months Ended
Sep. 30, 2023
USD ($)
REVENUE  
Remaining performance obligation amount $ 44.6
Revenue remaining performance obligation completed less than 50% $ 38.3
Revenue, remaining performance obligation, percentage 50.00%
Revenue recognized by contract liabilities $ 1.2
Minimum  
REVENUE  
Remaining performance obligation expected timing of satisfaction period 3 months
Maximum  
REVENUE  
Remaining performance obligation expected timing of satisfaction period 36 months
XML 49 R40.htm IDEA: XBRL DOCUMENT v3.23.3
INCOME TAXES - (Details) - USD ($)
3 Months Ended 6 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
INCOME TAXES        
Income tax (benefit) expense $ (176,698) $ 135,509 $ (323,128) $ (38,205)
Effective tax rate     23.40% 25.70%
Valuation allowance on deferred tax assets $ 2,100,000   $ 2,100,000  
XML 50 R41.htm IDEA: XBRL DOCUMENT v3.23.3
EARNINGS PER SHARE (EPS) (Details) - USD ($)
3 Months Ended 6 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Basic EPS        
Net (loss) income $ (528,333) $ 390,944 $ (1,055,788) $ (110,221)
Weighted average shares 8,720,603 8,584,510 8,667,298 8,580,707
Net (loss) earnings per share $ (0.06) $ 0.05 $ (0.12) $ (0.01)
Diluted EPS        
Net (loss) income $ (528,333) $ 390,944 $ (1,055,788) $ (110,221)
Dilutive effect of stock options   413,685    
Weighted average shares 8,720,603 8,998,195 8,667,298 8,580,707
Net (loss) earnings per share $ (0.06) $ 0.04 $ (0.12) $ (0.01)
Options        
Diluted EPS        
Antidilutive securities excluded from computation of earnings per share amount (in shares) 567,500   567,500 417,124
XML 51 R42.htm IDEA: XBRL DOCUMENT v3.23.3
STOCK-BASED COMPENSATION - Stock option activity (Details) - USD ($)
6 Months Ended 12 Months Ended
Sep. 30, 2023
Mar. 31, 2023
Number Of Options    
Outstanding at the beginning of the period (in shares) 667,500  
Exercised (in shares) (125,000)  
Vested or expected to vest at the end of the period (in shares) 542,500  
Exercisable and vested at the end of the period (in shares) 542,500  
Outstanding at the end of the period (in shares) 542,500 667,500
Weighted Average Exercise Price    
Outstanding at the beginning of the period (in dollars per share) $ 1.37  
Exercised (in dollars per share) 0.68  
Outstanding at the end of the period (in dollars per share) 1.53 $ 1.37
Vested or expected to vest at the end of the period (in dollars per share) 1.53  
Exercisable and vested at the end of the period (in dollars per share) $ 1.53  
Aggregate Intrinsic Value    
Outstanding Value at the beginning of the period $ 3,804,625  
Exercised 846,250  
Vested or expected to vest at the end of the period 3,108,950  
Exercisable and vested at the end of the period 3,108,950  
Outstanding Value at the end of the period $ 3,108,950 $ 3,804,625
Weighted Average Remaining Contractual Life (in years)    
Outstanding at the end of the period 3 years 7 months 17 days 3 years 8 months 12 days
Vested or expected to vest at the end of the period 3 years 7 months 17 days  
Exercisable and vested at the end of the period 3 years 7 months 17 days  
XML 52 R43.htm IDEA: XBRL DOCUMENT v3.23.3
STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (Details)
6 Months Ended
Sep. 30, 2023
$ / shares
shares
STOCK-BASED COMPENSATION  
Options Outstanding | shares 542,500
Options Exercisable | shares 542,500
Range One  
STOCK-BASED COMPENSATION  
Exercise Price, Lower Range $ 0.01
Exercise Price, Upper Range $ 0.99
Options Outstanding | shares 192,500
Options Outstanding, Weighted Average Remaining Contractual Term 1 year 10 months 13 days
Options Outstanding, Weighted Average Exercise Price $ 0.32
Options Exercisable | shares 192,500
Options Exercisable, Weighted Average Exercise Price $ 0.32
Range Two  
STOCK-BASED COMPENSATION  
Exercise Price, Lower Range 2.00
Exercise Price, Upper Range $ 2.99
Options Outstanding | shares 350,000
Options Outstanding, Weighted Average Remaining Contractual Term 3 years 7 months 28 days
Options Outstanding, Weighted Average Exercise Price $ 2.19
Options Exercisable | shares 350,000
Options Exercisable, Weighted Average Exercise Price $ 2.19
XML 53 R44.htm IDEA: XBRL DOCUMENT v3.23.3
STOCK-BASED COMPENSATION - Additional information (Details) - shares
6 Months Ended 12 Months Ended
Aug. 03, 2023
Jul. 13, 2023
Sep. 30, 2023
Mar. 31, 2023
STOCK-BASED COMPENSATION        
Maximum contractual term (in years)     3 years 7 months 17 days 3 years 8 months 12 days
Restricted Shares        
STOCK-BASED COMPENSATION        
Granted a total of shares of restricted stock 15,000      
Number of shares will vest on each of the first, second, and third anniversaries 5,000      
2016 Plan        
STOCK-BASED COMPENSATION        
Shares reserved     1,250,000  
Shares available for grant     297,500  
Maximum        
STOCK-BASED COMPENSATION        
Maximum contractual term (in years)     10 years  
Maximum | 2016 Plan        
STOCK-BASED COMPENSATION        
Number of shares of common stock   109,024    
Chief Financial Officer | 2016 Plan        
STOCK-BASED COMPENSATION        
Stock options exercised (in shares)   125,000    
XML 54 R45.htm IDEA: XBRL DOCUMENT v3.23.3
CONCENTRATION OF CREDIT RISK (Details)
6 Months Ended 12 Months Ended
Sep. 30, 2023
USD ($)
customer
Mar. 31, 2023
USD ($)
CONCENTRATION OF CREDIT RISK    
Accounts receivable $ 3,020,723 $ 2,336,481
Accounts Receivable | Customer concentration risk | Customer A    
CONCENTRATION OF CREDIT RISK    
Concentration risk percentage 28.00% 31.00%
Accounts receivable $ 809,255 $ 730,514
Accounts Receivable | Customer concentration risk | Customer B    
CONCENTRATION OF CREDIT RISK    
Concentration risk percentage   11.00%
Accounts receivable   $ 260,177
Accounts Receivable | Customer concentration risk | Customer C    
CONCENTRATION OF CREDIT RISK    
Concentration risk percentage 15.00%  
Accounts receivable $ 448,127  
Accounts Receivable | Customer concentration risk | Customer D    
CONCENTRATION OF CREDIT RISK    
Concentration risk percentage   11.00%
Accounts receivable   $ 265,755
Accounts Receivable | Customer concentration risk | Customer E    
CONCENTRATION OF CREDIT RISK    
Concentration risk percentage 13.00%  
Accounts receivable $ 375,811  
Trade Receivables    
CONCENTRATION OF CREDIT RISK    
Number of significant customers | customer 3  
Trade Receivables | Customer concentration risk | Customers    
CONCENTRATION OF CREDIT RISK    
Concentration risk percentage 56.00%  
XML 55 R46.htm IDEA: XBRL DOCUMENT v3.23.3
OTHER CURRENT ASSETS (Details) - USD ($)
Sep. 30, 2023
Mar. 31, 2023
OTHER CURRENT ASSETS    
Prepaid taxes $ 80,028 $ 9,616
Prepaid insurance 143,928 162,075
Prepaid subscriptions 182,668 120,570
Deposits 21,706 21,706
Employee advances 16,163 4,561
Prepaid advisory fees, other 21,752 30,455
Total $ 466,245 $ 348,983
XML 56 R47.htm IDEA: XBRL DOCUMENT v3.23.3
PROPERTY, PLANT AND EQUIPMENT, NET (Details) - USD ($)
6 Months Ended
Sep. 30, 2023
Mar. 31, 2023
PROPERTY, PLANT AND EQUIPMENT, NET    
Total property, plant, and equipment $ 29,190,937 $ 26,572,388
Less: accumulated depreciation and amortization (13,426,260) (12,658,364)
Total property, plant and equipment, net 15,764,677 13,914,024
Capitalized interest 14,455  
Land    
PROPERTY, PLANT AND EQUIPMENT, NET    
Property, plant and equipment, Gross 110,113 110,113
Building and improvements    
PROPERTY, PLANT AND EQUIPMENT, NET    
Property, plant and equipment, Gross 3,293,986 3,293,986
Machinery equipment, furniture, and fixtures    
PROPERTY, PLANT AND EQUIPMENT, NET    
Property, plant and equipment, Gross 25,671,848 23,018,713
Construction-in-progress    
PROPERTY, PLANT AND EQUIPMENT, NET    
Property, plant and equipment, Gross $ 114,990 $ 149,576
XML 57 R48.htm IDEA: XBRL DOCUMENT v3.23.3
ACCRUED EXPENSES (Details) - USD ($)
Sep. 30, 2023
Mar. 31, 2023
ACCRUED EXPENSES    
Accrued compensation $ 1,203,466 $ 1,257,245
Provision for claims 234,472 256,227
Provision for contract losses 148,503 102,954
Accrued professional fees 487,631 241,195
Accrued project costs 558,010 440,550
Other 153,757 235,014
Total $ 2,785,839 $ 2,533,185
XML 58 R49.htm IDEA: XBRL DOCUMENT v3.23.3
DEBT - Long-term Debt (Details) - USD ($)
Sep. 30, 2023
Mar. 31, 2023
DEBT    
Total debt $ 7,066,632 $ 6,113,013
Less: debt issue costs unamortized 108,237 145,712
Total debt, net 6,958,395 5,967,301
Less: Current portion of long-term debt 6,958,395 1,218,162
Total long-term debt, net   4,749,139
Stadco Term Loan, at 3.79% interest, due August 2028    
DEBT    
Total debt $ 2,919,712 3,186,495
Interest rate (as a percent) 3.79%  
Ranor Term Loan, at 6.05% interest, due December 2027    
DEBT    
Total debt $ 2,246,920 2,276,518
Interest rate (as a percent) 6.05%  
Ranor Revolver Loan, at 6.93% interest, due December 2023    
DEBT    
Total debt $ 1,900,000 $ 650,000
Interest rate (as a percent) 7.69%  
XML 59 R50.htm IDEA: XBRL DOCUMENT v3.23.3
DEBT - Additional Information (Details)
3 Months Ended 6 Months Ended
Aug. 25, 2021
USD ($)
Jan. 20, 2017
USD ($)
Dec. 21, 2016
USD ($)
Dec. 31, 2022
Sep. 30, 2023
USD ($)
Mar. 31, 2023
USD ($)
Dec. 23, 2022
Dec. 20, 2022
Mar. 31, 2016
USD ($)
Revolver loan                  
DEBT                  
Weighted average interest rate (as a percent)         7.46%        
Unused borrowing capacity         $ 3,100,000 $ 4,200,000      
Ranor, Inc. | Revolver loan                  
DEBT                  
Interest payments         $ 83,182        
Stadco Term Loan, at 3.79% interest, due August 2028                  
DEBT                  
Maturity term 7 years                
Monthly payments of principal and interest amount $ 54,390                
Interest rate (as a percent)         3.79%        
Unamortized debt issuance expense         $ 36,945 44,482      
Stadco Term Loan, at 3.79% interest, due August 2028 | FHLBBC advance rate                  
DEBT                  
Applicable interest rate 2.25%                
Basis spread on variable rate (as a percent) 2.25%                
Stadco Term Loan, at 3.79% interest, due August 2028 | Ranor, Inc. | Revolver loan                  
DEBT                  
Principal amount of debt $ 4,000,000.0                
Ranor Term Loan, 6.05% due December 2027 [Member]                  
DEBT                  
Proceeds from term loan $ 2,850,000                
Ranor term loan                  
DEBT                  
Interest rate (as a percent)             5.21% 6.05%  
Ranor term loan | Revolver loan                  
DEBT                  
Maximum principal amount available     $ 5,000,000.0            
Ranor term loan | Ranor, Inc.                  
DEBT                  
Unamortized debt issuance expense         71,292 $ 101,230      
Ranor term loan | Minimum                  
DEBT                  
Monthly payments of principal and interest amount         16,601        
Required minimum debt service coverage ratio, solely with respect to the fiscal quarter ending December 31, 2022       1.1          
Ranor term loan | Maximum                  
DEBT                  
Monthly payments of principal and interest amount         19,260        
Required minimum debt service coverage ratio, solely with respect to the fiscal quarter ending December 31, 2022       1.2          
Berkshire Loan                  
DEBT                  
Amount outstanding         7,100,000        
Annual capital expenditure         1,500,000        
Berkshire Loan | Revolving Credit Facility                  
DEBT                  
Maximum amount of borrowing base required to grant loan advance     $ 5,000,000.0            
Debt instrument percentage of accounts receivable used for determination of aggregate amount of advances     80.00%            
Debt instrument percentage of eligible raw material used for determination of aggregate amount of advances     25.00%            
Amount included in sum to calculate maximum borrowing base     $ 250,000            
Berkshire Loan | Revolver loan                  
DEBT                  
Maximum amount of borrowing base required to grant loan advance         5,000,000.0        
Amount outstanding         $ 1,900,000        
Nonrefundable commitment fee percentages         0.25%        
Berkshire Loan | Secured Term Loan                  
DEBT                  
Monthly payments of principal and interest amount   $ 19,260              
Interest rate (as a percent)   5.21%              
Berkshire Loan | Notes payables                  
DEBT                  
Debt Instrument percentage of appraised value Of equipment for determination of aggregate amount of advances     80.00%            
Berkshire Loan | Ranor, Inc.                  
DEBT                  
Debt instrument covenant trailing period for measurement of loan to value ratio         365 days        
Berkshire Loan | Ranor, Inc. | Secured Term Loan                  
DEBT                  
Principal amount of debt                 $ 2,850,000
Berkshire Loan | Minimum                  
DEBT                  
Cash flow ratio of debt service         1.00        
Debt instrument covenant leverage ratio year one         1.00        
Berkshire Loan | Maximum                  
DEBT                  
Cash flow ratio of debt service         1.20        
Cash flow to total debt service         1.10        
Debt instrument covenant leverage ratio year one         2.50        
Loan-to-Value Ratio         0.75        
XML 60 R51.htm IDEA: XBRL DOCUMENT v3.23.3
OTHER NONCURRENT LIABILITIES (Details)
Sep. 30, 2023
USD ($)
Mar. 31, 2023
USD ($)
OTHER NONCURRENT LIABILITY    
Customer payments received recorded as noncurrent liability $ 3,100,000 $ 1,200,000
Current liability 200,000 200,000
Noncurrent liability 1,400,000 $ 1,500,000
Stadco's payment agreement with the LADWP    
OTHER NONCURRENT LIABILITY    
Aggregate delinquent and unpaid outstanding amounts for water, water service, electric energy and/or electric service 1,770,201  
Monthly installment payments to be made $ 18,439  
Late payment charge, annual rate 18  
XML 61 R52.htm IDEA: XBRL DOCUMENT v3.23.3
LEASES (Details) - USD ($)
Aug. 25, 2021
Sep. 30, 2023
Mar. 31, 2023
LEASES      
Right of use asset - finance leases   $ 5,322,118 $ 5,660,938
Building and property lease      
LEASES      
Other lease assets and liabilities $ 6,600,000    
Monthly payments $ 82,998    
Right of use asset - operating lease   6,629,396 6,629,396
Right of use asset - finance leases   65,016 65,016
Amortization   (1,372,294) (1,033,474)
Right of use asset, net   5,322,118 5,660,938
Lease liability - operating lease   5,475,993 5,819,365
Lease liability - finance leases   25,785 36,336
Total lease liability   $ 5,501,778 $ 5,855,701
XML 62 R53.htm IDEA: XBRL DOCUMENT v3.23.3
LEASES - Other supplemental information of Leases (Details) - USD ($)
6 Months Ended
Sep. 30, 2023
Sep. 30, 2022
LEASES    
Operating lease amortization $ 330,130 $ 317,529
Finance lease amortization 8,690 11,411
Finance lease interest $ 496 $ 544
Lease term (years) - operating lease 6 years 9 months 7 years 9 months
Lease term (years) - finance lease 2 years 1 month 24 days 2 years 7 months 28 days
Lease rate - operating lease 4.50% 4.50%
Lease rate - finance lease 4.50% 3.70%
XML 63 R54.htm IDEA: XBRL DOCUMENT v3.23.3
LEASES - Supplemental cash flow information (Details) - USD ($)
6 Months Ended
Sep. 30, 2023
Sep. 30, 2022
LEASES    
Cash used in operating activities $ 469,401 $ 386,786
Cash used in financing activities $ 10,552 $ 25,820
XML 64 R55.htm IDEA: XBRL DOCUMENT v3.23.3
LEASES - Maturities of lease liabilities (Details)
Sep. 30, 2023
USD ($)
Maturities of lease liabilities  
2024 $ 950,791
2025 948,701
2026 943,751
2027 938,802
2028 938,802
Thereafter 1,642,902
Total lease payments 6,363,749
Less: imputed interest 861,971
Total $ 5,501,778
XML 65 R56.htm IDEA: XBRL DOCUMENT v3.23.3
COMMITMENTS AND CONTINGENCIES (Details) - USD ($)
3 Months Ended 6 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
COMMITMENTS AND CONTINGENCIES        
Aggregate commitment for future executive salaries and bonus $ 700,000   $ 700,000  
Aggregate commitment for accrued payroll, vacation and holiday 1,000,000.0   1,000,000.0  
Retirement Benefits $ 21,543 $ 22,123 $ 42,997 $ 44,122
XML 66 R57.htm IDEA: XBRL DOCUMENT v3.23.3
SEGMENT INFORMATION - Financial information for segments (Details)
3 Months Ended 6 Months Ended
Sep. 30, 2023
USD ($)
Sep. 30, 2022
USD ($)
Sep. 30, 2023
USD ($)
item
Sep. 30, 2022
USD ($)
SEGMENT INFORMATION        
Number of reportable segment | item     2  
Net sales from external customers $ 7,970,086 $ 8,522,647 $ 15,341,326 $ 15,599,004
Total operating loss (597,353) (87,423) (1,177,153) (645,432)
Other income 40,875 73,561 40,876 40,336
Interest expense 148,553 83,730 242,639 167,375
Consolidated (loss) income before income taxes (705,031) 526,453 (1,378,916) (148,426)
Depreciation and amortization     1,128,059 1,116,602
Capital expenditures     2,658,937 499,341
Operating segments        
SEGMENT INFORMATION        
ERTC refundable credits   624,045   624,045
Other income 40,875 73,561 40,876 40,336
Interest expense (148,553) (83,730) (242,639) (167,375)
Intersegment elimination        
SEGMENT INFORMATION        
Net sales from external customers (131,675)   (226,665)  
Corporate and unallocated        
SEGMENT INFORMATION        
Total operating loss (947,213) (888,234) (1,497,092) (1,425,008)
Ranor        
SEGMENT INFORMATION        
Depreciation and amortization     263,206 264,143
Capital expenditures     2,654,407 99,836
Ranor | Operating segments        
SEGMENT INFORMATION        
Net sales from external customers 4,495,747 4,933,653 8,994,844 9,659,584
Total operating loss 672,601 1,556,110 1,547,204 2,993,666
Stadco        
SEGMENT INFORMATION        
Depreciation and amortization     864,853 852,459
Capital expenditures     4,530 399,505
Stadco | Operating segments        
SEGMENT INFORMATION        
Net sales from external customers 3,606,014 3,588,994 6,573,147 5,939,420
Total operating loss $ (322,741) $ (755,299) $ (1,227,265) $ (2,214,090)
XML 67 R58.htm IDEA: XBRL DOCUMENT v3.23.3
SUBSEQUENT EVENTS (Details) - Restricted Shares - shares
Oct. 11, 2023
Aug. 03, 2023
SUBSEQUENT EVENTS    
Number of shares granted   15,000
Subsequent event | Board of Directors | 2016 Plan    
SUBSEQUENT EVENTS    
Number of shares granted 25,000  
XML 68 tpcs-20230930x10q_htm.xml IDEA: XBRL DOCUMENT 0001328792 tpcs:RanorTermLoanMember tpcs:RanorIncMember 2023-09-30 0001328792 tpcs:RanorTermLoanMember tpcs:RanorIncMember 2023-03-31 0001328792 srt:ChiefFinancialOfficerMember tpcs:EquityIncentivePlan2016Member 2023-07-13 2023-07-13 0001328792 us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001328792 2023-02-23 2023-02-23 0001328792 us-gaap:RetainedEarningsMember 2023-09-30 0001328792 us-gaap:AdditionalPaidInCapitalMember 2023-09-30 0001328792 us-gaap:RetainedEarningsMember 2023-06-30 0001328792 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001328792 2023-06-30 0001328792 us-gaap:RetainedEarningsMember 2023-03-31 0001328792 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001328792 us-gaap:RetainedEarningsMember 2022-09-30 0001328792 us-gaap:AdditionalPaidInCapitalMember 2022-09-30 0001328792 us-gaap:RetainedEarningsMember 2022-06-30 0001328792 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001328792 2022-06-30 0001328792 us-gaap:RetainedEarningsMember 2022-03-31 0001328792 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001328792 us-gaap:CommonStockMember 2023-09-30 0001328792 us-gaap:CommonStockMember 2023-06-30 0001328792 us-gaap:CommonStockMember 2023-03-31 0001328792 us-gaap:CommonStockMember 2022-09-30 0001328792 us-gaap:CommonStockMember 2022-06-30 0001328792 us-gaap:CommonStockMember 2022-03-31 0001328792 tpcs:RangeTwoMember 2023-04-01 2023-09-30 0001328792 tpcs:RangeOneMember 2023-04-01 2023-09-30 0001328792 tpcs:RangeTwoMember 2023-09-30 0001328792 tpcs:RangeOneMember 2023-09-30 0001328792 srt:MaximumMember 2023-04-01 2023-09-30 0001328792 2022-04-01 2023-03-31 0001328792 srt:MaximumMember tpcs:EquityIncentivePlan2016Member 2023-07-13 0001328792 srt:DirectorMember us-gaap:RestrictedStockMember tpcs:EquityIncentivePlan2016Member us-gaap:SubsequentEventMember 2023-10-11 2023-10-11 0001328792 us-gaap:SalesMember 2023-04-01 2023-09-30 0001328792 us-gaap:AccountsReceivableMember 2023-04-01 2023-09-30 0001328792 srt:MinimumMember 2023-09-30 0001328792 srt:MaximumMember 2023-09-30 0001328792 us-gaap:TransferredOverTimeMember 2023-07-01 2023-09-30 0001328792 us-gaap:TransferredAtPointInTimeMember 2023-07-01 2023-09-30 0001328792 tpcs:IndustrialMember 2023-07-01 2023-09-30 0001328792 tpcs:DefenseMember 2023-07-01 2023-09-30 0001328792 us-gaap:TransferredOverTimeMember 2023-04-01 2023-09-30 0001328792 us-gaap:TransferredAtPointInTimeMember 2023-04-01 2023-09-30 0001328792 tpcs:IndustrialMember 2023-04-01 2023-09-30 0001328792 tpcs:DefenseMember 2023-04-01 2023-09-30 0001328792 us-gaap:TransferredOverTimeMember 2022-07-01 2022-09-30 0001328792 us-gaap:TransferredAtPointInTimeMember 2022-07-01 2022-09-30 0001328792 tpcs:IndustrialMember 2022-07-01 2022-09-30 0001328792 tpcs:DefenseMember 2022-07-01 2022-09-30 0001328792 us-gaap:TransferredOverTimeMember 2022-04-01 2022-09-30 0001328792 us-gaap:TransferredAtPointInTimeMember 2022-04-01 2022-09-30 0001328792 tpcs:IndustrialMember 2022-04-01 2022-09-30 0001328792 tpcs:DefenseMember 2022-04-01 2022-09-30 0001328792 us-gaap:IntersegmentEliminationMember 2023-07-01 2023-09-30 0001328792 us-gaap:IntersegmentEliminationMember 2023-04-01 2023-09-30 0001328792 us-gaap:LandMember 2023-09-30 0001328792 us-gaap:ConstructionInProgressMember 2023-09-30 0001328792 us-gaap:BuildingAndBuildingImprovementsMember 2023-09-30 0001328792 tpcs:MachineryEquipmentFurnitureAndFixturesMember 2023-09-30 0001328792 us-gaap:LandMember 2023-03-31 0001328792 us-gaap:ConstructionInProgressMember 2023-03-31 0001328792 us-gaap:BuildingAndBuildingImprovementsMember 2023-03-31 0001328792 tpcs:MachineryEquipmentFurnitureAndFixturesMember 2023-03-31 0001328792 us-gaap:OperatingSegmentsMember tpcs:StadcoAcquisitionLlcMember 2023-07-01 2023-09-30 0001328792 us-gaap:OperatingSegmentsMember tpcs:RanorIncMember 2023-07-01 2023-09-30 0001328792 us-gaap:CorporateNonSegmentMember 2023-07-01 2023-09-30 0001328792 us-gaap:OperatingSegmentsMember tpcs:StadcoAcquisitionLlcMember 2023-04-01 2023-09-30 0001328792 us-gaap:OperatingSegmentsMember tpcs:RanorIncMember 2023-04-01 2023-09-30 0001328792 us-gaap:CorporateNonSegmentMember 2023-04-01 2023-09-30 0001328792 us-gaap:OperatingSegmentsMember tpcs:StadcoAcquisitionLlcMember 2022-07-01 2022-09-30 0001328792 us-gaap:OperatingSegmentsMember tpcs:RanorIncMember 2022-07-01 2022-09-30 0001328792 us-gaap:CorporateNonSegmentMember 2022-07-01 2022-09-30 0001328792 us-gaap:OperatingSegmentsMember tpcs:StadcoAcquisitionLlcMember 2022-04-01 2022-09-30 0001328792 us-gaap:OperatingSegmentsMember tpcs:RanorIncMember 2022-04-01 2022-09-30 0001328792 us-gaap:CorporateNonSegmentMember 2022-04-01 2022-09-30 0001328792 us-gaap:RetainedEarningsMember 2023-07-01 2023-09-30 0001328792 us-gaap:RetainedEarningsMember 2023-04-01 2023-06-30 0001328792 2023-04-01 2023-06-30 0001328792 us-gaap:RetainedEarningsMember 2022-07-01 2022-09-30 0001328792 us-gaap:RetainedEarningsMember 2022-04-01 2022-06-30 0001328792 tpcs:RevolverLoanMember 2023-03-31 0001328792 tpcs:RevolverLoanMember tpcs:RanorTermLoanMember 2016-12-21 0001328792 tpcs:BerkshireLoanMember 2023-09-30 0001328792 tpcs:RevolverLoanMember tpcs:RanorIncMember 2023-04-01 2023-09-30 0001328792 tpcs:RevolverLoanMember 2023-09-30 0001328792 srt:MinimumMember tpcs:RanorTermLoanMember 2023-04-01 2023-09-30 0001328792 srt:MaximumMember tpcs:RanorTermLoanMember 2023-04-01 2023-09-30 0001328792 tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member 2021-08-25 2021-08-25 0001328792 us-gaap:SecuredDebtMember tpcs:BerkshireLoanMember 2017-01-20 2017-01-20 0001328792 tpcs:RanorTermLoanMember 2022-12-23 0001328792 tpcs:RanorTermLoanMember 2022-12-20 0001328792 us-gaap:SecuredDebtMember tpcs:BerkshireLoanMember 2017-01-20 0001328792 tpcs:RevolverLoanMember tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member tpcs:RanorIncMember 2021-08-25 0001328792 us-gaap:SecuredDebtMember tpcs:BerkshireLoanMember tpcs:RanorIncMember 2016-03-31 0001328792 tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member 2023-09-30 0001328792 tpcs:RanorTermLoanAt6.05InterestDueDecember2027Member 2023-09-30 0001328792 tpcs:RanorRevolverLoanAt6.93InterestDueDecember2023Member 2023-09-30 0001328792 tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member 2023-03-31 0001328792 tpcs:RanorTermLoanAt6.05InterestDueDecember2027Member 2023-03-31 0001328792 tpcs:RanorRevolverLoanAt6.93InterestDueDecember2023Member 2023-03-31 0001328792 tpcs:StadcoTermLoanAt3.79PercentInterestDueAugust2028Member tpcs:FederalHomeLoanBankOfBostonClassicAdvanceRateMember 2021-08-25 2021-08-25 0001328792 us-gaap:UnbilledRevenuesMember 2023-09-30 0001328792 tpcs:AdjustmentsProgressPaymentsReceivableMember 2023-09-30 0001328792 us-gaap:UnbilledRevenuesMember 2023-03-31 0001328792 tpcs:AdjustmentsProgressPaymentsReceivableMember 2023-03-31 0001328792 tpcs:CustomerBMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-07-01 2023-09-30 0001328792 tpcs:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-07-01 2023-09-30 0001328792 tpcs:Customers.Member tpcs:TradeReceivablesMember us-gaap:CustomerConcentrationRiskMember 2023-04-01 2023-09-30 0001328792 tpcs:CustomerEMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-04-01 2023-09-30 0001328792 tpcs:CustomerCMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-04-01 2023-09-30 0001328792 tpcs:CustomerBMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-04-01 2023-09-30 0001328792 tpcs:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-04-01 2023-09-30 0001328792 tpcs:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-04-01 2023-09-30 0001328792 tpcs:CustomerDMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-07-01 2022-09-30 0001328792 tpcs:CustomerCMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-07-01 2022-09-30 0001328792 tpcs:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-07-01 2022-09-30 0001328792 tpcs:CustomerDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-04-01 2023-03-31 0001328792 tpcs:CustomerBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-04-01 2023-03-31 0001328792 tpcs:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-04-01 2023-03-31 0001328792 tpcs:CustomerDMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-04-01 2022-09-30 0001328792 tpcs:CustomerCMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-04-01 2022-09-30 0001328792 tpcs:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-04-01 2022-09-30 0001328792 tpcs:EquityIncentivePlan2016Member 2023-09-30 0001328792 2022-09-30 0001328792 2022-03-31 0001328792 tpcs:BerkshireLoanMember 2023-04-01 2023-09-30 0001328792 us-gaap:EmployeeStockOptionMember 2023-07-01 2023-09-30 0001328792 us-gaap:EmployeeStockOptionMember 2023-04-01 2023-09-30 0001328792 us-gaap:EmployeeStockOptionMember 2022-04-01 2022-09-30 0001328792 us-gaap:AdditionalPaidInCapitalMember 2022-04-01 2022-06-30 0001328792 2022-04-01 2022-06-30 0001328792 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 2023-09-30 0001328792 tpcs:CustomerEMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-09-30 0001328792 tpcs:CustomerCMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-09-30 0001328792 tpcs:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-09-30 0001328792 tpcs:CustomerDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-03-31 0001328792 tpcs:CustomerBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-03-31 0001328792 tpcs:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-03-31 0001328792 us-gaap:AdditionalPaidInCapitalMember 2022-07-01 2022-09-30 0001328792 us-gaap:CommonStockMember 2022-07-01 2022-09-30 0001328792 us-gaap:RestrictedStockMember 2023-08-03 2023-08-03 0001328792 srt:MinimumMember tpcs:RanorTermLoanMember 2022-10-01 2022-12-31 0001328792 srt:MaximumMember tpcs:RanorTermLoanMember 2022-10-01 2022-12-31 0001328792 tpcs:RanorTermLoan6.05DueDecember2027Member 2021-08-25 2021-08-25 0001328792 us-gaap:PropertyPlantAndEquipmentMember 2021-08-25 0001328792 us-gaap:OperatingSegmentsMember 2023-07-01 2023-09-30 0001328792 2023-07-01 2023-09-30 0001328792 us-gaap:OperatingSegmentsMember 2023-04-01 2023-09-30 0001328792 us-gaap:OperatingSegmentsMember 2022-07-01 2022-09-30 0001328792 us-gaap:OperatingSegmentsMember 2022-04-01 2022-09-30 0001328792 tpcs:TradeReceivablesMember 2023-04-01 2023-09-30 0001328792 tpcs:RevolverLoanMember tpcs:BerkshireLoanMember 2023-04-01 2023-09-30 0001328792 tpcs:RevolverLoanMember tpcs:BerkshireLoanMember 2023-09-30 0001328792 us-gaap:PropertyPlantAndEquipmentMember 2021-08-25 2021-08-25 0001328792 us-gaap:PropertyPlantAndEquipmentMember 2023-09-30 0001328792 us-gaap:PropertyPlantAndEquipmentMember 2023-03-31 0001328792 us-gaap:OperatingSegmentsMember 2022-09-30 0001328792 2022-07-01 2022-09-30 0001328792 us-gaap:NotesPayableOtherPayablesMember tpcs:BerkshireLoanMember 2016-12-21 2016-12-21 0001328792 us-gaap:RevolvingCreditFacilityMember tpcs:BerkshireLoanMember 2016-12-21 2016-12-21 0001328792 tpcs:BerkshireLoanMember tpcs:RanorIncMember 2023-04-01 2023-09-30 0001328792 srt:MaximumMember tpcs:BerkshireLoanMember 2023-09-30 0001328792 srt:ChiefFinancialOfficerMember 2023-07-13 2023-07-13 0001328792 srt:MinimumMember tpcs:BerkshireLoanMember 2023-04-01 2023-09-30 0001328792 srt:MaximumMember tpcs:BerkshireLoanMember 2023-04-01 2023-09-30 0001328792 tpcs:StadcoAcquisitionLlcMember 2023-04-01 2023-09-30 0001328792 tpcs:RanorIncMember 2023-04-01 2023-09-30 0001328792 tpcs:StadcoAcquisitionLlcMember 2022-04-01 2022-09-30 0001328792 tpcs:RanorIncMember 2022-04-01 2022-09-30 0001328792 2022-04-01 2022-09-30 0001328792 us-gaap:RevolvingCreditFacilityMember tpcs:BerkshireLoanMember 2016-12-21 0001328792 tpcs:PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember 2023-09-30 0001328792 2023-09-30 0001328792 2023-03-31 0001328792 2023-11-10 0001328792 2023-04-01 2023-09-30 shares iso4217:USD pure tpcs:customer iso4217:USD shares tpcs:item 0001328792 --03-31 2024 Q2 false 0.25 P3M P36M P36M 10-Q true 2023-09-30 false 000-51378 TechPrecision Corporation DE 51-0539828 1 Bella Drive Westminster MA 01473 978 874-0591 Common Stock, par value $0.0001 per share TPCS NASDAQ Yes Yes Non-accelerated Filer true false false 8762432 138206 534474 3020723 2336481 8096608 8947811 1925085 1692852 866848 719736 466245 348983 14513715 14580337 15764677 13914024 5322118 5660938 2254314 1931186 121256 121256 37976080 36207741 1607001 2224320 2785839 2533185 3180681 2333591 721623 711727 6958395 1218162 15253539 9020985 4749139 4780155 5143974 4428812 2699492 24462506 21613590 0.0001 0.0001 50000000 50000000 8737432 8737432 8613408 8613408 874 861 14924927 14949729 -1412227 -356439 13513574 14594151 37976080 36207741 7970086 8522647 15341326 15599004 6935271 6782975 13612362 13042114 1034815 1739672 1728964 2556890 1632168 1827095 2906117 3202322 -597353 -87423 -1177153 -645432 40875 73561 40876 40336 148553 83730 242639 167375 624045 624045 -107678 613876 -201763 497006 -705031 526453 -1378916 -148426 -176698 135509 -323128 -38205 -528333 390944 -1055788 -110221 -0.06 0.05 -0.12 -0.01 -0.06 0.04 -0.12 -0.01 8720603 8584510 8667298 8580707 8720603 8998195 8667298 8580707 8576863 858 14640343 622567 15263768 52107 52107 -501165 -501165 8576863 858 14692450 121402 14814710 46539 46539 9127 1 56309 56310 25000 2 143998 144000 390944 390944 8610990 861 14939296 512346 15452503 8613408 861 14949729 -356439 14594151 -527455 -527455 8613408 861 14949729 -883894 14066696 109024 11 -11 34013 34013 15000 2 -2 9224 9224 -528333 -528333 8737432 874 14924927 -1412227 13513574 -1055788 -110221 1128059 1116602 37475 26747 9224 298957 43049 26628 -323128 -38205 40399 -63436 684242 -968829 -851203 869853 379345 281929 117262 -411770 -617319 272554 -84182 -1243082 847090 41086 1729320 993203 1257657 1623266 61944 574143 2658937 499341 -2596993 -1073484 18862 1250000 -1012002 10552 25820 296380 309853 943068 -1366537 -396268 -816755 534474 1052139 138206 235384 201388 135041 125000 109024 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">NOTE 1 - DESCRIPTION OF BUSINESS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">TechPrecision Corporation, or “TechPrecision”, is a Delaware corporation organized in February 2005 under the name Lounsberry Holdings II, Inc. On February 24, 2006, we acquired all of the issued and outstanding capital stock of our wholly owned subsidiary Ranor, Inc., or “Ranor.” Ranor, together with its predecessors, has been in continuous operation since 1956. The company’s name was changed to TechPrecision Corporation on March 6, 2006.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 25, 2021, the Company completed its previously announced acquisition of Stadco, pursuant to that certain stock purchase agreement with Stadco New Acquisition, LLC, or “Acquisition Sub”, Stadco Acquisition, LLC, Stadco and each equity holder of Stadco Acquisition, LLC. On the closing date, the Company, through Acquisition Sub, acquired all the issued and outstanding capital stock of Stadco from Stadco Acquisition, LLC in exchange for the issuance of shares of the Company’s common stock to Stadco Acquisition, LLC. As a result of the acquisition, Stadco is now our wholly owned indirect subsidiary. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">TechPrecision is the parent company of Ranor, Westminster Credit Holdings, LLC, or “WCH”, Acquisition Sub, and Stadco. TechPrecision, Ranor, WCH, Acquisition Sub and Stadco are collectively referred to as the “Company”, “we”, “us” or “our”.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We manufacture large-scale metal fabricated and machined precision components and equipment. These products are used in a variety of markets, primarily defense and aerospace, and secondarily precision industrial. All our operations and customers are in the United States, or “U.S.”.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">NOTE 2 - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Basis of Presentation and Consolidation - </i>The accompanying condensed consolidated financial statements include the accounts of TechPrecision, Ranor, Stadco, WCH, and Acquisition Sub. All intercompany transactions and balances have been eliminated in consolidation. The accompanying condensed consolidated balance sheet as of September 30, 2023, the condensed consolidated statements of operations and stockholders’ equity for the three and six months ended September 30, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended September 30, 2023 and 2022 are unaudited, but, in the opinion of management, include all adjustments that are necessary for a fair presentation of our financial statements for interim periods in accordance with U.S. Generally Accepted Accounting Principles, or “U.S. GAAP”. All adjustments are of a normal, recurring nature, except as otherwise disclosed. The results of operations for an interim period are not necessarily indicative of the results of operations to be expected for the fiscal year. On February 23, 2023, the Company effected a <span style="-sec-ix-hidden:Hidden_lBaJdYaCp0CqhZvFjzxxzg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span>-for-four reverse stock split with respect to the issued and outstanding shares of TechPrecision common stock. All share and per-share amounts included in this Form 10-Q are presented as if the stock split had been effective from the beginning of the earliest period presented.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">These notes to the condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission, or the “SEC”, for Quarterly Reports on Form 10-Q. Certain information and disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. These unaudited financial statements and related notes should be read in conjunction with the consolidated financial statements included with our Annual Report on Form 10-K for the fiscal year ended March 31, 2023, filed with the SEC on June 15, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Use of Estimates in the Preparation of Financial Statements -</i> In preparing the condensed consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the condensed consolidated financial statements and revenues and expenses during the reporting period. We continually evaluate our estimates, including those related to revenue recognition and income taxes. We base our estimates on historical and current experiences and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Liquidity and Going Concern -</i> Our liquidity is highly dependent on the availability of financing facilities and our ability to maintain a gross profit and operating income. For the six months ended September 30, 2023 we reported a net loss ($1,055,788).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of September 30, 2023, we had $3.2 million in total available liquidity, consisting of $0.1 million in cash and cash equivalents, and $3.1 million in undrawn capacity under our revolver loan. As of March 31, 2023, we had $4.7 million in total available liquidity, consisting of $0.5 million in cash and cash equivalents, and $4.2 million in undrawn capacity under our revolver loan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is the borrower under the Loan Agreement (as defined below; see Note 11 – Debt). There was $7.1 million outstanding under the agreement on September 30, 2023. The maturity date of the revolver loan under the loan agreement is December 20, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company was not in compliance with certain of the financial covenants at September 30, 2023 and has requested a waiver from Berkshire Bank, the lender, but has not yet received approval from the bank. Under the terms of the loan agreement, the bank has the right to demand repayment. If the lender demands repayment the Company will be unable to pay the obligation because the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations. Also, it is probable that the Company will not be in compliance with the same debt covenants at subsequent measurement dates within the next twelve months. As such, all of our long-term debt has been classified as current in our condensed consolidated balance sheet. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Without a waiver, the lender has the right, but not the obligation, to demand repayment from the Company for noncompliance with the debt covenants. In addition, the bank retains the right to act on covenant violations that occur after the date of delivery of any waiver. If the lender were to decline to grant us a waiver and instead demand repayment, we would need to seek alternative financing to pay these obligations as the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is exploring various means of strengthening its liquidity position and ensuring compliance with its debt financing covenants, which may include the obtaining of waivers from our current lender, amending our facility or entering into one or more alternative facilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In order for us to continue operations beyond the next twelve months from the date of issuance of the financial statements and to be able to discharge our liabilities and commitments in the normal course of business, we must mitigate our recurring operating losses at our Stadco subsidiary. We must efficiently increase utilization of our manufacturing capacity at our Stadco subsidiary and improve the manufacturing process, so our direct labor hours (inputs) allow us to recognize more revenue over time (outputs) and improve job performance. We plan to closely monitor our expenses and, if required, will reduce operating costs to enhance liquidity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The uncertainty associated with the recurring operating losses at Stadco, the current violation of debt covenants, and the expected debt covenant violation at subsequent compliance dates raise substantial doubt about our ability to continue as a going concern within one-year after the date the condensed consolidated financial statements included in this Quarterly Report on Form 10-Q are issued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The condensed consolidated financial statements for the six months ended September 30, 2023 were prepared on the basis of a going concern which contemplates that we will be able to realize assets and discharge liabilities in the normal course of business. Accordingly, they do not give effect to adjustments that would be necessary should we be required to liquidate assets. Our ability to satisfy our current liabilities and to continue as a going concern is dependent upon the Company’s compliance with the debt covenants and its ability to grow revenue and reduce costs at Stadco. The financial statements do not include any adjustments that might result from the outcome of these uncertainties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">New Accounting Standards Recently Adopted</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In June 2016, the FASB issued ASU 2016-13, <i style="font-style:italic;">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</i>, as amended subsequently by ASUs 2018-19, 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The guidance in these ASUs requires that credit losses be reported using an expected losses model rather than the incurred losses model that is currently used. The standard also establishes additional disclosures related to credit risks. This standard was effective for fiscal years beginning after December 15, 2022. The adoption of this ASU on April 1, 2023 did not have a significant impact on the Company’s condensed financial statements and disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;font-weight:normal;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Basis of Presentation and Consolidation - </i>The accompanying condensed consolidated financial statements include the accounts of TechPrecision, Ranor, Stadco, WCH, and Acquisition Sub. All intercompany transactions and balances have been eliminated in consolidation. The accompanying condensed consolidated balance sheet as of September 30, 2023, the condensed consolidated statements of operations and stockholders’ equity for the three and six months ended September 30, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended September 30, 2023 and 2022 are unaudited, but, in the opinion of management, include all adjustments that are necessary for a fair presentation of our financial statements for interim periods in accordance with U.S. Generally Accepted Accounting Principles, or “U.S. GAAP”. All adjustments are of a normal, recurring nature, except as otherwise disclosed. The results of operations for an interim period are not necessarily indicative of the results of operations to be expected for the fiscal year. On February 23, 2023, the Company effected a <span style="-sec-ix-hidden:Hidden_lBaJdYaCp0CqhZvFjzxxzg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span>-for-four reverse stock split with respect to the issued and outstanding shares of TechPrecision common stock. All share and per-share amounts included in this Form 10-Q are presented as if the stock split had been effective from the beginning of the earliest period presented.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">These notes to the condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission, or the “SEC”, for Quarterly Reports on Form 10-Q. Certain information and disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. These unaudited financial statements and related notes should be read in conjunction with the consolidated financial statements included with our Annual Report on Form 10-K for the fiscal year ended March 31, 2023, filed with the SEC on June 15, 2023.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Use of Estimates in the Preparation of Financial Statements -</i> In preparing the condensed consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the condensed consolidated financial statements and revenues and expenses during the reporting period. We continually evaluate our estimates, including those related to revenue recognition and income taxes. We base our estimates on historical and current experiences and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Liquidity and Going Concern -</i> Our liquidity is highly dependent on the availability of financing facilities and our ability to maintain a gross profit and operating income. For the six months ended September 30, 2023 we reported a net loss ($1,055,788).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of September 30, 2023, we had $3.2 million in total available liquidity, consisting of $0.1 million in cash and cash equivalents, and $3.1 million in undrawn capacity under our revolver loan. As of March 31, 2023, we had $4.7 million in total available liquidity, consisting of $0.5 million in cash and cash equivalents, and $4.2 million in undrawn capacity under our revolver loan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is the borrower under the Loan Agreement (as defined below; see Note 11 – Debt). There was $7.1 million outstanding under the agreement on September 30, 2023. The maturity date of the revolver loan under the loan agreement is December 20, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company was not in compliance with certain of the financial covenants at September 30, 2023 and has requested a waiver from Berkshire Bank, the lender, but has not yet received approval from the bank. Under the terms of the loan agreement, the bank has the right to demand repayment. If the lender demands repayment the Company will be unable to pay the obligation because the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations. Also, it is probable that the Company will not be in compliance with the same debt covenants at subsequent measurement dates within the next twelve months. As such, all of our long-term debt has been classified as current in our condensed consolidated balance sheet. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Without a waiver, the lender has the right, but not the obligation, to demand repayment from the Company for noncompliance with the debt covenants. In addition, the bank retains the right to act on covenant violations that occur after the date of delivery of any waiver. If the lender were to decline to grant us a waiver and instead demand repayment, we would need to seek alternative financing to pay these obligations as the Company does not have existing facilities or sufficient cash on hand to satisfy these obligations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company is exploring various means of strengthening its liquidity position and ensuring compliance with its debt financing covenants, which may include the obtaining of waivers from our current lender, amending our facility or entering into one or more alternative facilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In order for us to continue operations beyond the next twelve months from the date of issuance of the financial statements and to be able to discharge our liabilities and commitments in the normal course of business, we must mitigate our recurring operating losses at our Stadco subsidiary. We must efficiently increase utilization of our manufacturing capacity at our Stadco subsidiary and improve the manufacturing process, so our direct labor hours (inputs) allow us to recognize more revenue over time (outputs) and improve job performance. We plan to closely monitor our expenses and, if required, will reduce operating costs to enhance liquidity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The uncertainty associated with the recurring operating losses at Stadco, the current violation of debt covenants, and the expected debt covenant violation at subsequent compliance dates raise substantial doubt about our ability to continue as a going concern within one-year after the date the condensed consolidated financial statements included in this Quarterly Report on Form 10-Q are issued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The condensed consolidated financial statements for the six months ended September 30, 2023 were prepared on the basis of a going concern which contemplates that we will be able to realize assets and discharge liabilities in the normal course of business. Accordingly, they do not give effect to adjustments that would be necessary should we be required to liquidate assets. Our ability to satisfy our current liabilities and to continue as a going concern is dependent upon the Company’s compliance with the debt covenants and its ability to grow revenue and reduce costs at Stadco. The financial statements do not include any adjustments that might result from the outcome of these uncertainties.</p> -1055788 3200000 100000 3100000 4700000 500000 4200000 7100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">New Accounting Standards Recently Adopted</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In June 2016, the FASB issued ASU 2016-13, <i style="font-style:italic;">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</i>, as amended subsequently by ASUs 2018-19, 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The guidance in these ASUs requires that credit losses be reported using an expected losses model rather than the incurred losses model that is currently used. The standard also establishes additional disclosures related to credit risks. This standard was effective for fiscal years beginning after December 15, 2022. The adoption of this ASU on April 1, 2023 did not have a significant impact on the Company’s condensed financial statements and disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;font-weight:normal;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">NOTE 3 – REVENUE</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company generates revenue primarily from performance obligations completed under contracts with customers in two main market sectors: defense and precision industrial. The period over which the Company performs its obligations can be between <span style="-sec-ix-hidden:Hidden_Bgp0VAJTrk257sC3vJVrPg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> and<span style="-sec-ix-hidden:Hidden_Y6-PVMQsNUOjGl-LSJuZeA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> thirty-six months</span></span>. Revenue is recognized over-time or at a point-in-time given the terms and conditions of the related contracts. The Company utilizes an inputs methodology based on estimated labor hours to measure performance progress. This model best depicts the transfer of control to the customer. The Company’s contract portfolio is comprised of fixed-price contracts and provides for product-type sales only. The following table presents net sales on a disaggregated basis by market and contract type:</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:64.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.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:8.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.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: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:9.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:64.99%;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;">Net Sales by market</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </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;">Defense</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;">Industrial</b></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:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.04%;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:64.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Three months ended September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.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;"> 7,959,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.94%;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,458</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:0.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:9.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;"> 7,970,086</p></td></tr><tr><td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Three months ended September 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p 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.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;"> 8,385,441</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p 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.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,206</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:0.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:9.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;"> 8,522,647</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Six months ended September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.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;">15,159,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.94%;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;">182,294</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:0.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:9.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;">15,341,326</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Six months ended September 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p 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.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;">15,226,365</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p 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.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">372,639</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:0.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:9.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;">15,599,004</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.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:1.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: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: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.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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></tr><tr><td style="vertical-align:bottom;width:65.02%;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;">Net Sales by contract type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;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:9.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;">Over-time</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.42%;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;">Point-in-time</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.82%;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:65.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Three months ended September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="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;margin:0pt;">$</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 3pt 0pt 0pt;"> 7,413,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;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.44%;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;"> 556,430</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;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.89%;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,970,086</p></td></tr><tr><td style="vertical-align:bottom;width:65.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Three months ended September 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;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;"> 8,219,139</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 303,508</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.92%;margin:0pt;padding:0pt;"><p 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;"> 8,522,647</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Six months ended September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</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 3pt 0pt 0pt;">14,347,460</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;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.44%;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;">993,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;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.89%;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;">15,341,326</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Six months ended September 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;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;">14,841,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">757,772</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p 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;">15,599,004</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of September 30, 2023, the Company had $44.6 million of remaining performance obligations, of which $38.3 million were less than 50% complete. The Company expects to recognize all of its remaining performance obligations as revenue within the next <span style="-sec-ix-hidden:Hidden_AGOP31V-p0S1Kpbf49gqKQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">thirty-six months</span></span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We are dependent each year on a small number of customers who generate a significant portion of our business, and these customers change from year to year. The following table sets forth revenues from customers who accounted for more than 10% of our net sales.</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:26.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:26.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three months ended</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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three months ended</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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six months ended</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 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six months ended</b></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 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2022</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:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</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 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2022</b></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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</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:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</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:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</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:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;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 0pt 0.05pt 0pt;">Amount</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></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:8pt;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:26.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,560,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,438,049</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,845,478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,734,436</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18</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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:26.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 999,540</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,742,776</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:26.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,614,929</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,378,520</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22</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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:26.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</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;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,971,441</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23</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;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</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;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,043,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20</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 0pt 0.05pt 0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">*</i><i style="font-style:italic;">Less than 10% of total</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In our condensed consolidated balance sheet, contract assets and contract liabilities are reported in a net position on a contract-by-contract basis at the end of each reporting period. For the six months ended September 30, 2023, we recognized revenue of approximately $1.2 million related to our contract liabilities at April 1, 2023. Contract assets consisted of the following at:</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:64.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Progress</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unbilled</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">payments</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,183,772</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"> (12,087,164)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,096,608</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,485,914</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"> (10,538,103)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,947,811</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;margin-bottom:12pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.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.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:8.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.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: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:9.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:64.99%;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;">Net Sales by market</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </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;">Defense</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;">Industrial</b></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:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.04%;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:64.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Three months ended September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.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;"> 7,959,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.94%;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,458</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:0.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:9.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;"> 7,970,086</p></td></tr><tr><td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Three months ended September 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p 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.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;"> 8,385,441</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p 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.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,206</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:0.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:9.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;"> 8,522,647</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Six months ended September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.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;">15,159,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.94%;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;">182,294</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:0.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:9.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;">15,341,326</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Six months ended September 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p 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.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;">15,226,365</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p 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.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">372,639</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:0.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:9.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;">15,599,004</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.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:1.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: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: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.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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></tr><tr><td style="vertical-align:bottom;width:65.02%;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;">Net Sales by contract type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;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:9.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;">Over-time</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.42%;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;">Point-in-time</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.82%;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:65.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Three months ended September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="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;margin:0pt;">$</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 3pt 0pt 0pt;"> 7,413,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;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.44%;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;"> 556,430</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;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.89%;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,970,086</p></td></tr><tr><td style="vertical-align:bottom;width:65.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Three months ended September 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;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;"> 8,219,139</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 303,508</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.92%;margin:0pt;padding:0pt;"><p 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;"> 8,522,647</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Six months ended September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;margin:0pt;">$</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 3pt 0pt 0pt;">14,347,460</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;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.44%;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;">993,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;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.89%;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;">15,341,326</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Six months ended September 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;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;">14,841,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">757,772</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p 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;">15,599,004</p></td></tr></table> 7959628 10458 7970086 8385441 137206 8522647 15159032 182294 15341326 15226365 372639 15599004 7413656 556430 7970086 8219139 303508 8522647 14347460 993866 15341326 14841232 757772 15599004 44600000 38300000 0.50 <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:26.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:26.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three months ended</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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three months ended</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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six months ended</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 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six months ended</b></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 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</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;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2022</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:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</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 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2022</b></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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</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:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</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:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</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:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.35%;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 0pt 0.05pt 0pt;">Amount</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></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:8pt;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:26.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,560,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,438,049</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,845,478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,734,436</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18</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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:26.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 999,540</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,742,776</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:26.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,614,929</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</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;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,378,520</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22</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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:26.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</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;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,971,441</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23</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;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</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;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,043,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20</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 0pt 0.05pt 0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">*</i><i style="font-style:italic;">Less than 10% of total</i></p> 2560204 0.32 1438049 0.17 4845478 0.32 2734436 0.18 999540 0.13 1742776 0.11 1614929 0.19 3378520 0.22 1971441 0.23 3043315 0.20 1200000 <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:64.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Progress</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unbilled</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">payments</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,183,772</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"> (12,087,164)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,096,608</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,485,914</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"> (10,538,103)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,947,811</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;margin-bottom:12pt;visibility:hidden;">​</span></p> 20183772 -12087164 8096608 19485914 -10538103 8947811 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">NOTE 4 – INCOME TAXES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company accounts for income taxes under ASC 740, <i style="font-style:italic;">Income Taxes</i>. The tax provision for interim periods is determined using the estimated annual effective consolidated tax rate, based on the current estimate of full-year earnings before taxes, adjusted for the impact of discrete quarterly items. We recorded an income tax benefit for the three ($176,698) and six months ($323,128) ended September 30, 2023. For the three months ended September 30, 2022, we recorded income tax expense of $135,509, and for the six months ended September 30, 2022 we recorded an income tax benefit ($38,205). The Company’s effective tax rate for the six months ended September 30, 2023 and 2022 was 23.4% and 25.7%, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The valuation allowance on deferred tax assets was approximately $2.1 million at September 30, 2023. We believe that it is more likely than not that the benefit from certain state net operating losses, or “NOLs”, carryforwards and other deferred tax assets will not be realized. In the event future taxable income is below management’s estimates or is generated in tax jurisdictions different than projected, the Company could be required to increase the valuation allowance for deferred tax assets. This would result in an increase in the Company’s effective tax rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> -176698 -323128 135509 -38205 0.234 0.257 2100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">NOTE 5 – EARNINGS PER SHARE (EPS)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Basic EPS is computed by dividing reported earnings available to stockholders by the weighted average number of shares outstanding. Diluted EPS also includes the effect of stock options that would be dilutive. The following table provides a reconciliation of the numerators and denominators reflected in the basic and diluted earnings per share computations for the periods ended:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;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:42.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">     </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">     </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:13.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:13.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.38%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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.38%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Basic EPS</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net (loss) income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (528,333)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 390,944</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,055,788)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (110,221)</p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 8,720,603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 8,584,510</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0.05pt 0pt;"> 8,667,298</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0.05pt 0pt;"> 8,580,707</p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net (loss) earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"> (0.06)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 0.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0pt 0.05pt 0pt;"> (0.12)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0pt 0.05pt 0pt;"> (0.01)</p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Diluted EPS</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net (loss) income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"> (528,333)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 390,944</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0pt 0.05pt 0pt;"> (1,055,788)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0pt 0.05pt 0pt;"> (110,221)</p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dilutive effect of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 413,685</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 8,720,603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 8,998,195</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0.05pt 0pt;"> 8,667,298</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0.05pt 0pt;"> 8,580,707</p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net (loss) earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.06)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0.05pt 0pt;"> 0.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.12)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.01)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:97.5pt;"></span><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:12pt;margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">All potential common stock equivalents that have an anti-dilutive effect are excluded from the calculation of diluted EPS (i.e., those that increase income per share or decrease loss per share). For the three months and six months ended September 30, 2023 there were potential anti-dilutive stock options and warrants of 567,500, none of which were included in the earnings per share calculations above. For the six months ended September 30, 2022, there were potential anti-dilutive stock options and warrants of 417,124, none of which were included in the earnings per share calculations above.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;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:42.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">     </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">     </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:13.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:13.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.38%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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.38%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Basic EPS</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net (loss) income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (528,333)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 390,944</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,055,788)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (110,221)</p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 8,720,603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 8,584,510</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0.05pt 0pt;"> 8,667,298</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0.05pt 0pt;"> 8,580,707</p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net (loss) earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"> (0.06)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 0.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0pt 0.05pt 0pt;"> (0.12)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0pt 0.05pt 0pt;"> (0.01)</p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Diluted EPS</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net (loss) income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"> (528,333)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 390,944</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0pt 0.05pt 0pt;"> (1,055,788)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0pt 0.05pt 0pt;"> (110,221)</p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dilutive effect of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 413,685</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 8,720,603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0.05pt 0pt;"> 8,998,195</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0.05pt 0pt;"> 8,667,298</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;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 0.05pt 0pt;"> 8,580,707</p></td></tr><tr><td style="vertical-align:bottom;width:42.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net (loss) earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.06)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0.05pt 0pt;"> 0.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.12)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.01)</p></td></tr></table> -528333 390944 -1055788 -110221 8720603 8584510 8667298 8580707 -0.06 0.05 -0.12 -0.01 -528333 390944 -1055788 -110221 413685 8720603 8998195 8667298 8580707 -0.06 0.04 -0.12 -0.01 567500 567500 417124 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">NOTE 6 – STOCK-BASED COMPENSATION</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The 2016 TechPrecision Equity Incentive Plan, or the “2016 Plan”, is designed to reflect our commitment to having best practices in both compensation and corporate governance. The 2016 Plan provides for a share reserve of 1,250,000 shares of common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On July 13, 2023, our former CFO exercised an option to purchase 125,000 shares of the Company’s common stock pursuant to option awards previously granted under the 2016 Plan. The option was exercised as a cashless net settlement transaction and resulted in the delivery of 109,024 shares of common stock on July 13, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table summarizes information about options granted during the most recently completed periods:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;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:55.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number Of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(in years)</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;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 0.05pt 0pt;"> 667,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;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 0.05pt 0pt;"> 1.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;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 0.05pt 0pt;"> 3,804,625</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;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 0.05pt 0pt;"> 3.70</p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;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 0pt 0.05pt 0pt;"> (125,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;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 0.05pt 0pt;"> 0.68</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 846,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;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 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;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 0.05pt 0pt;"> 1.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;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 0.05pt 0pt;"> 3,108,950</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;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 0.05pt 0pt;"> 3.63</p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested or expected to vest at September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;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 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;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 0.05pt 0pt;"> 1.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,108,950</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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 0.05pt 0pt;"> 3.63</p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable and vested at September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,108,950</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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 0.05pt 0pt;"> 3.63</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The aggregate intrinsic value in the table above represents the total pre-tax intrinsic value (the difference between the closing stock price on the last trading day of the second quarter of fiscal 2024 and the exercise price, multiplied by the number of in-the-money options) that would have been received by the option holders had all option holders exercised their options on September 30, 2023. This amount changes based on the fair market value of the Company’s common stock. The maximum contractual term is ten years for option grants. Other information relating to stock options outstanding at September 30, 2023 is as follows:</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:51.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Range of Exercise Prices:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Outstanding</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width: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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Exercisable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width: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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$0.01-$0.99</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 192,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.87</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 192,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.32</p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$2.00-$2.99</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;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 0.05pt 0pt;"> 350,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;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 0.05pt 0pt;"> 350,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.19</p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;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 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;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 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">On August 3, 2023 the Company issued 15,000 restricted shares of the Company’s common stock to the Company’s new CFO. Under the terms of the employment agreement, provided she remains employed by the Company from the grant date through the applicable vesting dates, 5,000 shares of the restricted stock will vest on each of the first, second, and third anniversaries of the effective employment date of July 17, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">At September 30, 2023, there were 297,500 shares available for grant under the 2016 Plan.</p> 1250000 125000 109024 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;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:55.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number Of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(in years)</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;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 0.05pt 0pt;"> 667,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;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 0.05pt 0pt;"> 1.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;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 0.05pt 0pt;"> 3,804,625</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;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 0.05pt 0pt;"> 3.70</p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;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 0pt 0.05pt 0pt;"> (125,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;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 0.05pt 0pt;"> 0.68</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 846,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;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 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;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 0.05pt 0pt;"> 1.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;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 0.05pt 0pt;"> 3,108,950</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;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 0.05pt 0pt;"> 3.63</p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested or expected to vest at September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;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 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;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 0.05pt 0pt;"> 1.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,108,950</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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 0.05pt 0pt;"> 3.63</p></td></tr><tr><td style="vertical-align:bottom;width:55.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable and vested at September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,108,950</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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 0.05pt 0pt;"> 3.63</p></td></tr></table> 667500 1.37 3804625 P3Y8M12D 125000 0.68 846250 542500 1.53 3108950 P3Y7M17D 542500 1.53 3108950 P3Y7M17D 542500 1.53 3108950 P3Y7M17D P10Y <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:51.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Range of Exercise Prices:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Outstanding</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width: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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Exercisable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width: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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$0.01-$0.99</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 192,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.87</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 192,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.32</p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$2.00-$2.99</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;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 0.05pt 0pt;"> 350,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;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 0.05pt 0pt;"> 350,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.19</p></td></tr><tr><td style="vertical-align:bottom;width:51.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;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 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.69%;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 0.05pt 0pt;"> 542,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr></table> 0.01 0.99 192500 P1Y10M13D 0.32 192500 0.32 2.00 2.99 350000 P3Y7M28D 2.19 350000 2.19 542500 542500 15000 5000 297500 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">NOTE 7 - CONCENTRATION OF CREDIT RISK</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We maintain bank account balances, which, at times, may exceed insured limits. We have not experienced any losses with these accounts and believe that we are not exposed to any significant credit risk on cash.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On September 30, 2023, there were trade accounts receivable balances outstanding from three customers comprising 56% of the total trade receivables balance. The following table sets forth information as to trade accounts receivable from customers which accounted for more than 10% of our accounts receivable balance as of:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.00925827%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:21.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:21.27%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2023</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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:51.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Dollars</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Dollars</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:51.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0.05pt 0pt;"> 809,255</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;">%</span>  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 730,514</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31</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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:51.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;">%</span>  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 260,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:51.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0.05pt 0pt;"> 448,127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;">%</span>  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:51.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;">%</span>  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 265,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:51.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">E</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0.05pt 0pt;"> 375,811</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;">%</span>  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 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 0pt 0.05pt 0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><i style="font-style:italic;font-weight:normal;">*</i><i style="font-style:italic;font-weight:normal;">less than 10% of total</i></p> 3 0.56 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.00925827%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:21.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:21.27%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2023</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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:51.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Dollars</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Dollars</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percent</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;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:51.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0.05pt 0pt;"> 809,255</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;">%</span>  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 730,514</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31</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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:51.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;">%</span>  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 260,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:51.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0.05pt 0pt;"> 448,127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;">%</span>  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:51.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;">%</span>  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 265,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</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 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:51.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">E</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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 0.05pt 0pt;"> 375,811</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;">%</span>  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 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 0pt 0.05pt 0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><i style="font-style:italic;font-weight:normal;">*</i><i style="font-style:italic;font-weight:normal;">less than 10% of total</i></p> 809255 0.28 730514 0.31 260177 0.11 448127 0.15 265755 0.11 375811 0.13 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;">NOTE 8 - OTHER CURRENT ASSETS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Other current assets included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 80,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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 0.05pt 0pt;"> 9,616</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid insurance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 143,928</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </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 3pt 0.05pt 0pt;"> 162,075</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid subscriptions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 182,668</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </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 0.05pt 0pt;"> 120,570</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deposits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,706</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 3pt 0.05pt 0pt;"> 21,706</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee advances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,163</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 4,561</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid advisory fees, other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,752</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 30,455</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;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 0.05pt 0pt;"> 466,245</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;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 0pt 0.05pt 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 0.05pt 0pt;"> 348,983</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;margin-bottom:12pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Other current assets included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 80,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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 0.05pt 0pt;"> 9,616</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid insurance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 143,928</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </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 3pt 0.05pt 0pt;"> 162,075</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid subscriptions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 182,668</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </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 0.05pt 0pt;"> 120,570</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deposits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,706</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 3pt 0.05pt 0pt;"> 21,706</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee advances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,163</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 4,561</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid advisory fees, other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,752</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 30,455</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;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 0.05pt 0pt;"> 466,245</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;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 0pt 0.05pt 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 0.05pt 0pt;"> 348,983</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;margin-bottom:12pt;visibility:hidden;">​</span></p> 80028 9616 143928 162075 182668 120570 21706 21706 16163 4561 21752 30455 466245 348983 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">NOTE 9 - PROPERTY, PLANT AND EQUIPMENT, NET</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:71.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.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:1.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:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:1.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: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;width:71.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Property, plant and equipment, net consisted of the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;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:12.38%;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;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;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.87%;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;">March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;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.91%;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;"> 110,113</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.34%;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.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;"> 110,113</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Building and improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;margin:0pt;padding:0pt;"><p 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.91%;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,293,986</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:10.52%;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,293,986</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery equipment, furniture, and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;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.91%;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;"> 25,671,848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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: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;"> 23,018,713</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction-in-progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;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.91%;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;"> 114,990</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.34%;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;"> 149,576</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant, and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;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.91%;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;"> 29,190,937</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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: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;"> 26,572,388</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;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.91%;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;"> (13,426,260)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.34%;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;"> (12,658,364)</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;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.91%;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;"> 15,764,677</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.34%;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;"> 13,914,024</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;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">We capitalize interest on borrowings during active construction periods for major capital projects. Capitalized interest is added to the cost of the underlying assets and is amortized over the useful lives of the assets. Interest capitalized for the six months ended September 30, 2023 was $14,455.</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:71.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.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:1.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:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:1.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: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;width:71.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Property, plant and equipment, net consisted of the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;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:12.38%;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;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;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.87%;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;">March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;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.91%;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;"> 110,113</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.34%;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.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;"> 110,113</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Building and improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;margin:0pt;padding:0pt;"><p 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.91%;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,293,986</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:10.52%;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,293,986</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery equipment, furniture, and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;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.91%;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;"> 25,671,848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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: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;"> 23,018,713</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction-in-progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;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.91%;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;"> 114,990</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.34%;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;"> 149,576</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant, and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;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.91%;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;"> 29,190,937</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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: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;"> 26,572,388</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;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.91%;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;"> (13,426,260)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.34%;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;"> (12,658,364)</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.47%;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.91%;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;"> 15,764,677</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.34%;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;"> 13,914,024</p></td></tr></table> 110113 110113 3293986 3293986 25671848 23018713 114990 149576 29190937 26572388 13426260 12658364 15764677 13914024 14455 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">NOTE 10 - ACCRUED 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;width:71.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Accrued expenses included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Accrued compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,203,466</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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 0.05pt 0pt;"> 1,257,245</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Provision for claims </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 234,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 3pt 0.05pt 0pt;"> 256,227</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Provision for contract losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 148,503</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 102,954</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Accrued professional fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 487,631</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 3pt 0.05pt 0pt;"> 241,195</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Accrued project costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 558,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 440,550</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 153,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 235,014</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;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 0.05pt 0pt;"> 2,785,839</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;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 0pt 0.05pt 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 0.05pt 0pt;"> 2,533,185</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Accrued compensation includes amounts for executive bonuses, payroll and vacation and holiday pay. Provisions for estimated losses on uncompleted contracts are made in the period in which such losses are determined. Changes in the provision are recorded in cost of sales. Accrued project costs are estimates for certain project expenses during the reporting 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:71.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Accrued expenses included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Accrued compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,203,466</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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 0.05pt 0pt;"> 1,257,245</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Provision for claims </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 234,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 3pt 0.05pt 0pt;"> 256,227</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Provision for contract losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 148,503</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 102,954</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Accrued professional fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 487,631</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 3pt 0.05pt 0pt;"> 241,195</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Accrued project costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 558,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 440,550</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 153,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 235,014</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;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 0.05pt 0pt;"> 2,785,839</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;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 0pt 0.05pt 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 0.05pt 0pt;"> 2,533,185</p></td></tr></table> 1203466 1257245 234472 256227 148503 102954 487631 241195 558010 440550 153757 235014 2785839 2533185 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;">NOTE 11 – DEBT</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Long-term debt included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stadco Term Loan, at 3.79% interest, due August 2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,919,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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 0.05pt 0pt;"> 3,186,495</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ranor Term Loan, at 6.05% interest, due December 2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,246,920</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 3pt 0.05pt 0pt;"> 2,276,518</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ranor Revolver Loan, at 7.69% interest, due December 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;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 0.05pt 0pt;"> 1,900,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;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 0.05pt 0pt;"> 650,000</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,066,632</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 6,113,013</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: debt issue costs unamortized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;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 0.05pt 0pt;"> 108,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;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 0.05pt 0pt;"> 145,712</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total debt, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,958,395</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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 0.05pt 0pt;"> 5,967,301</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: Current portion of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;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 0.05pt 0pt;"> 6,958,395</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;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 0.05pt 0pt;"> 1,218,162</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total long-term debt, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 4,749,139</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Amended and Restated Loan Agreement</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">On August 25, 2021, the Company entered into an amended and restated loan agreement with Berkshire Bank, or the “Loan Agreement”. Under the Loan Agreement, Berkshire Bank will provide the Ranor Term Loan (as defined below) and the revolving line of credit, or the “Revolver Loan”. In addition, Berkshire Bank provided the Stadco Term Loan (as defined below) in the original amount of $4.0 million. The proceeds of the original Ranor Term Loan of $2.85 million were previously used to refinance existing mortgage debt of Ranor. The proceeds of the Revolver Loan are used for working capital and general corporate purposes of the Company. The proceeds of the Stadco Term Loan were to be used to support the acquisition of Stadco and refinance existing indebtedness of Stadco.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Stadco Term Loan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 25, 2021, Stadco borrowed $4.0 million from Berkshire Bank, or the “Stadco Term Loan”, under the Loan Agreement. Interest on the Stadco Term Loan is due on unpaid balances beginning on August 25, 2021 at a fixed rate per annum equal to the 7 year Federal Home Loan Bank of Boston Classic Advance Rate plus 2.25%. Since September 25, 2021 and on the 25th day of each month thereafter, Stadco had made and will make monthly payments of principal and interest in the amount of $54,390 each, with all remaining outstanding principal and accrued interest due and payable on August 25, 2028. Interest shall be calculated based on actual days elapsed and a 360-day year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Unamortized debt issue costs on September 30, 2023 and March 31, 2023 were $36,945 and $44,482, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Ranor Term Loan and Revolver Loan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">A term loan was made to Ranor by Berkshire Bank in 2016 in the amount of $2.85 million, or the “Ranor Term Loan”. Payments began on January 20, 2017, and were made in monthly installments of $19,260 each, inclusive of interest at a fixed rate of 5.21% per annum, with all outstanding principal and accrued interest due and payable on the original maturity date, December 20, 2021, which was extended to December 20, 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On December 23, 2022, Ranor and certain affiliates of the Company entered into a Fifth Amendment to Amended and Restated Loan Agreement, Fifth Amendment to Promissory Note and First Amendment to Second Amended and Restated Promissory Note, or the “Amendment”. Effective as of December 20, 2022, the Amendment, among other things (i) extends the maturity date of the Ranor Term Loan to December 15, 2027, (ii) extends the maturity date of the Revolver Loan from December 20, 2022 to December 20, 2023, (iii) increases the interest rate on the Ranor Term Loan from 5.21% to 6.05% per annum, (iv) decreases the monthly payment on the Ranor Term Loan from $19,260 to $16,601, (v) replaces LIBOR as an option for the benchmark interest rate for the Revolver Loan with the Secured Overnight Financing Rate, or “SOFR”, (vi) replaces LIBOR-based interest pricing conventions with SOFR-based pricing conventions, including benchmark replacement provisions, and (vii) solely with respect to the fiscal quarter ending December 31, 2022, lowers the debt service coverage ratio from at least 1.2 to 1.0 to 1.1 to 1.0.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Under the Loan Agreement, Berkshire Bank also makes available to Ranor the Revolver Loan, which has a maximum principal amount available of $5.0 million. Advances under the Revolver Loan are subject to a borrowing base equal to the lesser of (a) $5.0 million or (b) the sum of (i)80% of the net outstanding amount of Base Accounts, plus (ii) the lesser of (x) 25% of Eligible Raw Material Inventory, and (y) $250,000, plus (iii) 80% of the Appraised Value of the Eligible Equipment, as such terms are defined in the Loan Agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company agrees to pay to Berkshire Bank, as consideration for Berkshire Bank’s agreement to make the Revolver Loan available, a nonrefundable Revolver Loan fee equal to 0.25% per annum (computed based on a year of 360 days and actual days elapsed) on the difference between the amount of: (a) $5.0 million, and (b) the average daily outstanding balance of the Revolver Loan during the quarterly period then ended. All Revolver Loan fees are payable quarterly in arrears on the first day of each January, April, July and October and on the Revolver Maturity Date, or upon acceleration of the Revolver Loan, if earlier.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Under the amended promissory note for the Revolver Loan, the Company can elect to pay interest at the Term SOFR-based rate or an Adjusted Prime Rate, each as defined in the agreement. Interest-only payments on advances made under the Revolver Loan will continue to be payable monthly in arrears. The prior LIBOR-based rate expired on December 20, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">There was approximately $1.9 million outstanding under the Revolver Loan at September 30, 2023. Interest paid and accrued under the Revolver Loan was $83,182 for the six months ended September 30, 2023. The weighted average interest rate for the first six months of fiscal 2024 was 7.46%. Unused borrowing capacity at September 30, 2023 and March 31, 2023 was approximately $3.1 million and $4.2 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Unamortized debt issue costs at September 30, 2023 and March 31, 2023 were $71,292 and $101,230, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Berkshire Loan Covenants</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">For purposes of this discussion, Ranor and Stadco are referred to together as the “Borrowers”. The Ranor Term Loan, the Stadco Term Loan and the Revolver Loan, or together, the “Berkshire Loans”, may be accelerated upon the occurrence of an event of default as defined in the Loan Agreement. Upon the occurrence and during the continuance of certain default events, at the option of Berkshire Bank, or automatically without notice or any other action upon the occurrence of certain other events specified in the Loan Agreement, the unpaid principal amount of the Berkshire Loans together with accrued interest and all other obligations owing by the Borrowers to Berkshire Bank would become immediately due and payable without presentment, demand, protest, or further notice of any kind.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company agreed to maintain compliance with certain financial covenants under the Loan Agreement. Namely, the Borrowers agree to maintain the ratio of the Cash Flow of TechPrecision-to-the Total Debt Service of TechPrecision of not less than 1.20 to 1.00 (except for the fiscal quarter ended December 31, 2022, in which case such ratio of Cash Flow to Total Debt Service was to be not less than 1.10 to 1.00), measured quarterly on the last day of each fiscal quarter, or annual period of TechPrecision on a trailing 12-month basis, commencing with the fiscal quarter ending as of September 30, 2021. Calculations will be based on the audited (year-end) and unaudited (quarterly) consolidated financial statements of TechPrecision. Quarterly tests will be measured based on the financial statements included in the Company’s quarterly reports on Form 10-Q within 60 days of the end of each quarter, and annual tests will be measured based on the financial statements included in the Company’s annual reports on Form 10-K within 120 days after the end of each fiscal annual period. Cash Flow means an amount, without duplication, equal to the sum of net income of TechPrecision plus (i) interest expense, plus (ii) taxes, plus (iii) depreciation and amortization, plus (iv) stock based compensation expense taken by TechPrecision, plus (v) non-cash losses and charges and one time or non-recurring expenses at Berkshire Bank’s discretion, less (vi) the amount of cash distributions, if any, made to stockholders or owners of TechPrecision, less (vii) cash taxes paid by the TechPrecision, all as determined in accordance with U.S. GAAP. “Total Debt Service” means an amount, without duplication, equal to the sum of (i) all amounts of cash </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">interest paid on liabilities, obligations, and reserves of TechPrecision paid by TechPrecision, (ii) all amounts paid by TechPrecision in connection with current maturities of long-term debt and preferred dividends, and (iii) all payments on account of capitalized leases, all as determined in accordance with U.S. GAAP.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Borrowers agree to cause their Balance Sheet Leverage to be less than or equal 2.50 to 1.00. For purposes of this covenant, “Balance Sheet Leverage” means, at any date of determination, the ratio of Borrowers’ (a) Total Liabilities, less Subordinated Debt, to (b) Net Worth, plus Subordinated Debt.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Borrowers agree that their combined annual capital expenditures shall not exceed $1.5 million, subject to certain agreed-upon exclusions. Compliance is tested annually.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Borrowers agree to maintain a Loan-to-Value Ratio of not greater than 0.75 to 1.00. “Loan-to-Value Ratio” means the ratio of (a) the sum of the outstanding balance of the Ranor Term Loan and the Stadco Term Loan to (b) the fair market value of the property pledged as collateral for the loan, as determined by an appraisal obtained from time to time by Berkshire Bank, but not more frequently than one time during each 365 day period (provided that Berkshire Bank may obtain an appraisal at any time after either the Ranor Term Loan or the Stadco Term Loan has been accelerated), which appraisals shall be at the expense of the Borrowers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On June 12, 2023, the Company and Berkshire Bank executed a waiver under which Berkshire Bank waived the Company’s noncompliance with the capital expenditure limit on March 31, 2023. The waiver document also contains an agreement by the parties to exclude from the calculation of capital expenditures for purposes of the Loan Agreement during the year ending March 31, 2024 any such expenditures made by the Company to the extent they are made using funds provided by customers of the Company for the purpose of making such capital expenditures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company was not in compliance with the debt service coverage ratio covenant at September 30, 2023 and has requested a waiver from Berkshire Bank, the lender. Also, it is probable that the Company will not be in compliance with the debt covenants at subsequent measurement dates. As such, all of our long-term debt has been classified as current in our condensed consolidated balance sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Collateral securing all the above obligations comprises all personal and real property of the Company, including cash, accounts receivable, inventories, equipment, and financial assets. The carrying value of short and long-term borrowings approximates their fair value. The Company’s short-term and long-term debt is all privately held with no public market for this debt and is considered to be Level 3 under the fair value hierarchy.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">Long-term debt included the following as of:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stadco Term Loan, at 3.79% interest, due August 2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,919,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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 0.05pt 0pt;"> 3,186,495</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ranor Term Loan, at 6.05% interest, due December 2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,246,920</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 3pt 0.05pt 0pt;"> 2,276,518</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ranor Revolver Loan, at 7.69% interest, due December 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;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 0.05pt 0pt;"> 1,900,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;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 0.05pt 0pt;"> 650,000</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,066,632</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 6,113,013</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: debt issue costs unamortized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;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 0.05pt 0pt;"> 108,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;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 0.05pt 0pt;"> 145,712</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total debt, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td 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:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,958,395</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</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 0.05pt 0pt;"> 5,967,301</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: Current portion of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;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 0.05pt 0pt;"> 6,958,395</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;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 0.05pt 0pt;"> 1,218,162</p></td></tr><tr><td style="vertical-align:bottom;width:71.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total long-term debt, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0.05pt 0pt;"> 4,749,139</p></td></tr></table> 0.0379 2919712 3186495 0.0605 2246920 2276518 0.0769 1900000 650000 7066632 6113013 108237 145712 6958395 5967301 6958395 1218162 4749139 4000000.0 2850000 4000000.0 P7Y 0.0225 54390 36945 44482 2850000 19260 0.0521 0.0521 0.0605 19260 16601 1.2 1.1 5000000.0 5000000.0 0.80 0.25 250000 0.80 0.0025 5000000.0 1900000 83182 0.0746 3100000 4200000 71292 101230 1.20 1.00 1.10 1.00 2.50 1.00 1500000 0.75 1.00 P365D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">NOTE 12 - OTHER NONCURRENT LIABILITIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Under an addendum to a contract purchase order, one of our customers agreed to reimburse the Company for the cost of certain new equipment. Payments are received as the Company’s incurs construction costs. We received the first payment in January 2022, with additional payments received during fiscal 2023 and the six months ended September 30, 2023. In case of a contract breach, at the time of the breach, the customer may claw back the funds based on a prorated ten-year straight-line annual declining balance recovery period. This liability amount was included in the Company’s balance sheet as a noncurrent liability as of September 30, 2023 and March 31, 2023 for $3.1 million and $1.2 million, respectively. In September 2023, the Company agreed to and signed another addendum for additional equipment upgrades.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Stadco entered into the Payment Agreement with the Department of Water and Power of the City of Los Angeles (the “LADWP”) to settle previously outstanding amounts for water, water service, electric energy and/or electric service in the aggregate amount of $1,770,201 that were delinquent and unpaid. Under the Payment Agreement, Stadco will make monthly installment payments on the unpaid balance beginning on December 15, 2022, in an aggregate amount of $18,439 per month until the earlier of November 15, 2030, or the amount due is paid in full. Late payments under the Payment Agreement accrue a late payment charge equal to an 18% annual rate on the unpaid balance. This liability amount was included in the Company’s balance sheet as a current and noncurrent liability as of September 30, 2023 and March 31, 2023 for $0.2 million and $1.4 million, and $0.2 million, and $1.5 million, respectively.</p> 3100000 1200000 1770201 18439 18 200000 1400000 200000 1500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">NOTE 13 – LEASES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 25, 2021, Stadco became party to an amended building and property operating lease and recorded a right of use asset and liability of $6.6 million. Monthly base rent for the property is $82,998 per month. The term of the lease will expire on June 30, 2030, and the lessee has no right of renewal beyond the expiration date. The lease contains customary default provisions allowing the landlord to terminate the lease if the lessee fails to remedy a breach of its obligations under the lease within the period specified in the lease, or upon certain events of bankruptcy or seizure or attachment of the lessee’s assets or interest in the lease. The lease also contains other customary provisions for real property leases of this type.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table lists our right-of-use assets and liabilities on our condensed consolidated balance sheets at:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.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:normal;width:10.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:normal;width:0.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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 style="height:9.45pt;"><td style="vertical-align:bottom;width:70.84%;margin:0pt;padding:0pt;"><div style="height:9.45pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><div style="height:9.45pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></div></div></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><div style="height:9.45pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;margin:0pt;padding:0pt;"><div style="height:9.45pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></div></div></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:14.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><div style="height:9.45pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Finance lease:</i></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;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:normal;width:1.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:normal;width:10.96%;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:normal;width:0.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:70.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset – operating lease</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.96%;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,629,396</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:12.5%;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,629,396</p></td></tr><tr><td style="vertical-align:bottom;width:70.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset – finance leases</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.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:normal;width:10.96%;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;"> 65,016</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:12.5%;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;"> 65,016</p></td></tr><tr><td style="vertical-align:bottom;width:70.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.53%;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:normal;width:10.96%;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;"> (1,372,294)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;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:normal;width:12.5%;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;"> (1,033,474)</p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:70.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset, net</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.53%;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:normal;width:10.96%;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,322,118</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;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:normal;width:12.5%;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,660,938</p></td></tr><tr><td style="vertical-align:bottom;width:70.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liability – operating lease</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.96%;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,475,993</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:12.5%;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,819,365</p></td></tr><tr><td style="vertical-align:bottom;width:70.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liability – finance leases</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.53%;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:normal;width:10.96%;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;"> 25,785</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;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:normal;width:12.5%;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;"> 36,336</p></td></tr><tr><td style="vertical-align:bottom;width:70.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liability</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.53%;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:normal;width:10.96%;border-bottom:3px double #000000;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,501,778</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;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:normal;width:12.5%;border-bottom:3px double #000000;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,855,701</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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Other supplemental information regarding our leases is contained in the following tables:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Components of lease expense for the six months ended:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;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.38%;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;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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.38%;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;">September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.47%;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.91%;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;"> 330,130</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.91%;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;"> 317,529</p></td></tr><tr><td style="vertical-align:bottom;width:71.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.47%;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.91%;border-bottom:3px double #000000;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,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.91%;border-bottom:3px double #000000;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,411</p></td></tr><tr><td style="vertical-align:bottom;width:71.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.47%;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.91%;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;"> 496</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.91%;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;"> 544</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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:1.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:12.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:12.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:20pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Weighted average lease term and discount rate at:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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;">September 30, 2023</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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;">September 30, 2022</b></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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:70.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease term (years) – operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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:12.38%;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;"> 6.75</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:12.38%;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.75</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></tr><tr><td style="vertical-align:bottom;width:70.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease term (years) – finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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.15</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:12.38%;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.66</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></tr><tr><td style="vertical-align:bottom;width:70.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease rate – operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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.5</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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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.5</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;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease rate – finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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.5</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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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.7</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;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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.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:1.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:10.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.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:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="vertical-align:bottom;width:70.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Supplemental cash flow information related to leases for the six months ended:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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.38%;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;">September 30, 2023</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;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.34%;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;">September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash used in operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;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.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;"> 469,401</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:2.39%;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.94%;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;"> 386,786</p></td></tr><tr><td style="vertical-align:bottom;width:70.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash used in financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;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.82%;border-bottom:3px double #000000;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,552</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:2.39%;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.94%;border-bottom:3px double #000000;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,820</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Maturities of lease liabilities at September 30, 2023 for the next five years and thereafter:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;background:#ffff00;">​</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:83.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:2.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:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:12.36%;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;"> 950,791</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 948,701</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;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.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:12.36%;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;"> 943,751</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 938,802</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;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.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;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;"> 938,802</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:12.36%;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,642,902</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:12.36%;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;"> 6,363,749</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:12.36%;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;"> 861,971</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:12.36%;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,501,778</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;background:#ffff00;">​</span></p> 6600000 82998 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.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:normal;width:10.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:normal;width:0.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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 style="height:9.45pt;"><td style="vertical-align:bottom;width:70.84%;margin:0pt;padding:0pt;"><div style="height:9.45pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><div style="height:9.45pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></div></div></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><div style="height:9.45pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;margin:0pt;padding:0pt;"><div style="height:9.45pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></div></div></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:14.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><div style="height:9.45pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2023</b></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Finance lease:</i></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;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:normal;width:1.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:normal;width:10.96%;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:normal;width:0.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:70.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset – operating lease</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.96%;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,629,396</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:12.5%;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,629,396</p></td></tr><tr><td style="vertical-align:bottom;width:70.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset – finance leases</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.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:normal;width:10.96%;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;"> 65,016</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:12.5%;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;"> 65,016</p></td></tr><tr><td style="vertical-align:bottom;width:70.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.53%;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:normal;width:10.96%;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;"> (1,372,294)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;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:normal;width:12.5%;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;"> (1,033,474)</p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:70.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right of use asset, net</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.53%;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:normal;width:10.96%;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,322,118</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;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:normal;width:12.5%;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,660,938</p></td></tr><tr><td style="vertical-align:bottom;width:70.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liability – operating lease</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.96%;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,475,993</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:12.5%;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,819,365</p></td></tr><tr><td style="vertical-align:bottom;width:70.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liability – finance leases</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.53%;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:normal;width:10.96%;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;"> 25,785</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;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:normal;width:12.5%;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;"> 36,336</p></td></tr><tr><td style="vertical-align:bottom;width:70.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liability</p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.53%;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:normal;width:10.96%;border-bottom:3px double #000000;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,501,778</p></td><td style="vertical-align:bottom;white-space:normal;width:0.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.65%;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:normal;width:12.5%;border-bottom:3px double #000000;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,855,701</p></td></tr></table> 6629396 6629396 65016 65016 1372294 1033474 5322118 5660938 5475993 5819365 25785 36336 5501778 5855701 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Components of lease expense for the six months ended:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;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.38%;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;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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.38%;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;">September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.47%;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.91%;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;"> 330,130</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.91%;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;"> 317,529</p></td></tr><tr><td style="vertical-align:bottom;width:71.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.47%;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.91%;border-bottom:3px double #000000;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,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.91%;border-bottom:3px double #000000;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,411</p></td></tr><tr><td style="vertical-align:bottom;width:71.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.47%;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.91%;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;"> 496</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.91%;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;"> 544</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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:1.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:12.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:12.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:20pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Weighted average lease term and discount rate at:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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;">September 30, 2023</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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;">September 30, 2022</b></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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:70.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease term (years) – operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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:12.38%;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;"> 6.75</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:12.38%;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.75</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></tr><tr><td style="vertical-align:bottom;width:70.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease term (years) – finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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.15</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:12.38%;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.66</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></tr><tr><td style="vertical-align:bottom;width:70.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease rate – operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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.5</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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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.5</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;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease rate – finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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.5</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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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.7</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;">%</p></td></tr></table> 330130 317529 8690 11411 496 544 P6Y9M P7Y9M P2Y1M24D P2Y7M28D 0.045 0.045 0.045 0.037 <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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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.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:1.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:10.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.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:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="vertical-align:bottom;width:70.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><i style="font-style:italic;">Supplemental cash flow information related to leases for the six months ended:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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.38%;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;">September 30, 2023</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;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.34%;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;">September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash used in operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;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.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;"> 469,401</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:2.39%;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.94%;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;"> 386,786</p></td></tr><tr><td style="vertical-align:bottom;width:70.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash used in financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;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.82%;border-bottom:3px double #000000;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,552</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:2.39%;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.94%;border-bottom:3px double #000000;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,820</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 469401 386786 10552 25820 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;background:#ffff00;">​</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:83.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:2.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:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:12.36%;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;"> 950,791</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 948,701</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;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.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:12.36%;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;"> 943,751</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 938,802</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;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.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;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;"> 938,802</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:12.36%;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,642,902</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:12.36%;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;"> 6,363,749</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:12.36%;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;"> 861,971</p></td></tr><tr><td style="vertical-align:bottom;width:83.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:12.36%;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,501,778</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;background:#ffff00;">​</span></p> 950791 948701 943751 938802 938802 1642902 6363749 -861971 5501778 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">NOTE 14 – COMMITMENTS AND CONTINGENCIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Employment Agreements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">We have employment agreements with each of our executive officers. Such agreements provide for minimum salary levels, adjustable annually, and incentive bonuses that are payable if specified company goals are attained. The aggregate commitment at September 30, 2023 for future executive salaries and bonus was approximately $0.7 million. The aggregate commitment at September 30, 2023 for accrued payroll, vacation and holiday pay was approximately $1.0 million for the remainder of our employees.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Retirement Benefits</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Ranor has a defined contribution and savings plan that covers substantially all Ranor employees who have completed 90 days of service. Ranor retains the option to match employee contributions. For the three and six months ended September 30, 2023, the Company contributed $21,543 and $42,997, respectively, and for the three and six months ended September 30, 2022, the Company contributed $22,123 and $44,122, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Legal Proceeding</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On or about July 21, 2023, pursuant to the Labor Code Private Attorneys General Act of 2004, a former employee of Stadco provided notice on behalf of himself and of all individuals currently and formerly employed in California as non-exempt or hourly paid employees, or the plaintiffs, against Stadco, a California corporation, to recover alleged unpaid wages, damages, and attorney’s fees for certain violations of the California Labor Code. Stadco has retained outside legal counsel to defend this action. The claim is in early stage of discovery and the amount of any loss cannot be reasonably estimated at this date.</p> 700000 1000000.0 21543 21543 42997 22123 44122 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">NOTE 15 – SEGMENT INFORMATION</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has two wholly owned subsidiaries, Ranor and Stadco, that are reportable segments. The accounting policies of the segments are the same as those described in the summary of significant accounting policies. All of the Company’s operations, assets, and customers are located in the U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Each reportable segment focuses on the manufacture and assembly of specific components, primarily for defense, aerospace and other precision industrial customers. However, both segments have separate operating, engineering, and sales teams. The Chief Operating Decision Maker, or “CODM”, evaluates the performance of our segments based upon, among other things, segment net sales and operating profit. Segment operating profit excludes general corporate costs. Corporate costs include executive and director compensation, stock-based compensation, and other corporate and administrative expenses not allocated to the segments. The segment operating profit metric is what the CODM uses in evaluating our results of operations and the financial measure that provides insight into our overall performance and financial position. The following table provides summarized financial information for our segments:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-weight:bold;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:54.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:1.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: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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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: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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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: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:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:0.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:54.2%;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.58%;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="5" style="vertical-align:bottom;white-space:nowrap;width:20.43%;margin:0pt;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.58%;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="5" style="vertical-align:bottom;white-space:nowrap;width:22.19%;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:54.2%;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.58%;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="5" style="vertical-align:bottom;white-space:nowrap;width:20.43%;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;">September 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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="5" style="vertical-align:bottom;white-space:nowrap;width:22.19%;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;">September 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;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.58%;margin:0pt;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:9.42%;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:1.58%;margin:0pt;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:9.42%;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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;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:10.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;">2023</b></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: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:10.3%;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;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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,495,747</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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,933,653</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:9.35%;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,994,844</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:0.95%;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.35%;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;"> 9,659,584</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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;"> 3,606,014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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;"> 3,588,994</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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,573,147</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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,939,420</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment elimination</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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;"> (131,675)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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.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:0.94%;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:9.35%;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;"> (226,665)</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:0.95%;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:9.35%;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:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Net sales from external customers</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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;"> 7,970,086</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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,522,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.35%;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;"> 15,341,326</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;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.35%;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;"> 15,599,004</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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;"> 672,601</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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;"> 1,556,110</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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,547,204</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:0.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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,993,666</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (322,741)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (755,299)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,227,265)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,214,090)</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate and unallocated <i style="font-style:italic;">(1)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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;"> (947,213)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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;"> (888,234)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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:9.35%;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;"> (1,497,092)</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:0.95%;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:9.35%;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;"> (1,425,008)</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Total operating loss</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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;"> (597,353)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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;"> (87,423)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.35%;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;"> (1,177,153)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;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.35%;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;"> (645,432)</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">ERTC refundable credits </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 624,045</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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.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:0.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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;"> 624,045</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 40,875</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 73,561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,876</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,336</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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:8.48%;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;"> (148,553)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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:8.48%;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;"> (83,730)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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:9.35%;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;"> (242,639)</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:0.95%;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:9.35%;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;"> (167,375)</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Consolidated (loss) income before income taxes </i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (705,031)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 526,453</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.35%;border-bottom: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,378,916)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;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.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (148,426)</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Depreciation and amortization:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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:1.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:0.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:8.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:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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.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:0.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.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:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 263,206</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;margin:0pt;padding:0pt;"><p 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 264,143</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;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:9.35%;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;"> 864,853</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:0.95%;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:9.35%;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;"> 852,459</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Totals</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;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.35%;border-bottom:3px double #000000;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,128,059</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;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.35%;border-bottom:3px double #000000;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,116,602</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Capital expenditures</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.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:9.35%;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.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:0.95%;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.35%;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:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.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:9.35%;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,654,407</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;margin:0pt;padding:0pt;"><p 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 99,836</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;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:9.35%;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;"> 4,530</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:0.95%;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:9.35%;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;"> 399,505</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Totals</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;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.35%;border-bottom:3px double #000000;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,658,937</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;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.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 499,341</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></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="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Corporate general costs include executive and director compensation, and other corporate administrative expenses not allocated to the segments. Prior period segment data is revised to reflect current period updates to unallocated corporate administrative expense.</i></td></tr></table><div style="margin-top:12pt;"></div> 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-weight:bold;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:54.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:1.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: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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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: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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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: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:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:0.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:54.2%;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.58%;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="5" style="vertical-align:bottom;white-space:nowrap;width:20.43%;margin:0pt;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.58%;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="5" style="vertical-align:bottom;white-space:nowrap;width:22.19%;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:54.2%;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.58%;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="5" style="vertical-align:bottom;white-space:nowrap;width:20.43%;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;">September 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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="5" style="vertical-align:bottom;white-space:nowrap;width:22.19%;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;">September 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;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.58%;margin:0pt;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:9.42%;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:1.58%;margin:0pt;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:9.42%;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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;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:10.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;">2023</b></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: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:10.3%;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;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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,495,747</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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,933,653</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:9.35%;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,994,844</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:0.95%;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.35%;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;"> 9,659,584</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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;"> 3,606,014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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;"> 3,588,994</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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,573,147</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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,939,420</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment elimination</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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;"> (131,675)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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.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:0.94%;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:9.35%;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;"> (226,665)</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:0.95%;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:9.35%;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:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Net sales from external customers</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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;"> 7,970,086</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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,522,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.35%;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;"> 15,341,326</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;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.35%;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;"> 15,599,004</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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;"> 672,601</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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;"> 1,556,110</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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,547,204</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:0.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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,993,666</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (322,741)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (755,299)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,227,265)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,214,090)</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate and unallocated <i style="font-style:italic;">(1)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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;"> (947,213)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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;"> (888,234)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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:9.35%;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;"> (1,497,092)</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:0.95%;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:9.35%;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;"> (1,425,008)</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Total operating loss</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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;"> (597,353)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;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;"> (87,423)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.35%;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;"> (1,177,153)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;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.35%;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;"> (645,432)</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">ERTC refundable credits </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 624,045</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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.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:0.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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;"> 624,045</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 40,875</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 73,561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,876</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,336</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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:8.48%;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;"> (148,553)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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:8.48%;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;"> (83,730)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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:9.35%;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;"> (242,639)</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:0.95%;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:9.35%;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;"> (167,375)</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Consolidated (loss) income before income taxes </i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (705,031)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 526,453</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;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.35%;border-bottom: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,378,916)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;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.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (148,426)</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Depreciation and amortization:</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.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:8.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:1.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:0.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:8.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:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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.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:0.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.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:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 263,206</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;margin:0pt;padding:0pt;"><p 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 264,143</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;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:9.35%;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;"> 864,853</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:0.95%;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:9.35%;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;"> 852,459</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Totals</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;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.35%;border-bottom:3px double #000000;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,128,059</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;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.35%;border-bottom:3px double #000000;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,116,602</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Capital expenditures</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.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:9.35%;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.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:0.95%;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.35%;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:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ranor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.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:9.35%;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,654,407</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;margin:0pt;padding:0pt;"><p 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 99,836</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stadco</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;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:9.35%;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;"> 4,530</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:0.95%;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:9.35%;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;"> 399,505</p></td></tr><tr><td style="vertical-align:bottom;width:54.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Totals</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.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:0.94%;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.35%;border-bottom:3px double #000000;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,658,937</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;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.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 499,341</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></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="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Corporate general costs include executive and director compensation, and other corporate administrative expenses not allocated to the segments. Prior period segment data is revised to reflect current period updates to unallocated corporate administrative expense.</i></td></tr></table><div style="margin-top:12pt;"></div> 4495747 4933653 8994844 9659584 3606014 3588994 6573147 5939420 -131675 -226665 7970086 8522647 15341326 15599004 672601 1556110 1547204 2993666 -322741 -755299 -1227265 -2214090 -947213 -888234 -1497092 -1425008 -597353 -87423 -1177153 -645432 624045 624045 40875 73561 40876 40336 -148553 -83730 -242639 -167375 -705031 526453 -1378916 -148426 263206 264143 864853 852459 1128059 1116602 2654407 99836 4530 399505 2658937 499341 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">NOTE 16 – SUBSEQUENT EVENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On October 11, 2023, we granted a total of 25,000 shares of restricted stock under the 2016 Plan to the board of directors. The stock-based compensation expense for service-based restricted stock will be measured at fair value on the date of grant based on the number of shares expected to vest and the quoted market price of the Company’s common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On October 30, 2023, the Company and one of its employees were named as defendants in an action alleging individual claims of discrimination and wage and hour violations, along with representative wage and hour claims brought pursuant to the Labor Code Private Attorneys General Act of 2004 (“PAGA”) in the Superior Court of the State of California of the County of Los Angeles – Central District. In the complaint, captioned <i style="font-style:italic;">Ibarra v. Stadco</i> (23ST- CV-26591), a former employee of Stadco, seeks to recover alleged damages, unpaid wages, penalties, and attorney’s fees on behalf of himself. In addition, the former employee seeks to recover PAGA penalties going back one year, along with his attorney’s fees, on behalf of all individuals currently and formerly employed by the Company’s Stadco subsidiary in California as non-exempt or hourly paid employees, for certain violations of the California Labor Code. Stadco has retained outside legal counsel to defend this action. The claim is in early stage of discovery and the amount of any loss cannot be reasonably estimated at this date.</p> 25000 EXCEL 69 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( #2%=%<'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 " TA7179L%E^.X K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M2L0P$(=?17)OITD7#Z';B^))07!!\1:2V=U@\X=DI-VWMXV[740?P&-F?OGF M&YA.1ZE#PN<4(B:RF&\F-_@L==RR(U&4 %D?T:E621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M #2%=%?$DX"-P04 / > 8 >&PO=V]R:W-H965T&UL MM9GA;^(V&,;_%8M-TR:5DCA0Z(TBT;3=JEU[7.EVNGUS$P/1)7%F.]#^]WN= M0-)VS@N+CB^0A#P/_MF._<0>;X3\IE:<:_*BI8\82I4Y'Q M%'Y9")DP#:=RV5.9Y"PL1$G=!Q3(A[S0!L+!E]K[O,X-DY0CG^VIIWJ M/XWP]?'._:: !Y@GIK@OXB]1J%<7G5&'A'S!\E@_B,WO? LT,'Z!B%7Q23;E MO?U^AP2YTB+9BJ$$2926W^QY6Q&O!;1!0+<"^D[@-OV#MQ5X!6A9L@+KBFDV M&4NQ(=+<#6[FH*B;0@TT46J:<:XE_!J!3D^N1)!#JVC"TI!8N42LFN1KW-/R;T?2"K?-EZ4P;G,_(G4CU2H%KR,.W^AZ4LBHJW17UDJ*& MNYJS55AIV+<;F@?V@\I8 MP"\Z\$0J+M>\,_GI!_?,^=5&^YW,WK#W*_8^YEZS/[YDW$:*RUVG^]F&A*I: M(@TJI,%A2)]S)C67\0MYX)F0VH:'6VF9VRK%1U4M\1 5$[(O)/2%IH'+1ZU: I]7P.>' -]$ M,2?W>?+$I0T6]W '(!H=*6\*Y3CW_.H?@W:9!W00G9*ZAZQ(AH6'R M5,L7^ ZMC;S'_>K:1HR+VB*_BASN(6O/20WBG80CNZF1W0#["?>13:F]7W-(ED,!C1JXDA& K,JIO MBUQG(Q>-'_]!]LT9=.='L;$FHSUV7[C2$'Z5MG8.'U>WA:W#D(O'F?>PU<,[ MDV(=I8&]@7'/NZD5]!@)R:TCDHL'F_>@,Z$TB\G?4=8\/N&.CML?6J=87->6 MM$Y++AYQBOXZA??B9C#LY5(L;ETC\EHV(?! M]MRU\ATC&KEU-G+WA)I(0TH0"^+2GY]^(7,>Y!):T@J)._DB26!"FFL1?#LA M&9-DS>*(2K2.2A0/,[OF)-?/P8JE2]X8??<8W4_G5U/K&R@N;$M8)R-Z4#+R ME(AN4YC0RX4\\Z[&=N!6 M3MRQB?,8,8C6,8@>%(/,NPM$>4@%2R&MH]$>GWN1=ED0<+ !D[ TM/(>(PG1 M.@G1@Y+0/&%Q3"YS!3\K>Z_%?9I64'!96[PZ_]"#\L]UPN72/)6_@8->041( M,I;:VQ4W;%Q)P75M0>OX0_'TLFO'%;QDH'@M%XIP75N\.@91/,'LAMDW<_R\ M6.<>CH^$YM2(<(^O0.NM0/*KLILJ;2)EH^Y5#4L.6 M_O;8=;N.U_6LT197M@3UZO#C[5G)V:UOOB:]@8O6\76/&75HW[JG<(SXX]7Q MQ\/#RGO&[5)N,R5N]]G:87%16\8Z^GAX4)D"8%A"QLPZQ.PQ:!Q4<=W_!>N] MVE,T\UVQU:I(8-8CR^W%ZFJUG3LM-C%[]>WE7O =,].E(C%?@-0Y'<)X)\OM MU?)$BZS8H7P26HND.%QQ%G)I;H#?%T+HW8GY@VJ3>_(O4$L#!!0 ( #2% M=%>!J"]UAP8 $@: 8 >&PO=V]R:W-H965T&ULK5G; M;MLX$/T5PEOLMH =BQ?=TL1 ZF31 FD:U.WVF9'I6*@DNA*5RW[]#F5'LD6* M2;$!G%BRAZ,SU,R<,_+)O2Q_5FLA%'K(LZ(Z':V5VAQ/IU6R%CFOCN1&%/#- M2I8Y5W!:WDZK32GXLEF49U/B><$TYVDQFITTGUV7LQ-9JRPMQ'6)JCK/>?GX M063R_G2$1T\??$UOUTI_,)V=;/BM6 CU?7-=PMFT];),?EJE=H:O.F#9F^:U1!-6NC;N% E?)O".C6;?[DZO[A:7)PC.%I\N?QT M?O8-3CZ<79Y=S2_0XN/%Q;<%>EL7O%ZF2BS?H0GZOCA';]^\.YDJ *#=3)/= MQ3YL+T8&+K80FR-$O3$B'J&6Y7/W\L^\A.78MGP*8;>QDS9VTOBC0['792D* MA7A5"54=V^+9.F!V![K$CJL-3\3I"&JH$N6=&,W^_ ,'WGM;=*_D["!6VL9* M7=YG=WO$,@J]L46]=!8TKW0?N9IA&Q M.IG?[\9AF/F4L M9*W9 5+6(F5.I&=)(FL !DTB$8#R)A-C5 AE [KUY.\AH![Q0IT=!TA-.T)I MP")LA^JW4'WWILI"E="(=AED0^@;5XZ\. B\J(?08A>S,,(#"(,68>!$^)7? M0[=0HDQY9L47&-?%,?&]R._AL]@%,8E\8L<7MOA")[X?T.,G:3'9E#(1E15A M:.Y,$$2LOX&F68CCD 9V?%&++W+B^Z+6HH0^O-\H;" CX^HL" CK[Z)I1ED4 M1]0.,FY!QDZ0WZ3BV0M QN8]9#ZF(>[#M!I&'J6A'2CV.K;QG%"O2Q @I7H< MHTW&-5CH2+H9;4 9J,$RWSD] .2' 0O"L(?<9DECS#PRT)7P'E%B=REI03"1 MJTE=B>TF#^/%!@J?$H)Q/VEMAM <8AH-H.VH#3O99'8N5@+R88G2(I&Y0(H_ M"&M2[/P<]$;B,XI9'ZMIB&,*,0V4&.ZH";NY:5MDA2P.4WAX>ZF)A&#B]_GI M>;M#P!U#83=%;0MNN-"PA9?".(2N[_4A6BP#8+"0#31^W'$3]E^D;K*4WZ19 MJE)AESC8R7&_JW%>R]MAT!W=83??M>)APQ^UJ@<(T&8V$D1_1N _38NA3BO$.L\Z=.Z MQ1#Z8011#H#ON)&XN?%0@3R3+<0D/>Q#QOI&9ELL8]#W\5!FD[W)STV/ER_< MVM>=_TP&A6DIQGMQ'X;3,2AQ,^CE[Z0Z,6D1)@T/^T:^F(8^9C0>FO!(1Z#$ M3: &X[L!FR3)&(DB3/J +7->$,]+;)OASB6T.<82Q ,:IOC*Q M6>( 0R,)UO_=IF_DK?# MJ#O2)L^1=IX#?U0Z>#0!(52B.Y[5 KTY\D#C()B_4+7FI1AOWR!-:K669?JO M6!XCWQN#E?Y[CQ;;K].JTEI%)Y.L5:7@ !+J&$7CD(9CD$.(*[00&R7R&_#] M]'RO61"-(:O'S(NTS6=>)NN!!WB[&V'J@RCL#R(VHV! 0)!.0!"W@#A;+E-- MO%#F&Y[JN0DE?)-"V5N!VD;DF,"K/Y':+5D8W[]&PO4TVU: M5,#Y*UCJ'86P#>7V9XOMB9*;YLG_C51*YLWA6G" K@W@^Y4$ MB=Z!\3VA^/ M9O\!4$L#!!0 ( #2%=%==+[$8F ( %T' 8 >&PO=V]R:W-H965T M&ULK55M3]LP$/XK5C9-3&)U7MJ4L31223N!Q* B;/MLDFMC MX=B9[;1LOWYV$J+" @.)?FCN['N>>^X2GZ.=D+>J -#HKF1[62QL,]2TY+X(H*CB2L9\[<.TY" M&]\$_*"P4WLVLI7<"'%KG;-\YKA6$##(M&4@YK&%!!BS1$;&KX[3Z5-:X+Y] MS_ZUJ=W4B>7+!%/-/]JUL=//#LIJ MI479@8V"DO+V2>ZZ/NP!O/$3 +\#^"\%!!T@: IME35E+8@F<23%#DD;;=BL MT?2F09MJ*+=O,=72[%*#TW%R>;%87J3+!3)6>GE^MIA?&^=D?CZ_2)8H/5TN MKU-T4'-2YU1#_A$=K(@$K@O0-"/L(_J$WB.,5&%6582UT629<=;E/VGS^T_D M3Z$:H< ]1+[K!P/PY'GX-R(-W!N"8].)OAU^WPZ_X0O>JAU#%; Y]C@196F.FOD(L]M#5!&) MMH35@ XH1[E@C$B%*I#MRQ]L1D(G;_AXI?D'@ \V37O/D]9JI4O6PWLD_,HZF MP70<^(_D#L2%7C!VCX;5AKW:\/5JS5VA-.$YY9LAR>$+)0_$#4K&>\//7CQF M)&PH5XC!VB#=T=10R':8MXX653,/;X0VT[4Q"W/_@;0!9G\MA+YW[(CM;]3X M+U!+ P04 " TA7175$'>-[L% "(%P & 'AL+W=O7G96VF]ONCW MR_E*9E%YKM8R-V\6JL@B;6Z+9;]<%S**ZZ L[5.,>3^+DKPW'-3/'HKA0&UT MFN3RH4#E)LNBXL>U3-7+98_TWAX\)LN5KA[TAX-UM)13J;^N'PISUV^SQ$DF M\S)1.2KDXK)W12XF)*P":L1?B7PI]ZY1166FU/?JYB:^[.&J13*5FF]*K;(FV+0@2_+M?_3:"+$78/+ ;0)H': M=R2 -0'LO16\)L![;P6_":BI][?<:^'&D8Z&@T*]H*)"FVS51:U^'6WT2O)J MH$QU8=XF)DX/1_=WX\G==#)&YFIZ_^5F?/5D;J9/YN]V?T?W#Y/'J MZ<8 T,DFCS9QHF5\BL[0U^D8G?QZ.NAKTY0J87_>E+W>EJ5'RC)TJW*]*M$D MCV4,Q(^[XWE'?-](T.I WW2XIIT)IW)]CAC^A"BF#&C/Z/WA%*+S_ZI/_G/U M S%8.RA8G8]]_*" AL*VF <7JU;"BW(=S>5ESRQUI2R>96_XVR^$X]^A?OC( M9../3#;YH&0'/>:U/>9U91_>F4]*&:6RA/3?AO(ZM/IP/ ]%*# .^*#_O"^M MBPM\2KDG#G%C%T=\YA%&K803".B'(<9>"SQ@Z[=L_4ZV(U5JI!;'&6_#_;W" M/&0^%<1B#.!$0$/A6XQ='&&<4,:IQ1@"8H\2:$6!-B MXN)8M9!3"JL0M"H$G2I\J?I\4:@,&5]8L58Y.-H#I_R9'PKF,XLV@ N$1RW8 M&( 9RH+8^28 D'N^QX[0#EO:82?M>[V2!4KRN5*OF&VV"$!" M1AFA@:T!! PH/C8?=CZ1=!O%RA:?I'L# N3M.S;US*P9OY;;%@OYWX'-L;" !F4,Y:"B8CMI4^4O.8,CMK2;J]9;#YN#IFKD\R=^FW9]2W4;%,\A*E;]02K_=5 7:P_?A/U!+ P04 M" TA717_UL/X)H& !$* & 'AL+W=O)TPSZR$A,+U<.3Z#C]]Z-D MQ;)(BI8"#@ABR;X\O#R\O+Q'U&*?%]_*#2$4/*=)5EY.-I1NW\UF9;@A*2[? MYEN2L5\>\B+%E-T6C[-R6Q @ M( ^7DROX+D!>U:"V^"LF^_+D&E1#^9KGWZJ;3]'EQ*@\(@D):06!V<<369$D MJ9"8'_\VH)-CGU7#T^L7] _UX-E@ON*2K/+D[SBBF\O)? (B\H!W";W+]Q]) M,R"[P@OSI*S_@WUC:TQ N"MIGC:-F0=IG!T^\7-#Q$D#9/QJ8 M30.3:V#UN60U#2RN 31[&MA-@WKHL\/8:^)\3/%R4>1[4%36#*VZJ-FO6S.^ MXJP*E#4MV*\Q:T>7JYMK/[A>!SY@5^N;/S[Y5_?L9GW//CX'U_=K13$ET1LP!5_6/KCX\ M3JD5;:#E6(9IF5U#7S1T$+(=MVL62/!LY)BNTW;<&;=Y'+'%HN-.3C M=H_C=E^3[,YRX Y,=LK>Q\:(3K! $UB']?F1];FV9*=$&KMDY\*T68YM>EQ, MZNPR.-=EAT#O2*!WGD 0E^6.,AAZB3C. M,0V! <]B+AMAZW(_EJ M]T:3*>O5,HR^@&U%!U2KC@--^;:*R1*09U*$<94FSX4G$OQ!]JD[#5G*SD?' MITZT0!=:E_A6]4"U[!E4/ZHQQNY&6M%\* HPTS,\R^)*J?-V709;!0/5$N:D MAER3K;I^:J Z1:3#;T-0% K0\DP/>0Z_N"62 B+3P9?2L_ MH%I_]%22YYD0*WK&A.%YPMK5JC>TH@6ZT+KJV&@:\2,>>ID*@8!YJ6P:LY=?^C M0T^KCM&%UN6^53)0+66&;1M:18Q6-!^* F5J(]>R^2J! U1);NR48<4/X-]3#>;/*E.2*II>"G!I3.@ M4U.LD*@IIFPVH7 ^H%7)G.^U2^W)\8E:R=R1DA9Q6!WFE*WVD](H'F7P*@^) M^F:*>%ZTRA%=:%WV6CF"U')$SEZ;(Z3[#!)+>RA1@>JN1^<#K6C3$Z!6B564A4=ZQ>GYLF5T\$ PR['+;B"*G%4<\3(7DU.Q<+>U>(5]&( M%?:(_?$'UA++*;0@0KQE(,,T;?;G]B7"5MB@8<)&\4Q(SH4H-N:NZ5JF4!;I M/(/QM:(%NM .W,].7L"JWJ_[C(O'F*7$A#PP>..MR\@J#J^L'6YHOJW?R?J: M4YJG]>6&X(@4E0'[_2'/ZY^-HDIOAL23AQH]_SZ.TY2 HGCMD=454G" M>/+,>#S/C-W+YS3[)=>(!L2QWL&$BZ0TOBV?S;'B9[O)8)'R>(;G;;%CV^QN/T^>K M'NZ]/G@03^MNKGM]#$5^Q79P_I,]_\LH@1^D+TU@6?]%S)6OU M4+B3>;JI!@."C4C*3_92.>)H .C1#R#5 -(<8'<,H-4 6AA:(BO,NF8Y&UYF MZ3/*E#1H4Q>%;XK18(U(U#0N\@R^%3 N'XYGT^N;Z>+F&L'58G8WN1X]PLWB M$3[N;Z:/"S2[1>/1XD]T>S?[N4"?=@G;12+GT6?41]\7U^C3OS]?#G* HA0. MPNJUW\K7DH[7NN@^3?*U1#=)Q*/3\0,PX6 '>;7C&S$J7/#M5T2M+XA8A&KP MC-\_G!C@T(-;::&/=KFU]MCMP^P>S>8W#Z/'R?0/-!H_3GY,'B]X7_^A5WKOSJ;SZ3LQ /VP0.V2?MP"BDH3J74 M&5F.=(N1*L_LAWUL.8[G^Y>#_;$!.D$,,X0/42 MY2EDHS!-0A%SE%2@U5-U'3*Y1MLLW0N(4K3\C2!]9BP7R5.9?T0NN-3.HW/. M>3R3LA-?N0=?N<9YO.:@-!2L3+I)A-@FS7+Q=_% 9WFISCF:,XR);SE!8VYU MAK_ZBH@BP+P",KU4JP1V1$100M*WZ:6W0P(C1AQ7>+K$6.K9CCK MC0A>\2P#_XH$/,Q1SEZX-@PJ/2<(**&8--.25M GEM,!]8B,L1'J'U!W(9C\ M2,AM*EFL G@E7@ [DY+K@[=2>>I>BP9-]YI?_0^S"":U:>2=D;-B(D-[%L.* MA#*T""1(J)",U:6$3)MUYA;S.SZ:5BMMQYYSJ4W=CEFLN1^_0?Z%J5+9>L07 MQ006&306;"GB;N[ 9RT"SJ7MU!EU&8#-=< H#-.=(EI@$2[V;!EK8J;>PYHZ2GDZJ*1-J+[M68'5@*J1L['E=V1L4O,N,?-N&9X) M= %5A+Z%M\VY$*0!)2W ;<% B74D E+3*3'3Z?2]W8D6?IOX,'$\]Z@ZK.!K M!%U"H2SKP%]S)/E8@SR9_KA9O*=!)FSL=VU]FH2)F82GN^R< T=FU3E.:P_6'7Y[R]H&S/%;<#(_*^= MV*KM!:V5.I)U'3^@K=6GD;0A?=@=VQ^DIF-BIN-#]MC)HB^"WSV7[\D<&GXF M3N "JB9X'9-;'K7]#O(C-443_T.YXW8R'4W'[\D=1NK_<("=2=NI%^H2@)A+ M@.MW;&R857S88%VAX/MN1YE ZS*!FLN$![Y/XSTP<)RR1!5>Y=:<6DK+- -U M$)CRB]J1TVZ9MHL"8#,+?AHAJ1&$D(3ZO6O/B=8%!#47$/-7S$5&$$DHMM"] MJ_8VYJRC/J.:QEUM@S;K,YT<<7S24>K2NH:@YAKB@6^/8,=I\M2'+F)3;)EI M ;>K@3X)7.JW'*T1I%9W_T./MM6-A*PO>SY56>PST&4"_/EV&JO>QZ3L=6%:TYG;[1+G?A_8*6_$DDB9H%M1J@+TTCK1%M@G:H;7O- MXD4C!\N$8-K1E=*:R*F9R TV<'AJ1J_9OU9[@&X3?5N.4(=VL2"M.9QZ1A9< M?)_/[XHSNM$=NIXLQG>SQ?>'F^:!W61Z.WNX'SU.9E/]@9.Q4OCPB=.9M)WZ MI*X,J+EY+R9TRT14I%Z10#J#LJ9@#C6;;%.V]B';BIS%XN_FT6/E$K]U[$0L MF-S6XFK+8>I8K?)L<'0\N^'94W%J#2@4F/*$\_#T<#(^*LZ#&\^_X8MQ>;Y= MJRF/V^]9!FM. MNL0*7UU8-XR\H3[/(F3[?%(? RS?-T4URN.8MXI@3@^U6: MYJ\WZ@6'_R,8_A]02P,$% @ -(5T5[<4'_:U @ ;P4 !@ !X;"]W M;W)K@ M%6'CP[0/)KDT%HZ=V4Y;_OW.3JFZK? EOK/OGGONB<_]M=+/ID2TL*F$-(.@ MM+:^#$.3E5@QAJ;6R'*?5(DPCJ*+L&)- M%5SB0H-IJHKIEQ$*M1X$G>!UXYXO2^LVPJ1?LR6F:+_7"TU>N$/)>872<"5! M8S$(AIW+4<_%^X ?'-=FSP;7R9-2S\Z9Y8,@3<;SN\GT+IU.@*QT?C.;#!_(21]HN9W>/:0POX+Q M,+V&JYOY8PI'C61-SBWFQW"T8!JE+='RC(EC.(5QR;& *RZ9S#@3,"\*GJ'N MAY:HNH)AMJ4U:FG%;]#ZUH@SZ'1/(([B+IB2"IF_44)J=-=MO.LV]K#=-V G M6*#6F,-8572M#?,W8Z@UDTNDJV9)?5O"3.9\Q?.&B1.8;C)!#F9AD. M AHW@WJ%0?+Q0^0C6QL663"JRM%T/-X?54*J9'88UJ[,[% WKI2*KPS9IJJ$>3SA4F^. MDDFR7;B6>>'\PFAV6(N'U47(\^7JRZ\^' _]* MWMC>,WE/5EK?^Y=%=I2,/2$N.74>0>#G@>=*DN;?A/FWAVNIM0VEBGJ]88 M#"JIXJ_XU>K0,_@R?L-@VAI, ^]X46!Y*IR8'1J](>-/ \T_!%>#-+B[/E\G#D .Z/C-(6Z"0"3=\ VJSCQ\F^^.#=VCN=C1WWT/_&YKO UUW]6-X8VA2[+1](;!0O;K*S,I+_D6BAMXN5]]\/RL/5[>\CIG'$OP*0K M2#I+R(.,4[96&SN@0EA:,2LO08JBD*K1C24TTE8D*U7*-/EG;W](-X47L*J% M>O373#X?V*C/!BAI(50.HDZ_'2W"WP]ATH+VHTY!O>,F1_.@Z5ZHG\D@"#6/ M]X3[2G8^2)'\@P1!R"*40E12+Z;7VWPA<\88-@"%6>WF3]_D3@(;*6WP4"(WG3_V!%8Z$A\A%UZN@X8L,A:E'K4$76=!FN+^K+:([M@[?,^L0 MJ#G4E*YK Z_RXFY^WN7"ZW! ]DCW!85!=]7\_)5=SXQB#RO#H/# RV:3RY 1G;Q2'TVU@KHV%@#\JWW)A9Z"&JR-SIK4[^*"QL:6 M+.A!&,DNA )CV#T[Z%T;B6<)US'08.+B@"C8Z/"ABR);1C/+XK$G%D@%-!HC M18FL\CT9N=)UNL@LCC%L(A,9*^]62>\;0N#8]H-].UQN&^[P3]_346_8 6@> M1CJ?^HUR<>[I5KNI\3@.2T_'X\B)MIDC!:GD-4S'P\]["9DXQL47I^LP.JVT M@P?AL<#DR\8?P/Y::[=]\1=TL_3L/U!+ P04 " TA717-3[@.H0) "; M& & 'AL+W=OU%12 M!<8VY%&!4&4(R;"; !.3G<]MZ=KN1.K6=+V.%DZ_S4LB**Z+PL;WO06,5:O#PY"MJ!2A[ZKR.+-S/E21]SZ^4&H/.E< MF,KB8#08O#@HM;&]TQ-Y=N-/3UP="V/IQJM0EZ7VJS,JW/)-;]AK'WPR\T7D M!P>G)Y6>TX3BY^K&X^Z@DY*;DFPPSBI/LS>]\?#UV1'3"\%_#"W#QK5B3Z;. M?>6;R_Q-;\ &44%99 D:/W=T3D7!@F#&GXW,7J>2&3>O6^GOQ'?X,M6!SEWQ MA\GCXDWO54_E---U$3^YY6_4^/..M 5\\ M/1M/+B?J^IVZ^70QN;BZ'=]>7E^I\=5;-;E\?W7Y[O)\?'6KQN?GUY^O;B^O MWJN;ZP^7YY<7DY.#"/4LY"!K5)TE5:/OJ'JA/CH;%T%=V)SR;?X#F-W9/FIM M/QL]*G!"55\=#O;4:# Z?$3>81>+0Y%W^$_$(JDZVJV*6^UUJ'1&;WKHI4#^ MCGJGO_XR?#$X?L21H\Z1H\>D_W\=>5S5U?7MA1JI??6W=:HS'4Q0;J9N.!(V MZM2N-E?GS@97F#P]V5?.DKI=@$A9%RFHZ%134:#8XG%^=R-3S>4P!1]7NM?21?K-0G MJIR'3?"-$48-!_N_]]4Y^0@P5<8FR&V#D9N0%2[4"!+&D; S/D<- 20B0OUN3_IJ_?C\+AO"XVJNQM35H M4J0W _UOR06+G2&N(%F1]HH8F=1'[>'CX3 !"[)FBE:FE,#%.4OZ5XUJ'#Y/ M1'WU&9ZC1BY"-$@:L3%"?2,)2&G$^W>=W9.UW?OJ@_FS-@C:2L+SWAD[Y^K/ MR'/=CZ7\ '=@F)+O,&]/+0FYR]63P_X(TZ$H6 LK=A$:])TVA9X6I(I6_)Y$ MTM.%VSCGCR%GBWRVN9>+YD-6,;6XP'LX\A[ MNG/%'6X*IVV_<>%A9%OSC_HO_Z[YSW_&_*/M,/WOYJ.RN<4K;=%S01([=1ZP M#(K$Q(\^@%:-YYXDK^JI#KP@ #&YN+'^'*M I*Y0]&HX%'P8#H_56YK&9Z+" MHS'!\^3E1I2Q2*'";KS7I3@E(OBV,9##JD+%JI;AE6@#;M>S=P=X9I1(.XP6Y*T@%R/U%'@ M/M?08]CE.B/>50WB=*;MU[UD.#>MWU/3.@HOV[3"-NMA/C@AHJJ\0QTD M$9(Z,*-C.]\!QV6'\-N!V.L81+A$D!<]AL(<^[& 6:573-M7E[,-DYKW84T@ M+[OX(<&,>8!+KG'( Y50N&EAY@DQII3I&LBRR9@[2EX*:M-]TPXSE'"1)I/C MK7LV,YEAI=(+D+5@8QG!(3K,1%785 8 'Q?![2DCZ4?0ILFRA=YA.1L ZW=D MGTF#+@G^3^-VRD,]#9Q:6%62YEDF85X";Q;9="JGT.![;R=O;52/K(FRCR7/( NIW1'$[@"@O%&8.'$S"V[KT MQ,WVH#9QVN&]T; MVP6KFC3\ YWQ8 #0?54XS\+OM#<.;J.>TY88(HIM#A&67QL4?C>^5.6"Z18Z MU& M(AZFGGDD]>L(=$6 P"T,9FBIN^6O*3LN@F8LI@2$5&M2\DT'M%B)[DP3 MA5\VX5EQ<$!$8I.QB ?OVWA8.F1[*S-=0*4FL50R0(.REIT<;86XU^"MR#>9 MFM+*<9!W-O>Z*=HRQ"I=2T"^&2$/-DFH PJU",H[\D)[[.."#D9/V\3+4L [ M>FQ7Q62++-)X@PU7E$WK@((.00JTQ/D;@SAR&5"S%G H)7+)-UQA*0\D\,84 M6.ORS G2(>?:KP EC21J"R\M[EAV>5N.,/&O;C]D$6B5&B&.376TR\GW%*1& M*WG(I5K8YL?S3!P*3OASC$^ S8K)&S!CJNGQE98,YXQM.*DF;((*C>WYB]* M^0))3;FWLN*2> AX;M@T#OKBI0FCD[(($BO<5D%4* Z$B.(^LF^C2HH5. M8C"6#&'TS&3VPT3JB9OK M^^,I3-%-Z-IV38>="2 W,3GME4S,?F2L:(M@@W=[_&WT?)I^7AM4 U-@VXM< MZ;FK(0EIJE/B4S&OMCI,,][.78I+.BXT8Q2]NR]GF@<8_[,'YLT3)@2';\ZO M6\=7A;.F-"_E*1L_HZH]D05SWP)#.I#MV!1E G6'6V>;<=A\2?@F)H*9'#5" MV"7>,@5Y"#5K6 LAZ,J"BQZE0PW&K%%E$U%^A"#86.2\#3N*E104#R@93W,& M4: !]R'/ZOP+X"'%()G5GHMRCS=GY"6E8W)J$69.U<^931;WU?5VK;1# M;6L./$#&'Y24X7E4<2YXQ%=-M)MQ*,>8E\=AYQ[X< 5DH.#?M7ES^;;5@$O: M$:3A4YMW'9FJ:6?9-$%MIR%/Z&\B6LI>Y"G4Q<8*ALZ"T>V0"9O8(;/MBI:2 MQ-H*2DSX'*8]-OI/R(O ^#AW%=?S9?,]8#08ODC@\6X\.6LZ08TGG^7-_A!G MWO47@$LL1[YN/P&V^O(_3!^?ILCR/]G+?/@F9@'?1? M/N^E+;2]B:Z2S\]3%Z,KY7*!E9 \$^#]S.$\W-RP@N[_$:?_!5!+ P04 M" TA717(J&+=AH& %$@ &0 'AL+W=OXY4J#/59B$L'LUL5)5&BJQ66N0CSW&BT4*H8G!^6H_=F/-3O;2Y*N2-8=5R ML1!F?2ESO3H;N(/-P'LUFUL:&)V?EF(F;Z7]6-X8/(TZ*YE:R*)2NF!&3L\& M%^[)94#RM< G)5?5SCTC3\9:?Z&'U]G9P"% ,I<32Q8$+G?R2N8Y&0*,OUJ; M@VY*4MR]WUC_O?8=OHQ%):]T_EEE=GXV2 8LDU.QS.U[O?I#MOZ$9&^B\ZK^ M9:M&UO4';+*LK%ZTRD"P4$5S%?=M''84$N"O+(?,=SCS'\P_8\SO/_-J>_^.>-8K! M?D4J@Y.J%!-Y-D">5]+E*)8LYDLI!%65BB7.UDL)2N-0JVI?,VF1B]8*4U=Q\5$ M,CW.U4Q0:51L @.YM#)C2ZRFP7-A#0JF0C;:>9N'TE1,%+9IDI.@X_LLGO[Z%H[L@_:BKR"GX2NA22I/ABRV\K%&$YO4KRS?<1BGH8IC[QD9\QU>! F M?:'8X4X2?9=Y;TAZ/@IC=;N/Y'>#=D+M [_B[ M4[J)Q[TTZ(OY@QL5AS./8.YP1%R"5Z1[PO$="4XD!B4CB?14,7N(1#E)-8QVY"=#OU->22,9LJ;")&"QT'G>\>VP M1]_ROI3$N59CMHF>%>IOL&F>DV'BPT$N'K:3'8S^ ]);(W 0O+GM,E_(P<-!B:XW?\-?,$0?0 MCG=8H'JF(=I%/T843U61'8IYCSB% M/?G?F>G&Z)FAU'A,\&,!IW.X48HUCOWPK-X]'=YK> YW$_^KSO^+ZV%;%',W M"G[M[6><-.(1]CAOA,&*^^ZW6Y>4!]@KIV[0,^?P$/S@.G[?7(I=3N)V%;/O M=#C:.9J#PF;U!PA:,W!3B90I//Y12JSC .!\PT M'QV:!ZO+^J _UA9\6=_.IOM+2V>*%('4G%R?WZ#BE; MYP(^%R@0Q'SLS,XNR=%T:^R+JY@]O=5*NUE2>=]UD+J9#Z-:T]V/C6M5U+SDR77UK6P[S>LS':6#)/] MPF>YJ7Q82.?31FQXR?[/YLEBEO8LI:Q9.VDT65[/DNOAU OR1OW<&8 M0B4K8U["Y*Z<)5D0Q(H+'Q@$?EYYP4H%(LCXMN-,^I0!>#C>L_\6:T5?/I\!7&.7B?]IVL<-10D7KO*EW8"BHI>Y^ MQ=NN#P> R^PG@'P'R*/N+E%4^:OP8CZU9DLV1(,M#&*I$0UQ4H=#67J+70F< MG]\]+![O;^GY^N_;Y33U8 SK:;%#WW3H_"?H<[HWVE>.;G7)Y;_Q*93T*?*/_65Z''A]'AP=QY1I1\"S!C7=L7SF9 M?_PP/,\F)[2->VWC4^S_J>TT^N'Q^9;&]/'#93X<3NB0C)XKIH6I&Z'?<>T+ MTVKO" ^8I"Y,S>3%&SMJ<6:6KI<+NABCXW?=WG/<"PRO0K6B>SH*;U?H@@D3 M7'FVELO 0L(Y!O=6.!)-8\V;Q$-A]4Z_Y(,A[JM2$>\)!^NY7B'A_G0'](5I MQ4KR*Q15B)'XOD/.(REI6!C, MRD*SWI RD.;."%6''N79Y.'Q#Q>'P\D9%<+:=[1D*VP)[;HD WI[O#J4$56L MÞ/S.Y0#]BH*@7D-.ZUL;&RM6BO=]1C6K8'MXL!H.!R_S\;PN)H[8^=@K M%Q0B<(/"(!V945!(_K6UTI4RFI>C4JXA+*2*/4&KO\+7N#R+(O:'C:-692?S M6RMC&2:(@6K',?+8H8:;<:3N 6X!A&TC)ZX_?"YH0_:>4>K#]#]J@];HMI$M M5#6(AY"-CKZ;],"^:K:;:-*.XKWMG*Q?[;\#UYW]_0CO/B+WPFXDVJ5X#6@V MN/B4D.V,N9MXTT0S7!D/:XW#"M\RMB$ ^VMC_'X2$O1?Q_D_4$L#!!0 ( M #2%=%=[]MT!:00 )8- 9 >&PO=V]R:W-H965T57JWGTTR$*M.G+4-=/_]C9T0 M0DN[NMO=DTY"))Z7Q\],/&-[LA/R0>4 FCP6O%13)]>Z.A\,5)I#055?5%"B M9B5D034.Y7J@*@DTLTX%'P2>-QP4E)7.;&)EMW(V$1O-60FWDJA-45#Y[0JX MV$T=W]D+[M@ZUT8PF$TJNH8%Z#^K6XFC08N2L0)*Q41))*RFSJ5_?A49>VOP M%X.=ZKP3$\E2B MQHZQ+*F"=X)_89G.IT[BD Q6=,/UG=A]A":>V."E@BO[3W:U;1 [)-TH+8K& M&1D4K*R?]+')0\ %I M2#Z+4N>*S,L,LF/_ ;)JJ05[:E?!JX +J/HD]%P2>$'X"E[8AAI:O/ GA%HC M1:>13*&+Z.=//'_9S$Y.V; M)/#]"_(2,+FBBJ4$7PE3)!5%M=&0D>4WDK$MRUBYQO*KA#1"H+)$@2)T2QFG M2PY$"X++-'W(!<] *N.G_19"8XMQ[#7EFOR-XBHMEJ\%^Z7WMOJP*_J778<'^ZBS=X+YXQH52/;,@ M10&MYC=R%@>)&X9AKR,+QYX[CJ*NE>]Z<>R.DJ1W)/4]-PC\'OGRM$Z:ZMC; M)NXH\-RA%S[CEKAQ$KFQ[YW0#(4XS\T!TF\-ONL\[B/&-]Z+MH)134^+B&\("+HV8Q M'>+&%IY!HS3).:AZ??*^:?#:MM&B;I)FAU#8,XNC)OJ\VZ&C-)LF_AW2O45G5($&(OA=E%]P%] MGW_@_G@ D3]R_2#ZB0&<.HP-.F=EW.[7]D9@3CV;4M?'YE;:7CHNZ[/VP;R^ ML7RFRDTGN/M:XX7)Y#& /4K@8EJ!F:" M]BHV^QM02P,$% @ -(5T5U80"@*:!@ ?Q( !D !X;"]W;W)K&ULU5AM;]LV$/XKA%<4+>#8DAP[2?,")%F*95OKH,G: MSXQ\MHA*HDM2=KQ?O^=(27:<.%N! MN^V!)Y[\=[[L23I39?;4;DQ$.1E_:T MDSDW?]?OVS2C0MJ>GE.)G:DVA71X-;.^G1N2$\]4Y/TDBD;]0JJRJ"D_P6='2;CP+]N1>ZZ_\@ M2\IS%@0SOM4R.ZU*9MQ\;J2_][[#EWMIZ5+G7]3$9:>=PXZ8T%16N?NDE[]0 M[<^0Y:4ZM_Y7+ -M,NR(M+).%S4S+"A4&?[E0QV'#8;#: =#4C,DWNZ@R%OY MLW3R[,3HI3!,#6G\X%WUW#!.E9R46V>PJ\#GSF[OQI>_[5VWUV//Y[T':0S33^M)5T$2^TRI@7R6!F*MYQ@ MPBKB;C*,NE$4A2W+ M:VP45*#4TJ\],2[%KU6^$O$@'+RN-YS1CXRX?#\6]$ & 8)ST*?GWCPX,Z], MF@$>1)P,MQ1PM"[AC2Q7/A4'Q_:14N:UE0Q!J27*I303"W]HH71E8=#,@ ): M*Y17R$#K=HA"S;F4=M-&BS"DTF8Y62M*H+PEYW(*.8!(*],VPK 78 8NY( 5 M3"A'VLW*1RXZZD;)_HZX";T5MF#25.= ?4ZRD_JN,<9'$]WJKTN'9)G5=JN7*(Y<(U7 M,A>_J^F:=%RG_:H^L^+& ?$9YE7)-[@)*Y(&OM6C"MG'4XI&R2=^"!1;V(0 MA^/62AN-#KI#5%_S_DK$O<'!QNN@>QCM=T?)L%T;] ZB5OLZ(&_J0GZ[P1SU M1H=/HG&X/V)4>;0>)\?;!J.=.?)Q:WI:RS'<3YX8/1P\,CJ.#KM'&TH&O=% M? 9RPF) '3W,@;$!,I\\K_ Y%7D$=%5^[#!"+H/#'"&\V&"AD>_I4>W(6 M_@344!3P T"Q8#SW7;=T-FQIAS.%I3TG'Y[PO_% IJ93,H2&@6[CED1!:)IK MR]FI4=B?.QVV2JP7%+J48@OE72.#B/U:FR*?0G#(X<(Z9J\#?( M[(H"L*KFN4+L[E>>H@PE!'Y5[F%A#U!*JP8#WX(&05[J*I]PFV2SJ?0("$!N MA=2(G^D<+<&"$*G)\^WE=3, CS(MSH+D:189M]' 9:$K- ATM'(&L.:Y=]*$ M9BHA!##^%8-&5(=\\ MZAF&_[@P[3=VYT<#]9C_895]# MN[W_B4\EG[K'/0.IW,3<.SY86UUE$]"VMEY%O2C>P^_1D8B/ I3%OV0@KB,) ",P&-ODM\QVR*\GJ.IL3W-J;AGOBC'4>YD%N9A!%- MK_R4*0'M?M[L-N,Y&\ PSJ?(UJ1K5&NLGQI=^ 4/ @!A= >7&5W-,K\LYT#4 MU*>2^U( :D>V*YX;P#>]]XXM%:#2]TKX2A+#1$TY5<;"UH#TW1K3E>%YO^1Q MV&*"7P\9 M$T,:O/CBY /9P/]"NMKKF8P:\TX4SE- MP1KU#H8=8<)U1WAQ>NZO&/#AYG3A'S.2L),)L#_5VC4OK*"]I4G5"D(S]S#//C#TVTUJJ>YTC&G@L"Z%G7FY,=>'[.LFQ9+HO M*Q0TDTE5,D.FVONZ4LA2YU06?A0$([]D7'CSJ1N[5?.I/)B""[Q5H ]ER=33 M @M9S[S0.PYL^#XW=L"?3RNVQSLT?U>WBBR_8TEYB4)S*4!A-O,NPXO%T.(= MX#O'6I^\@\UD)^6]-:[3F1=805A@8BP#H\<#+K$H+!')^-ER>EU(ZWCZ?F3_ MXG*G7'9,XU(6/WAJ\IDW\2#%C!T*LY'U5VSSB2U?(@OM?J%NL-$G#Y*#-K)L MG4E!R47S9(]M'4X<)L$K#E'K$#G=32"G\HH9-I\J68.R:&*S+RY5YTWBN+"+ MP$BFFO_K[I*R3%QWE+:*SA'=8]6$0]" *HL$9OD&7[L#Q#?Y0 MN@W;\&4VVS 7NF()SCSJ"(WJ ;WY^S?A*/A\1NNPTSH\Q_[;6L^SW:RW*QC# M1SA'"S\0;"<;^M)F%_?4-8D\"$-&P42"N@=USI.\!\R H>ZD@9(] 3XFB"EP MH0^*G@4O.9T5EBYG#PA"&H)4J#@220I,/$$AM49-V]WD8'*JWC&6IND4=EAP M)%>34Z2:)E5'(S51&.E8--\+GO&$D<:$0G,#BNM[H(9/F,[[L!9 F\A@N4/5 M[:2>C4B$M?TQBJ4GP14FR!_8KL N::#33!M2Q<4>,B5+(;7^BTI#(LJ*X M=CX>O0.9V0"DT;"BY7^FU4?>/FP)E,F"3D;K:5Q0C22"3ELJ"Q?-J>N.+VU3 M?EVKD_4LR*W2$4CE(B(HI7+U%! &3J,\J'-YVY@RNX#W;R91,/C\OS__NV[= MU#>F*+U!V XOV[SABHK)*/U;5 G2EOBW?=DQO(5)\*D7Q3%$$WA'YIB"Q.&0 M2,E0(8#B>],**)V.$:_-6+#'%O3!$=P^H$,!C' MO0F-AH,3A@] >T7_LF!N0[UTM/@G-P#58>_N.;LM:6F;RZ ;[:[2R^8&>88W M]S"5=D]]3,$S<@WZX]BCEG)W6V,86;G[9"<-%=V]YO1W )4%T'PFI3D:-D#W M!V/^#U!+ P04 " TA717;G>9*\L" "V!@ &0 'AL+W=O=2\;*O&:%S]9JO*I%5N08D:;0BWY[A;W_82&+^&%;)^PZW*)KI@T M4O%R#]9VR:KN35_V^S Q.XG +('D%9W5ZA5>4,5G4T$WX$PV9K-+-I66[06 MQRIS*"LE=)1IG)H]K&_G2[A^7"[G]VNX7*WFZ]7$49K9Q)UDSW+5L9!/6"*X MXY7*) MQ,3U+_[Y_:!R%/J[% (K!51*5!)8E12-/G?005& MPP[G"7=4)#GXWMY<"*PITW#Z@K(O]05BUW9)/'"FLDHV@58)]AA?X M]OD X47$=D=ACY#-1B:"U68>O!7R8F)'T0!%7#L;0#Q[Y$:? MN>=E7?!71*#ILU$W*!397N2_PP5V&'F]1HUBDHM7R!"E#;S=\&&)D+QCT!L; MA"&LN:+%8+N"*+))$ X\?A#;YW$OX:./UAG,DA+%MIV8$A+>5*H;*[VW'\J7 MW2QZ2^\FNC[FK3XD*##34/=L%%H@NBG9&8K7[63:<*7G7+O,]8\%A4G0\8QS M=3!,@?Y7-?L-4$L#!!0 ( #2%=%=*J]4JP0, -0( 9 >&PO=V]R M:W-H965T=1]-8L!M$J>VL^SVU]_8@< *RDG5?4EB>^:99\;SDN%6R.]JPYB&YR(O MUE&U90U1$5*_%D)61!-2[EVE659#2S2D7N!IX7NP7EI3,>VKVY M' ]%K7->LKD$51<%E2\3EHOMR/&=_<8#7V^TV7#'PXJNV2/37ZJYQ)7;HF2\ M8*7BH@3)5B/GVA],(B-O!?[F;*N.OL%XLA3BNUG<9B/',X18SE)M$"B^GM@- MRW,#A#1^[#"=UJ11//[>H_]A?4=?EE2Q&Y%_Y9G>C)S$@8RM:)WK![']D^W\ MZ1J\5.3*/F';R(9=!])::5'LE)%!P8 M_O7E=GX_G2T(S*:+H:O1CI%VTQWFI,$,?H$9P[TH]4;!M,Q8]EK?17XMR6!/ M$%O+!U.K1XX?_J=(,9G<Q\O,(Y:QM$E]-]D?!ES]GDQA3Y"%'W_[/9?81J1^(5#E MM-1 RPS8CYI76-^:0(G=)Q58Z4JS#,0*](;!2N38,GBY!JIP;P"8!IH52R;; M7(![*M,-A/YN>6=P]S;?@N][Q/?#,SN3FN>9A48%7E12/#%#1;6R(0GZ(>DG M\8DOAY-[FFXPJ/+EV)=5+4NN:\F(!5_Q9[,X ==$O=\DD3)"7(0$L]/2 \) MWF TM*QMZ[KBY14R7"/* <;W(]+O>R<8?M0GW5X,"Z%I#M7KN)/7@3\8[A._ M[Y%^V#OE%"-<0,(D@3NT/\ ^FM9%G5-S4QG#7$\Y;1HL0M-"2,U_-AM[B/=^ M2"+$"6+OPPG^>S\@<3&UL MI59-<]LX#/TK&'6G)ZWU;3NI[9G$]<[VT-83M]N]TA)D<4N)6I**DW]?4))E M)TX\G?9B$23P\$" @&=[J;[K M' 0RDJ/7<*8^IKS]-I@273(UEC12>Y5"4S M)*J=IVN%+&N-2N&%OC_V2L8K9S%K]]9J,9.-$;S"M0+=E"53C[GZS! M1K*5\KL5/F1SQ[>$4&!J+ *CSSTN40@+1#3^[S&=P:4U/%T?T/]J8Z=8MDSC M4HIO/#/%W)DZD&'.&F'NY/YO[.-)+%XJA6Y_8=_I!A,'TD8;6?;&Q*#D5?=E M#_T]G!A,_5<,PMX@;'EWCEJ6[YEABYF2>U!6F]#LH@VUM29RO+))V1A%IYSL MS.)FN;S[NGH/JW_7JT^;U6;F&4*U9U[:(]QV".$K"&/X*"M3:%A5&69/[3UB M,U *#Y1NPXN &ZQ'$/DNA'X87<"+AA"C%B_ZC1 [A/AE!/LPKG7-4IP[5/D: MU3TZB[=O@K'_[@*_>. 77T+_*7Z7$3Y]_K*"P(<_X3D6O'TS#?WHW2]_;])4 M-9@!/E ;T*B!5ZEH*-%@"H1<"GK5O-H!TR#S:Z#<&2RWJ(8$PD>FT@*BH!3L1N&D^<@5+R*>@,(J6U\!^T@GKJ)'YVA!'[H7B7Q$$>M9([:PC$!.9X@ MQ-.).XZ""TPW]]"!6-R-[10T4LQ$L M"U;MVEKN3(>"L(H*4ZEL@=.I30G5-6@F4(]>R9@U.O#NHDA1&9J'@][P>+)& MV<=BG2JLI3)6ZIB/7NHDWDEC+U'MVO&ER2]=?-?CA]UA0MYT@^&HWHU7>H8[ M3KS$ !D !X;"]W;W)K&ULM5MI<^,XDOTK"$_5A!U!RZ(NVW5%V'7L=&]U5XWMGOD,D9"% M*8I0$Z1M[:_?EPF MSW=.[%?RA(%9";R?)E@O7LTQ0^[5:H43[LLM^^/MF6Y M?W-V9I.MVDD[,7N5XY>-*7:RQ-?B_LSN"R53WK3+SF;3Z>IL)W5^].$=/_M> M?'AGJC+3N?I>"%OM=K(X7*O,/+X_BH_"@QM]ORWIP=F'=WMYKVY5^=O^>X%O M9S655.]4;K7)1:$V[X^NXC?7"UK/"_ZAU:-M?19TDK4Q/^C+3^G[HRD)I#*5 ME$1!XL^#^JBRC A!C-\]S:.:)6UL?P[4O_#9<9:UM.JCR?ZITW+[_NCB2*1J M(ZNLO#&/?U/^/$NBEYC,\K_BT:V-YT3EULK/N>I2KO[SR!!+<8LB'$]>Y'@K=I/Q'P: MB=ET-G^!WKP^UISIS?_DL=RNQ?@N"H W=B\3]?X('FY5\:"./OSU+_%J^O8% MF1:U3(N7J#\KT\N[?OUV]UG$L?CK7RYF0*?F=CY9#4[2YC8?T(RCR^DTFDZ'W%9+]_S.E#)SVF\.?1Y-5ZMH M-6\K8A7%\3R:QG/Q55G[QAO,6LB0&%M:4>5R9XI2_P_LUVR+IQ?1;'[>?K)8 MLHX;SI'(5=EA=;F\B.;0>?-L&5VNSJ/Y-/;L/U9%H?)2[(DELJK9B*SK3"_3 MBZ-9?!'%JR!'=W-?(G;ZV=O6DT5TOKB,XOEE_>P*)8)\5^8I;&=+6>(+V4Y< MW1=*[4C:;WGM>DOV67@N^?I'L]O+_" 4VS8E&QL0$K)%LP@T,Z(I:YJ/NMR* M:T7%4Q=*7,O\1R3@/T279)M-WW:EX(?QVXGX#;3=NNZ"J$<.++),[ OSH%/% MZWNQ((X1HBA!2!FI6%.!/6&1:6G!;DQA3!F%[)3@A+KLR]AQ]UK$GW#2%*MA MXH%47B#'IA_Z8R+IG)>:0M_K'#:'OU90($1ZM9A,4=6R#'PFX@Z+0#Q1*J7, MT]W4/SKMGDTNEF&[>(0%L5T]:%/9[" J2R(:0@X@D"=*J"=M2]((QQ"D;3JQ*.MIR+\7.5[Z6& MP\F,CFRA+GA-3H-_ OR'S-IK4[$5?K ^KYAFEEEQ6PR6[Z&?C4];LIH(PCL MY,\V6R*;I/) =)5$<=T1P**? +4WT$-M@:U, 0"1$&@W9XB=_*'<>KC]7AY( M>VS@?0'.>N]=,Q2P$(^M,%PND*:GS#ARB4V";J$(U;,2JQ)),$_IH3)*B M4BWB9!#Z 7+(=::&^K]H&=9NB0]\.Y%94F6<9@ECLUH V,D:4(H5*I-[ZQ.R M%//5])1T1?:A=-H4P$%U!)T1_$)D>AB& ^W5'#5KL>3?7RT6T>)B%E$!V"MN M'C)$;3\/N;+3SA%7@NL9EXM'9$,V%GS*[5P?^OD4YIA-X]6(6=KY;9"WNW+4 MF?M[L#]"@-)D+GZ6>85^"TSHJ/%YY#R'SLNB@6]P'IW#S%E6.] KX++9*C@& MPT0+/=!/M<'[T83?EI-9_+H)JY9+_6>.U"D(Z,BJ0I<'.$BIHC8@"RGK<:MA M83*!>BI=08<9^@MG$\IWS=.Y>QIY>Y$(B2I*1(*0FXW.--CUDWD/0(@O>H,# M,S)AK("'?P"F1&/[OB.UPJ$-#/BK*9U*ON@""NHLNU6)P2^C7'HD^IY4TZE] MZ/-FXQS>M0!#E3GT5&^,R&DI35"ZPD^PKA7'^L3KW?+JCKWJZMJ+IK9]8IN<))?W;EYNZ MC!\_Z+Y@IRZ5U_P1\$P'GOJ HT-:ZQ@3(;]X9(U//)PSFE-Y5JQ#1J36K27/ MARP0QIH,&=MQ\#D\E/:-MJ@X M6^@&R(7B9>.X8O"G!SX%=5.,-Q::&9@$ZH MN$ _A""A4VV3-V?V'_[$\A?9M9P78=I'Z3.. /6-61@ MOY#KMN0*-![2.Z"95H)U-:4AQ46_C;T]>+$M.#9$OK9:_\MK47HDR$:!Y;K0 M*0/"Q$9P.98G'4[D/L?K$UYE(2,MT2<7T])IAQ>$YNK)*'O,#0C M+,X,/8Y/)X :3.]SAEI!Q[V1CZCW,+6&C#^Q9R$;>F]])K0X%TQ!&,"RUD(WY.M['^7>M6M(CT M0'_ZF!K4$1E6$R2MP[V[B'OF\[>VU:J6SI?&K!H\ J1%;G)T#7 =I%>.E4M M$T\)U[9@\W$"^:LN>'/@&8H"6',8SE7Y :8["2DPU2@[A2*LO%;EHU(]//1F MX$S>@-Z=I _)%$S5FYWA93.A73S+[0$C$WT3OG*PEIIC0\"(!YVA*UTX7Q]!E'?4MS'TE$@= M!OD8>T#\53RY;%)ART6?3;OE2/_2ZJ"X[6WCYV>/#EE>7=!8=58;U^HG=VSK MG'R4%>G@D2\W"%?Z&!O'%,['6U3AB;[4@M:"93B?+%:OR0-YG-$4D43N94*. M/7KBT8YMJ-TY:FW0KNOA4(KK9-%MY%YL&_^X$-PVGL?1['+F6,9 :3/:TF77 M)&DVQT< ". JL/H"Y75G1#36@-8J:UGLI@\)XYV"QGO(E87K:$ISKQAY2]O& M]==N5%/8&M??#8%F-#Y9"5/$7OB3G3VSJ,.JE0N<=U!T;6-Q+]I?0 1V<\"ZH0#=V$ M[R.F4W&LGA+DI5;&[30$(AF@%K+WL@-+B,B4IYUI;(O6%P+ M=H)81^_#K6.#@KSW9[*'?+I2N]@"D,0CC[N&6B%$60*#9^28\>S4C4=1CS6" M%X:'[;AOK!O9\1;/S3,&J3V>0 MN NF[4C>6K.$LXQ"TH)3!C@G9GH*@NVRI M\OJ'^N0GC-)-IE/.>8T#\D2F'J]USC@1?Z\51]'02%%KMB/.*-'Z)M<[J(^6 MNB=H;(/^&=6/L1.]WB#BZ>G?67O8&1"[=VR5I[7I:IMQ\G!&^W^3UM,?$?6_ M@ZCQ+'07-"0?B.N]H.-=DY;'0]CX"K-/;^JZ5^E3( M3WEOX*V^B3QI4BW0HLJMZG2M\DG93L.9JCV1<"">]>L BI?"KWPX@0I-\L/K MEY(>2+M-G@UH_T#C@OS=D2N0 6T>J<):2$SEG '3SFWLKCWGTT.(H3,3<%K M"QH+<4WU+!@B/=-X$G@IE!.:TP7/AKJS;6:.A66AUU48\W"NC^J!.1]S:[*4 M$C $,8\Y?]KTCQ68@ O39=4Z:.QK6&\#53U&%]2E!X"!^FB*M"D?OTUN)^*_ MKJZ^3P+,&29'CW3^ S\B-V%Q>*.M=:,["!^V165;(_V5FKRF5:RC<$M-KZL, MM5.KH:<"]L$VX]%U@LMJGOMWJ%Q9]:\ ^"&L=DQ[;P%P[:]!:JKIQCA/PWQ. M!^:=%LZ-=IP&^$:5L7G&L],_;[.[\?J=R,KR)$07\%HW%[CEU]^^*M_!R:\0YI_(+EN?% 8KGU'@U@%E* ^)9\UF M\,DUW()S@D!!1 VP_H*/< ,!%[HVCB>M*ZW60+&^8V%<=\K0&7OHP@E./N': MX,$=U$PEIV:='9ZU=HW6).,\ F)N@G<3]$FR8;5TU0/6GD[.EXV16V]R]#9W M0[]C(S))*\2Y WAA'#5RHSC:E'G3<3F5L #-P6'&A_9($E :50YM]#Y3Z3VI MB'PRHZM5NL0.N#%S[S9UPFE]X 3F1IU8:]:D.8(O--WF:D"IB_X.+C$CL7:M M$+U; ?$*! SBFJ ,1U H)[XQX]H\7RT9%7K,=]QZKV106[B3= )UA?21P\0= M!%#:WT(-->L//U LC\[+-=;7O%D.Y#>U7\#^^4?RYPJ'C M6;AB:D_.R,*]\ZDG5%AV:>!M31VWZU"<#/VNBU:DHY )Q;K?!G$7/ Q.%)2= MYONG[DC#3WR<$*E)*AXA\X4$]=*P@"MT]739E]@]@*%VPVN.VU1YQ]DVU_N^ MP1E-%9M!.NWW9NVVGJ?+'M1WY%^P/W"'TR'/H,*+&NS@*S'?++)%#SQ;<2-$ M2Z1I&FZ;-YZPW[V3ZW%(FU@(+7\&^GDG^?T@%F;LS-V.EOHLBJ"13O;?W3^% MJO/"W(I\G*/2=KQL],T==Z%"_D=C;VL S6@\1GI8NYLH7P8:V;5/\VOUHOQ- M PX"R/[6Y8G0-#@KTP4[&+N+%%?XH4Q3%7V04<=MPJ_@\/2$\IT'*#1BJ:A0 MX22YP\JMIBQD87YWFNI+G20M@5WN%L&98>O:T$L/K0$)';#0#(,S[BNLR?V+ M#*@E69.&NT[2OLHDE!<%T$.V291^<%* H?@"=!6 M9:FS?FX0%%!>$BJ6"Q4:P/D[$W ML\]:+\0C5N_YM7]B 56[=^/KI_7_++AR+]0WR]U_2T!RN:>4EZD-MA(X.!*% M>]7??2G-GE^O7YL2B8$_;A4R2$$+\/O&F#)\(0;U_[?X\+]02P,$% @ M-(5T5XE(AQGN! H L !D !X;"]W;W)K&UL MK5;;;MLX$/V5@=LM=@''%SEITB8QD%O1+-(T2-+-,RV-92*4J))47/_]GJ$D MV\4F 1;(B\W+S.',\)P1CY;6/?H%.51:="C-,1J./PT+ILC<]BFLW;GIDZV!TR3>.?%T4RJU.V=CE M<6_]D_'GTUVQCP;_ M:%[ZK3%))C-K'V5RF1WW1A(0&TZ#("C\/?$9&R- ".-GB]E;'RF.V^,._4O, M';G,E.93Q7M0FW=OF5VWSV!"^UQL=?6C:VR:<>I;4/MFB= M$4&AR^9?_6KKL.5P,'K!(6D=DAAW7%W='PX 3Q&Z8MFBG M#5KR MI'^F;+L/!T46:<_>X_1&3K\)(NO-/D5< [K@8T&?4I&2635_ FZW0G M$6_R1NDV:+O/HXE@/OM*I7S<@R(\NR?N33^\&W\<';X2Z^XZUMW7T/]WK*^C M77^_OZ!Q0COT&B[]P,4Y4I!+EG&9U04%2XI27*N#@JBJ7;J "L@Z&/;)EAC. MR=:N92L[3RIWS)EX.M;%K':P#PNF,UM4JEP1>DFT(/Q U$C?H M8BFFDM),&56FL5[VB5&2BIVVV8#N%]J3T6JFC0XK4H6M4;NEBH4WM62*0CYW M,1UD\XV!@Z+2RF4YJ?X6I)=L_UNN6-IO"K2CR;A=$@*]GPS&Z(C&Q.8.F_?C M0=(M])&!KSBV?+.*%=\@"T3_-T)N""M 7N>E$*VTL'$;)'5R?G#31R/#_^2/#R'8!@$X"=M:V_@703>.@OSOY M)$IH#@9TT"8> D49W=S2-?2RA2GL;;M<"Y75J):G&!5.F]?&#.A*SEJ'7K]< M!3Q?4@<$16;+A="+7?-V M10:@%^K)<[B.!OM[/7+->["9!%O%-]C,!C3O.%S@"1[N!0 @Q !D !X;"]W;W)K&ULK5C;,&?)8B%)?C%;&5*>3 MB4Y7K*!Z+"M6PD@N54$-?*KE1%>*TR-H*7 M[+,BNBX*JC973,CUQ<@;=8(O?+DR*)C,SRNZ9'?,_%E]5O UZ;UDO&"EYK(D MBN47HTOO]"I$?:OP%V=K/7@G.).%E-_PX[?L8N1B0DRPU* '"H\'=LV$0$>0 MQM^MSU$?$@V'[YWW]W;N,)<%U>Q:BJ\\,ZN+43(B&(F+JXW1^W]S?$"\CK M5XGO>6>D\4-N2W)9+Z%+B!_9RGD.N3,T2R59L)06C%14F0TQDE! ( )%HLL M:BXR7BY!EI%* I-/FOP2]ACQ14C .??ZY*U_8*_F$NC"ZDQLJ*:E'*;-(1G:RJ@*AO9 M:EI7U%)#1@UKPC:A4L@#^$RW 2RZH".J3]P9"1-J !&PWK9N)" @%IAJ3%W M7H+/0?8\'Z:74RXTJBI6L&P#Y5T HZ8K3)4;3>1"\*7-39,:UDSMU,&L>-G4 MD2DN,Z(KEO*P!U@$C3$6M/RFZLJD&U32C'^O ML:J*4&,@C0(72PXSMGTW/=/-RFM4Y27,DT'K#8,.JTB%EMM22M!1@X(."HEM M =,7V[ZP#G23 O2(V52MYUSV1:<+ 9&XQFQJU2SU.YF_Z_M3[S0H1W^E586< M,MA6H%[PIJ7@N/X "PJ+F#)BR12,S:F%FQN<_?03R,VP8@$%Z!B.?*(*UCOP MVL_WT# 8W,[\YX.T?9TWGA-,?<>?A6\/C;E!X(13&'N:G$/*-L-F(I$3^+[C>M;?"Y4"EIXFT1-Q$#M!$)-[ M:0 $XH#K+GSD>LYTNCO%) *GKM?+;BW0=%U5@B&0P24OF]-;PLX3D4]N M]W>O0UUW0@(P\ )W*/&F3N3/=@'XG'GBQ+.AL>?MV?;$N-4+=S 7A>%_ MKN%7>\S$'?D!)KSL8MKM$NDNXSJ5-="WPOT'.>S'ZO=QZ^;-AE&EWSZ+D7@\ MW;;P=/AQQ,D.,+9X&'O1X"..]US92;R$U7 F4L]Z\5PGBOR! -@,7GO!)VIJU6ZT^1Z-H9":0U/KZE"R1S@@P@V- MV,[I#G1P+LBAH7Z9SCS\W';8+$PL58(P'@@#9QI9X70K#!(G M<7T4)D]"=(/W?7K]D.?$(9QG<7! YA7=%);VAOMN$$/<< 8MJX%;>5'5QB[# M'GDDL>?,IE[K[\AF<.AV,AE<# NFEO;ZBUP/#-'<$7MI?\.^;"Z66_7F>@[G ME26>XP3+P=0%V(^:,U?W861EKYD+:>"(9U]7C,+9%15@/)?2=!\8H/_?8?X/ M4$L#!!0 ( #2%=%?9]22Q^@0 !L+ 9 >&PO=V]R:W-H965T$P-)FG:S:"Z(L]MG6AI9W%*D MEJ3LY._W#"7;*9 :V&)?;%'DG#G#1.>/)-4LG3NNPPNBY/!1 BQX3P*@L+?FL_9& $"C7]ZS,$N MI00^?=ZB?TZUHY:E"GSNS#==Q.ID\&Y !9>J-?'.;7[GOI[7@I<[$](O;;JU M1Y,!Y6V(KNZ#P:#6MOM7#_T^/ EX][. K _($N\N46+Y244U/_9N0UY6 TT> M4JDI&N2T%5$6T6-6(R[.SV^NKB[OKRZN[Q=T>OV)SF^N[R^OOUQ+([' M$2EDX3COX)=-IU^I(/P=%$WQCWB_$4Z77EF>0KTC:E2:R;> MSZK][$;'BECE%;F27.N)'SAOY=SA1:ES]F%$BQ;S3X(:[]:Z8$*'$8?KNJTI M*(,608;7;,*05/$WCH):&B9E;:N,><1+6Y"V.3 $?^EL&SA0K!0H>:9&/:8 M75)H.->EYH)R5S?*/M+**1/2,A4C6A<7([JO,%J!UTI%EI6UCEV!D6##R/62 M_33T62;/(%%Y/FC0X^, ML-D6\@=V*.IS7WBL8,..K7Z@NNM=++WKF;T?II#SWD([1*Q]F4V'KV='">CE M+!N^?_]V"%[B.['%UJWE+V3-#F7-AM-LFW6&Y^S'K"/Z"E<9NO4N9RZ@!MU8 M$@,M\7VF/UIL/YCWQ36M#RUDD=V3E%^QRB,QCN:MUVMQYVF,SEN&#%]@!0_H MTSR*)+@#S%"C5%CS7DF96D15Y&Y[R@NR+D(\@DI+KI0I94VE:WRHRU0)AF() MV%$CH)5SFK?>PW]BEFX7D0.#/HMT 3I71F/":D5PI77V-QS*NHE2;05'&SD/ MNMA[;$B]&+"GAA?+4OK,2IP4>\Y2T!/%-]GWBLQVFZGG+W. M^,@,,8-T4)/4SEUKL9M"$6<3M@*<#NG^L^TW.6JN"2^1F95L#@[D*LE5Z)#* MZO9:B*@:@$EE,:!Q 8*@"[L( <%!!6?1:"%'B*G)2+E=R@*CT7/?P?&3"PNT M7*5K64C,8W=WV;W=W?Q.NPO/?GEW;;Q2?B6GWW")4'36UP/RW56L&T37I.O/ MTD&$.CU6N+VREP68+YV+VX$DV-V'Y_\"4$L#!!0 ( #2%=%?<8@:$[08 M +83 9 >&PO=V]R:W-H965T+:1ZK-><6[(4U76^GRT,J9Y.YWJ?,4KIB>RX35F%E)5S.!5+:>Z49P5 M3J@JIX'G)=.*B7IT<>;&/JF+,[DVI:CY)T7TNJJ8^O*>EW)S/O)'NX%;L5P9 M.S"].&O8DM]Q\TOS2>%MNDV*+E\M2NU^R:=<&T)BOM9'55ACOE:C; M)WO:^J$GD'E?$0BV H'CW2IR+#\PPR[.E-P095<#S?YQICIID!.U#WY./US_>W%Z]N_]X]X,R&A1TG@!>$+>.'>RM#AA=]NY63(S!8E&D:Q M]?%6-RSGYR,4@.;JD8\NOO_.3[S3%SA&>X[12^C?&HF70:YO[B^)'Y/OO\L" MWS\E Z#D?L7)7%8-J[^0%=/$;"39K&19?B%R4_,"!?J@12&8$EQ3RW5M1+TDC2Q%#B B%Q#L M%CH -\ J"(#&2FJ.@M*Y$@]@(>IVNNT65ER+92T6(F>U&=(P(>_*KU CUF#1@+;)54#V5+O.&Y)4YRL)*U-9^21@D8)K "K=4V$G0Z#E)<29=D M#D4"6F$IY%T;%'4!PDJPLF,^(3_+#7_DBI('K.\\O&*/EF[#8#G?>:!>4L+K M)?*&*_=BU6A6PA+#6;4-X'PE^(+<[$3(AQV!*_;9*@)CZ]K .YW??+AR?_U3 M #^R<@UEVKD$TF[7J&$,O"#7JN-F.VE!UO &&%02*EI3S0KJX)V=EVOL2RT[ MYXX]H4;)A3 3\7".;R)+7F(*_I$(,K2=RJ6VBS@\'X%LG 4F> MK^U>X506 LXWL-?&#B%R201^1N:??VBM.)SIPM9I= E1H'T+!(\Y;/YD9<"O MELCFN &JF% M5=*:L4"/D1M+IJVD/7);X^(/WI<5=7ODL%EG*Z2?/F]=]GGAZ?_VO%\IS@^V MO?W4G7@:GM@OX(U!;T"&V"WNY5&[ =J?H/>O[, M06-&H\ C'VN#7K5-9%X*%$,;V^I1[TL.9K):!P$-!DPUH]I&/DT#(Z%,!7/9M3SHF?1 M2U)@>7ZWD,9Q0GW?.X:@<932P#MV?X"@(%Q)\CR&XQ!,T\CO'#-.XY@&L]FQ MJ\8^#0+@#[EQ'-# CZ@W\TYZ7=.6^KKN6M?8'Y"<6NF>6*%\(<$_A:TB8!'!K%KUY_X[86[%7(VZ-%D4>S]!@3Q1DG M_O#JXUS%&D)_YP __^/G-8_:]]OB%!$J(') A4<=][7/B,9AU^I#@,9>_,]];@DCY\.#$P' L3VY M-MTU\>YT_.HC\.!!]^\='/-B0_HK69.BK?=J[2\')8.ENC#1Q7YOMM$14>TO4OAC9N)L9?+;A&.+^KC@KN+(+,+^0TNQ> MK(+]5=W%GU!+ P04 " TA7173_KF#ZP# #7!P &0 'AL+W=O MG72?:>EL$:%(E:2L^-_OCI)=]\T8L"\2>;Q[[KD7'L>-L<^N0/3P4BKM)E'A M?747QRXKL!2N;RK4=+(UMA2>MG87N\JBR(-1J>(T26[B4D@=3<=!MK+3L:F] MDAI7%EQ=EL(>YJA,,XD&T5'P2>X*SX)X.J[$#M?HGZJ5I5U\0LEEB=I)H\'B M=A+-!G?S*]8/"I\E-NYL#1S)QIAGWMSGDRAA0J@P\XP@Z+?'!2K%0$3C2X<9 MG5RRX?GZB/YGB)UBV0B'"Z/^D;DO)M%M!#EN1:W\)]/\A5T\UXR7&>7"%YI6 M=T#*6>V\*3MC8E!*W?[%2Y>',X/;Y!<&:6>0!MZMH\#RK?!B.K:F P)E@_CK(.8MQ#I+R!N MX(/1OG"PU#GFW]K'1.?$*3URFJ<7 ==8]6&8]"!-TN$%O.$IQF' &_Z?&%N( MJY]#\-6XXRFKU\-;I+1!8)7)X)7E]#_&\'+$!\?'I!!LC;,Y&N;1T]8QU?7@D>3#\@V]0 M#IDI::HX$2XFOO :@28,<&9EAIW:#VX;J11L$$H4KK9,VL-62 M[H6H$ F,& MN?#(!$)DT$)U1[HN.0%TV 7'SH,#8K\G=R!T'C2_U(;%-*F>:3161"-@\M&" MV M]"*E^,W(<34GX@6+_/,_''NZ=FP4/1@\%3\CN;#GYC34TS#JK:NII3VU7\O=A0Z18F M1UA9N>?LSSP57N/!P3O4:(GB+/.AM9+D"G[CU*7):#5[-PO+P>AW#I+!UG6% M5@:\VOICRM>^J^E"*$F-HJ7X6HU:^P/OWAL',[VCB>].]V!!(;'[M[)MI3[< MMWZX!2DL[7N0B8H30FF_WPAK!>S[[##/S,_N=GPV;$NTN_"D&,IG&98%O;QH68'. MMX::M-NP@]-;/OT74$L#!!0 ( #2%=%>[.I90P0D "P: 9 >&PO M=V]R:W-H965TU%92!<8V 7+AI1)K1SD@8[Z^_IWLD628.N6SE[@OH9::G7YY^NEL^63K_ M)2R(2O609S:<]A9E6;S>VPO)@G(=^JX@BSR*<_V1H/! MX5ZNC>V=GJ[3E@>8G+@OQ5R[CV\!\]E52A='F]&1KDQL;_^J'V0V?# MJ\$W-HSJ#2/1.QXD6K[1I3X[\6ZI/*^&-+X04V4WE#.6@S(I/=X:["O/SL>3 MJXGZ^%;=?+J<7%[?CF^O/EZK\?4;-;EZ=WWU]NIB?'VKQA<7'^^N;Z^NWZF; MC^^O+JXN)^KYC_L]VRS9?Q*->;C^*L^YU M*'1"ISVD52!_3[VS7W\9'@Z.GS#D96O(RZ>DGYWK8()R,W7#LFVI8R[85%TX M&Q#!5)YL4_NG"%:[REE2MPLL4M:5%%3I5+D@E3C$W@9*^:K>@)N9L=HF1FU)3(*KBHT![KBLJ'2MNR$>>K#++Y?$_S*I/#13]^.:&D\J8T M]8K+AV2A[9R@:IZ;P 2SHYR7I;_^\FHT&AQ/+B_D:GB\HT!]ZO=*^Y)\ME*? MJ' >.L$VY@4U'.S^WE<7Y$M0H#(V$F7CC-2$)'.A@I-@/MYD$&%LDE4 /BZV MV]M::9BW$N=3K"%00[E0=_U)7[T;CV\Z7EG[$JJZW)3E(P^%*EEL=U&_CDUE M=96:;T8@[LHD1#&,8>&J+,7YBHL!:PHM/E]&0AB!@/=O6\LGK>7;DNY_=IC: M?<+8P];8PR?/?V_^K Q0LA(\O'/&SCG=$_);&>1O"P-KC"5YP>O0?TJ^)?<= MM20@/U7/]OLC5,0L8Z/9#ZZ$P?I>FTQ/,U)9(WY',&C@,QP F<\&_6%W8Z+# M0E20"\*N>YVQRW;D*<[96%[9U.LE;P-IL_9X /T8MY[N77:/F\QIVZ]->(S+ M1OV7_:._J_[!CZC_PIF"_ M2'9YD9DU+2=U :B/7#-=XNX)U\RAY1:U)4@+R/4('05F28US#*L[\RY7Y\3] MN8&?SK7]LA,59\KS.VI:E;*7=5JA@_=0'SLAHBB\ PZB" D=-O?576L[BEG> MUL=-1^RT&T2X>)";6RXD*68"*06%7O':OKJ:=52JWX?U GG9^@\!YHJ!8L,8 MASRLDA5NFIEY)+ I);H"T74WIHZBE5+SZ*%.AQD@G,6Z[GC2F,VX(\6AD@N0 MM6!EN?Y!=)C)4:%[&,K?. MN1QD)/YPVC9HM]!;-60%HOR7ZO#3HG&#_M-P, M>:BF@4,+K7+2W F(6U+A;]Y<<[BE!QRY) !5Y=(="X-PY48FXW3$BK,T:'OOH#VB#W6@!VP;8) MA0@]]L=F\':V860-PL:;7,4MJ'Z+%S<="'@!F"EX, IO<.F)D^T1-C'A<K>N*8/E'BZ!%Y1>E;6*=!01$H96[OBZYCE?/L8V4NF*K$NX4K&EW//QU1A MG;%L-_0JN2-Z[ :A_J4T398HPI+H"V(+A:SFZ;2A#4![G1N;@%5U&/X/F?&H M -!#D3G/PN^U-PYF \^QQPXEP#:'",NO#8#?EB]5N&#:=A@8K$3$X]#S'@G] MV@,M"."XA4$-S77;.M>P8Q#493$&($2L">3K#&BX$MD9*PJ_K-VS8N=@$8E. MQL(?/*W@8>X0[8W(M X53*(E9X+&RDHF&J05_%YA;T&^CM245HZ=O#6YUTG1 MP!"#2"4.^:J$/.K#<1Q8J&%0GC 6VF.:$78P>MH$7IH"GG#*IM&.NL@8@C>8 M#^2P:14 Z! $H'D50%00,!>UI"U@5XKGHFVXPD@32.B-5Z#+3!,G3(>8:[\" ME=22J %>''LP*O"L44+%O]IVE44@52JXN*S1T30GWSH@)EK.12YB87,_GB=B M4'"R/T7Y!#F@LT+ %FRX>FYL@3;C!5,KFN 81:QR741LM- MZCGHL=[64>"SFRJX1B8_!%"L+\"L @RXBF \HFY*%QLM9!*3L40(I6@6ZO9*2GKH(DA*F*@8]@ M7FUDF&:^G;OHES@NU&44N;LK$^$CCO_1SPW=^1R"PU?3_\;PKS"I2_)2&J/Q M(T@!':HY9LTJ74;Y'H.@8Y&O%= C6PF@N$!)>9HSB8(-. ^Y5J>?00_1 M!U&MYFN")4Y=SO'Z"\.2XD>&F"*\.:*?(QLU[JN/FUAIBMI&'7C$C-^!E.%Z M5' LN,07M;?K/) MG;S9'6(@7W\MN4+GYJOZOU8=.(P]';JYD M;M@JDE$SV-_Z57>O\P4_)Z0=_T[!\(*E\6-^^[3]*60;)&;F](5\GO U)6ER^5R@7Z5/"_ ^YG#L%[?\ 'M#T1G_P%0 M2P,$% @ -(5T5TI+W[2*! %1 !D !X;"]W;W)K&ULQ5AM;]LV$/XKA+H4[<#&?-%KZAC(V[ ":V?$2?=9MFA;B"1Z M)!TG_WY'R9:E5E6=P,40(!+)NX=WNN?N2 \W4CWHI1 &/>59H<^=I3&KL\% MSY8BC_6I7(D"5N92Y;&!H5H,]$J)."F5\FS "/$'>9P6SFA8SHW5:"C7)DL+ M,59(K_,\5L^7(I.;;GS@4]NPRM?"GP-14;W7A'UI.IE ]V\"DY=X@U2&1B9BQ"#(]'<26RS *! M&?]N,9UZ2ZO8?-^A_U'Z#KY,8RVN9/9/FICEN1,Z*!'S>)V96[GY4VS]\2S> M3&:Z_(\V6UGBH-E:&YEOE<&"/"VJ9_RT_0Z'*+"M BOMKC8JK;R.33P:*KE! MRDH#FGTI72VUP;BTL$&9& 6K*>B9T>W-UYLO]S?HW5T\S81^/QP80+5K@]D6 MX;)"8#] \-%G69BE1C=%(I*V_@"LJ4UB.Y,N62_@1*Q.$2<8,<)X#QZO7>0E M'N]WLW&LQAQP6Z%.1 )U5&F?H3IHXT^ANJ81 M><4>8=F#(/9&Y%.A:@+4V+^A $=>A'T6-N8HP:X7MH4"@DGH'P3/&IHAYJ&' M790"F\J@MYD5@!G&/'OQ.$K2(BOY^%.J#@:*.QC(MS(>TJ$:O)H1+ M.?:]9GP\S\/P@@7AZ#( M6HP+O ' >MD1$]1\^JBYAU[X^\S?BN&/>JO;+'!K51 MP6M;?_ +S IKL\*#LP12)!%P.)W)M26.$C.1/MJS&)HKF6^/@$)IM%G*G1@P M#8[C4 J40&89%] %3[I\[+?B_TZO8ST[JOH!2]_5TI\N?/OLR>Z.NOPRZ=W2 MU3;\Z"*W@4=CH6908%XX;%8=[/D$CC0N@K9P8NL&=$LH+VZ$:%!.V*X!QZ!@ MW^*VD@P'W 7I?7.B(2QT@X8FW0KL)JS@50.I MO6(A?.AG$=NW8AIU0$!_QCRP'7G?5)DU_[H7.PIHZ^#'^ ^PB0OX='_$@FU. M8/$OVR5VF5AFM:W_795BT+BJ05P7Y854HS*MJUM;/5O?>2^JJ]Y>O+HP0RM8 MI(5&F9B#*CD-H)NJZA):#8Q_J31 HO)U"?=VH:P K,^E-+N!W:#^)6#T M'U!+ P04 " TA717+NP# #<# #]"0 &0 'AL+W=ORL[0RS_WZ/'>84Q]5T0 MZ*R BNE;68- STZJBAGLJGV@:P4L=TE5&424CH**<>'-I\ZV4O.I;$S)!:P4 MT4U5,?7; DIYF'FA=S*L^;XPUA#,IS7;PP;,EWJEL!=T*#FO0&@N!5&PFWGW MX=UB:.-=P"\<#OJL36PE6RD?;>=C/O.H)00E9,8B,/P]P3LH2PN$-'X]8GK= MD#;QO'U"_\G5CK5LF89WLOS*Q84YJU/'R 8SV)QAW'Z,1Q$5T%W$!]2V+JDXA&\16\ MN*LY=GCQWZRYK]06:=B/9'?,G:Y9!C,/MX0&]03>_,VK<$3?7N$Y['@.KZ'/ M-[@#\Z8$(G>H_TR*C)><.3&CQ11 1%.!8D8J39C(48U"HD9: ZK;2A]RPH4+ M1O'RK(WC96,=P)3@8J])#;A/"Z: 9+*J&^,&T7WS<9WQFU=I1..WY+_^?RX4 MP$EV8&779]KPYS\Q?(N+RC-0;7%V3O+[OBOZAUD+MRRHOQ\^2P]XQM^44NL! M2@(7&CK/:W*31*D?Q_'@S!9/J#\9#L^C0I\FB3].T\&%-:1^%(4#\M4=@CB1 M[ EUN8=65+J+3?UQ1/T1C5]P2_TD'?I)2'L\H]'8CR9I;P[UQW1\7EF/IL^8 MTELZ.J>._>32'T:#;Q*PKO?'#?/_6"57#=Z%!'8[/"'L88+W3/9(9.WV_06E M,'I)<1C&_BA->DOHBS_9_XT\)I/4#R^OODT7?4!V=7,I[1>_?P MT'B\-L*TMW-G[=XV]^V5_D=X^S#ZQ-2>XZJ4L,-4>CM./*+:QT;;,;)V%_Q6 M&GPNN&:![S-0-@#].RG-J6,'Z%Y\\]\!4$L#!!0 ( #2%=%?&>-[DG0, M -\+ 9 >&PO=V]R:W-H965TY I D;Y9K;1U/2;Q2VN'T MNP6+80KJKV(BT')JE$6202X3GA,!RYXU<&^&@8XW <\)K&5C3?1)YIR_:.-^ MT;.H)@0I1$HC,'R]P@C25 ,AC;\WF%9=4B9)UE5LB!6C4BJ>;9+1SI*\>K.WS3TT$CKT M2(*W2? ,[ZJ08?F-*=;O"KXF0DB=!)Q"81.?MHA'/?\$GE^?V3=X_B?/_-%1*Z3VQTBZ M8VYDP2+H6=@2$L0K6/VO7]R0WI[@V:YYMD^A]Z=5HQ"^)$E>]9_Y(<^QN0@O MM"%)+%BN#J^YXGX:_>N7CD?]6_)_>7\W#0:+GPX\> 6!^O-Y H,X%A SM4M] M JV#21Z_2WXLLSD(,EX>+7N?*Y&@V$6U9X1M)%"V2I:2/Y/E+G2\^?9W;R"B M1 *9B"0"\LS2$LAYDI,?P(2\(.-22<7RA2;$%'E@(EH1WZT:J48+PZM60&EM MGQ'7]J\:IM_JT'8K](+:Y]M7M*Z^NY!SUPM:E-*+1C*UP\Z[V^BTPY87T#V_ MZ]T>$L;&5V#N;=O]=4;0]MZ1#OP]TB[MM*X;17P[],DS2/T)N2#P5N _ ZX5 M)Z_H/5+P$X5,@!(#C45^"O@)30EJ30G^BZ8(2'&!MXZ7@?\YT4NM M+WSW23[2F)/5CNGCKR$HOXRP_-M[IRI'J1[=V$I%4TN.\=O&'NX_L1R?^(O9 MUQMYL]>O,Q#9H2(UF^%@ZXS:U+W$Y_4U<:^K-G#M3E-WJ.U[]=Z!^\RS*;W$ M)Z;[ =6JHULD;,1YMKO;.W#/N&*I?-=_Q]3EH\9S&D-7!B(VHZ4D$2]S5>7@?5T+8+KT9?%.88I9^DL,14:E]A5XEJG*P,Q0LSPLVYPH'0+%&ULO55M;]HP$/XKIVRMM@HU[\!:0.*M M&IK:(F#;9Y,<)&H29[8IW;_?V0D9TRB:)FU"(C[[N>>>NYPOO3T73S)!5/"2 M9X7L6XE2Y8UMRRC!G,EK7F)!)QLN] KV1:7J#Z7C$*--X O*>[ET1IT)FO.G[0QB_N6HP5AAI'2#(P>SSC& M+--$).-;S6DU(;7C\?K ?F=RIUS63.*89U_36"5]JVM!C!NVR]2"[S]BG8\1 M&/%,FG_8UUC'@F@G%<]K9U*0IT7U9"]U'?[$P:L=/*.["F143IAB@Y[@>Q : M36QZ85(UWB0N+?1+62I!IRGYJ<'X\6$\?5@MAJO9XP,\WL%X,9W,5K"8+3_! MNQ5;9RC?]VQ%H;2#'=6THXK6>X6V#?>\4(F$:1%C_*N_31(;G=Y!Y\@[2[C$ M\AI\IP6>X_EG^/PF;]_P!:_P#:.([PHE88$1IL\ZSU-9GB71%^9&EBS"OD4W M0J)X1FMP^<9M.[=G) :-Q,"P^W_Q:DYI#?Z!UK#1&IXMYY*&1;S+$/@&E& Q MTG6K"RR: L-&\+QN:A02]@D_P# &&C"09K%$V'-D?W3$0)^&Z]/:Z3APG/,D8UF*.(L%"_V<.&X2UTG0\M+PS! MZ\(%F1T*$KH!D9(Y.L)=T4\#O+;3@@-+@*/SG)$+8Z M%-$P3(\ ?B=L=6G7]8\8KH"&A&S>F^D!KEAVJJ_LHU%%==B:@2S!-$$UM9K= M9N8/JU'W$UY],*BTV[20%'Q#KLYUAYI#5$.X,A0OS>!;&ULG55M;YLP$/XK)S95FX3*.Z%I$JDOF;H/ M7:,DW3X[< 2K!C/;-.V_GPT)96H::?L"OO,]SSWGP\=DQ\63+! 5O)2LDE.K M4*H>.XY,"RR)/.+U&QG=3R[,.CB7=%LHXG-FD)EM6-KT,3WP;\I+B3@S682C:S:U7",(&:;*,!#]>L8;9,P0:1F_ M]YQ6G]( A^L#^[>V=EW+ADB\X>P7S50QM1(+,LQ)P]22[^YP7T]D^%+.9/N$ M71<;!!:DC52\W(.U@I)6W9N\[,]A $C<#P#^'N"WNKM$K-R.?^QAJO5:KY>P9. MTBE,H)/NZ:X[.O\#NACN>:4*"?,JP^QOO*.E]?K\@[YK_R3A"NMS"%P;?-@&Z>PW&C8H7MP3T1:0.#MS87 FE -)R\H^U2?(7%M MUT\&C@L[]N(^G%:R$:1*L8_PPL"^&""\V+?=4=0C9+.1J:"U&0-OB;S$M^-X M@/)=.QJY<(LUEU3)=X?@>_;(C3]RS\N:\5=$(-FS43=(%-M>'+S#A784>[U& MC:*2BU?($:6];_LP1>2_8] '&T81K+DB;'!<81S;?A@-/$&8V!=)+^'8)^H, M1DB)8ML.2@DI;RK539/>V\_BJVX$O85W@URW>:N;! QS#77/1Y$%HAN.G:%X MW0ZD#5=ZO+7+0O]/4)@ O9]SK@Z&2=#_H69_ %!+ P04 " TA717HG.0 M!.+E7%#(IJX^I: M M/EH3F\E:RJ]6 M^)Q-'<\2@A)28Q$8_E[@#LK2 B&-;SM,IP]I'8_7>_1?V]PQES73<"?+OWAF MBJF3."2#G#6E>9+;WV"7S\#BI;+4[9=L.]L8(Z:--K+:.:-<<=']V>NN#D<. MB?<#AV#G$+2\NT MRT_,L-E$R2U1UAK1[*)-M?5&)I]3)8$7A!?PPC[[L,4+ M?SK[6!I@852 M;\>YY(T2W#0*: N>\U5_[P+]OO"'P"/JCSPZ"H>GG&*$"VB8 M).0>XX]Q?*9-U93,GE0&>+-3SKJYBM"LDLKP?SK%'N+*#VF$.$'L79_@7_D! MC0<)#>/H^CSIO55X_S9<:%)"CJ[>S7#@$-7-_TXPLFYG[EH:G.#MLL G M$Y0UP/U<2K,7;(#^$9[]"U!+ P04 " TA717BE+C-, (%L MDMJ>25+?]%[TZHF;:]_*L!A:@:@DQ[EO?RNPB1,[GIN^0=)J]Z?_ZF&9;)7^ M:4I$"X^U;,S4*ZUMKX+ 9"76PERH%AN:*92NA:6A7@>FU2CR+JB6 0O#45"+ MJO%FD\ZVT+.)VEA9-;C08#9U+?2_-RC5=NI%WMYP5ZU+ZPS!;-**-2[1WK<+ M3:-@H.15C8VI5 ,:BZEW'5W=),Z_<_BGPJTYZ(/+9*743S?X*Y]ZH1.$$C/K M"(*:![Q%*1V(9/S:,;UA21=XV-_3_^QRIUQ6PN"MDM^JW)93+_4@QT)LI+U3 MVT^XRX<[7J:DZ;ZP[7W9I0?9QEA5[X))05TU?2L>=_MP$)"&KP2P70#K=/<+ M=2H_"BMF$ZVVH)TWT5RG2[6+)G%5XPYE:37-5A1G9]>WMW?W\X\P_[Z8_[V< M+^']5[&2:/Z8!);PSBG(=JB;'L5>08W@LVIL:6#>Y)@_CP](UJ"-[;7=L+/ M);87$(<^L)#%9WCQD&O<\>+_F>NI%'M"@$']@-[LW9MH M%'XXHR\9]"7GZ+,EO;A\(Q%40;I[U[D[(P_@"_VUZ_ M4 !5D\D-G2S8$J%0DMYSU:Q!&-)[!718%NL5ZN'$X+/060EQM!ON@9FJ'5%T MKW*_VEN(?.KXR6CTW,;'/DLX++1ZJ+I*0(4(,BFJVAQ)9G'B)V-V;.K58%&H<3$@H\("3IV!_%T;&. M)/*C2WY(^$'5B908^Q3->>J'47@4G22ASWD(7VC_]9,J'OMC/CZQ%YPH"7Q5 MEN0];2GSQRGWT_CRF8W'L1^E_-0E#@Z*2XUZW9500YHWC>WKS& =JO1U7YR> MW/L23Q=B734&)!84&EZ,N0>Z+YO]P*JV*U4K9:GP==V2_C2HG0/-%TK9_< M M,/R[9O\!4$L#!!0 ( #2%=%-@, (H' 9 >&PO=V]R:W-H M965T<"\()!0.,\@\/<"=R"E)T(9 M__22^<6,R,/A#C M5R.;'[2IMF@45RE_*"MG<+9"G%OQ5J"_746.J3T$V'1PY<=//H! M/"5?M'([2SZI$LK7^!"E#'JBHYYE=)5P!?L1B1DE$8OB*WSQD%_<\L57\KN4 M5H=*+J/\39C:O2A@'F"I6S O$"P^?N IN[FB*1DT)=?8%RN\664C@>@-P7MB MG5!EI;983&M']%I66^$KUE[2?9WYXX=)Q.(;\G__#UIM?W-@ZDY+I0K9X+D2 MMP.RT1)OL-Y(LPQ8[$O#=73I2%)L^>\$$+18EP)!YE M^<](C6' .DK*!LAML\52]Z#)H.4G$M&AM'G#G8[8 M^"WW/12=2F3/WF49G$>+WW%R MFC-&&7L?+1UW_F?MA.QV_Y1T1EF:TC0^WXB4GR)3HL"]"I6/)S3&/3_YQC1/,QHSWH>_ M:XP!YA\1NBZ4M7Q?3=3Y.(SZA/#WJ> U^J\B/>'1SYDEHEN24Q_FE^QF> M]<<:S+9]!2SN4Z-Z6PPK>5LD3"!J%LE(T#8KK.WQE. M[]MNN]8.>W<[W.%C"<8OP/F-UNYH^ ##\[OX#E!+ P04 " TA717TO66 M2W8$ !9#@ &0 'AL+W=OU-55F][M9Q*3!*UM?(8T[?WZ&[#C.&WB5MLO M-@S,,S,,SP#CK:Q^J37G&CWF6:$FSEKK^!7_,L,T#@QK\-IM.:-(K=]@[]JXT=8IDS MQ:]E]E.D>CUQ8@>E?,DVF?XAM]]X$T]H\!8R4_:+MO7< "8O-DK+O%$&#W)1 MU'_VV*Q#1R%V3RAXC8)G_:X-62__8)I-QY7"0"*OLM"KQ6Z*5*>'NH/ MP9G6(V_GT977"SCCY0#Y+D:>Z_D]>'X;H6_Q_-X(CP56ZP7']0P;1JID"SYQ M8+LK7CUP9_KY Z'N18]70>M5T(<^G0&[TDW&D5RBRNR<+W+Y9:,X8DIQK1 K M4I0)-A>9T(*K8^[W&_C\(?9<_P*]]P_IT#R?\ZK-"?K.JL4:^:3I?A4%*Q8< M91S8,7H5T/+>A-U&:X<(N4!0:BJF1;&JL5J5CXABZB783^A160_DLNN<>N$, M#;%+Z"GQ92XK+?YCMGX\GW-&L!]YV$N"\V-CKN_C((*QE\YA5#0>UH&$V/<\ M3$A\(*/4Q8D?HUN[%+N]\/2&Q0K!<(B3Q#^0Q006BX8G\5Y9*2_$41R^$/L4 M^SY%]U*SK''D$'IG/G0)CJ+#$.,00%W20Z>PI5/X9CJI35EF' X.XY(HZH/+ M9!#&ZN".L:D?_[TLNI9Y*0MP2;5>(/X()RO\P4&DUQPI\8CRNI9R4TM'Q[CW M0N2AOYYM!'9LUWY$/B@0W^U*2(1#+SDD\"GU&-.DJTP(#@AYIBL*S:%6=C=W M<,#9, A^>PU_VA.6IX@]0,"KG4VPF-MRF0JUD)M"(U@-"$._=?UN]S!G3YQ5 MZOPDQ^@@VE,@ZG9Z0 Z(M>?3@(2=#J7/H&P0KW$]&(3H4_,]HG9HN9[F#R+T MJ8=QM&4<_3W&+9A:HR5<]KK<.\:X?OQWGUNO^@1WRHR9_:3EKNB]EXK7Q@[4 M^13L=))FKY[V'.\2@R8X<$F7CS&%&DL/4>H^66T@_^UFS"Z@807!*Z.$J(Z>[)DP2Q.46,D':$/HY" M*XSV0C_&L>L98?S"Q&[P?@TEC"V!RNT0P33P<&(&.^=<_)8 H>=ZW[.JY5]U"ADBU]]\V^E[;OI MLGXN[*?7CRZXRJU$H2"B):BZ4-&<^CJZZVA9VL?#7&IXBMCF&MY^O#(38'PI MI=YUC('V-3G]'U!+ P04 " TA71794"WI1@% #P#@ &0 'AL+W=O MP)GS]I\LPLI'7JI MRMJ>!POGEJ?CL1LF<,_?,/RBY+/M_"-_DD>MO_G)=7$>$*^0+&7N M/$(&PY.\E&7I@4"-W]:8P79++]C]WZ!_;LX.9WG,K+S4Y:^J<(OS( E0(6?9 MJG3W^ODGN3Z/\'BY+FWS1<\M+X\"E*^LT]5:H5-V.VHM&#]EC*>WQV=C!#IYOG*_1+EHT^AVT"-WHVBTLNJH+6>S+ MCT&SK7ITH]X%/0@XE%D7(O3K9+4_4RO+!ED$LGJT=IFI@X3/41 MXS^T\W>?U6"[#<<1XIBG L<\WJ.EC.%(L XMP6G*<<)YAY8"3XI%PM'4946N MMTL@3"),0MZAB*2!Z!THPB)F..PHL!D%J)%B3@FZKITT:W\C62JH FTV]($>O4D8YS& M!),DZJTD6%"*HX'#A@(S'F)&^T*P)-(4$\)?>2^* 8N$.T8L1(3#D/0AL. Q MIJ1O?@I. 7=%T6L?CAAH&O-P9YA1+ 2F:=HWU2C$E +^D!E'%-.08Y*28W2I MS5*;S$F4U05:@15+G<.T (0!R=3K'+*!E02"B3(^J E/8]B-#J]1 79,CM&# M=N!":.R@C:KGJ-2V[\>1 "@F!A6( 6MH(<1A'.-P4"CB G,&FEW=/USZ?KZJ M"]]G4&YDH5Q?@>\%;43!H%R\F?^K6T")4'4.<=MCX@0G<1\3DE-$X3!W/U:! MS%C4)JRTD*PO<'>RLF,?#CG0M'.\1PE-0FYF+GN1._L>02P3B 36B;HC)* 2\+VB!]YD,92M,#K>H\(9 M. 7:)PG-#YI3>[N"D,XJ;9SZHR&<_NM]8S_[WSH>(1HQJ '1'H5#Z66O<_^M M8P(P2<=RB:!@R;3-LN&P_C&-(9MH@@E [=%"*-F$HLMLJ7P:-T$&";0R\N]O M]I\9'9HD-%G2;;!0S1/6J[AO'3D6;%?J&8 *(OZYS;W"$/-L[T8 X-">FC*] M*^)S64/]A$ZH+10OR+1R54CPALQ7_J'19$2A($,<6!#2T)>")C5PLZ2;:I3O M>D(!?5U9YTORD]R4#HMJ[="N4SB-0&Y[^SM!=T8!/%1RI8L-&4%%R)"R4&2? ME&VEH-[ZAQ#T;6,\RUIBM?35PWJ.;D/Z*[5.AJZYX\XK!&X&\^:M90%K5;OV M0;*E;I]S']M7S(Z]?0O>9&:N:HM*.0-1 :TOPN MX$DJC6> ]9G6;C/Q&VP?N9,_ 5!+ P04 " TA717@HP6IC($ "N%P M&0 'AL+W=O\ M$Z" !.11I Z#!F;WLR$&HDEB:AMH__TZCTG)D'%!LCH?!L>YYQS;Y\9.[N", MR0O=(\3 CS3)Z%#9,W;HJRK=[%$*:0.79*?2 T$P*D!IHAJ: MYJ@IC#-E-"CZ%F0TP$>6Q!E:$$"/:0K)SPE*\'FHZ,IKQU.\V[.\0QT-#G"' MEH@]'Q:$7ZDU2Q2G**,QS@!!VZ$RUONA7@"*B']C=*87;9!/98WQ2WXQBX:* MEH\()6C#<@K(?TYHBI(D9^+C^%Z1*K5F#KQLO[('Q>3Y9-:0HBE._HLCMA\J M705$: N/"7O"YZ^HFI"=\VUP0HO_X%S&.CQX_*4_7XU7L\3A^?YZO9/ 2+QV^SZ8C!.Z.>!ROA )4O0+T*QNLJ3 PA88#6'6"8?P-# M,\RV^8CA2W3H %,KX>!YZ8%/?[4MBW<[C2&@\>6,)I SFE!,\P )I]%%HVE8 M9M:):Q:\INS$;9G"I)2RVJ7RTZ!/#W"#A@K?[BDB)Z2,/G[0'>U+6Z[()/-D MDODRR0*99*$DLD8F674F62+VT1,Z(4(1X'OMY@700Q(SL,%9WEF]-!IEDODRR0"99*(FLD0QVG0RV,!GF_.TO MP92V&2Y$WKM+E&3.1?;\8QM=TS2;">1=QYD]K6=9S3"_A4[7;-OM=IN!05N@ MSG=XO1D72IILPP2G-L$1FK#"#"8 GOCK!5PG""3Q]V,QGFRM"JGM=*>[US;U>0KW--YFB_HVB@4S1\%K4,@2^=6O?ND+?II#N S4AW>P:FO/&.9F:_FV:@4S-L'OUP-FF9;E6NV^]VK>> MT+<)RFL6,4'@&W_@VLP2XN\U2R:9)Y/,ETD6R"0+)9$UTD/7?GW?:W_N.ZG2 MDI1,4MD\J6R^5+9 *ELHBZV941<5(UVXY8Q3?,P8P$=&&3\QXFS7FBI"DKM3 M1;_:/=W6 UZJK'^K;"!5-I3%5AJL7E0'4T1V1>&7\D]<[F)9;ZE[Z^+RN"BI MONF?ZGU/;^GW]7Y0EHY_T9>5[ =(=G%&08*V7$KKN/S()65QN+Q@^%#4)M>8 M,9P6S3V"$2)Y +^_Q9B]7N0"=8E^]#]02P,$% @ -(5T5TGXA?H.! M=Q< !D !X;"]W;W)K&ULK5C;DILX$/T5BDUM M)54[@R00EUG;51E#:O.09&I-F&[((16/[/07;0+")=^:I;SZ-4ZU+0:FL3YPP;(&+.\@ M2_+ZG_QL$M$!2!XU #4 - 0X%P!V [!?Z\%I ,YK/> &4(5NU;%7B0N)((M9 MP4Y&45I+MO*@RGZ%EOE*\G*CK$0AKR82)Q:/T??HZU-DW!AAPLEV6] M$30N MDY]PXWU(!4E2_D%>?UJ%QOMW'V:6D&Y+L+5N7-S7+M %%[;QA>5BQXTHCVFL MP(?3>'<";\EPVYC12\SW:))P1?>WA@W^,!! MN)^EJ^'(U4X_\][=+7W7C+L M=@/8%9\]O0%49:V!CAI8/L'N^)ZLZ=R4CRA.BR,U%[__!EWPIRJG.LE"G621 M)K)>]ITV^\X4^^*K?!6L2$JY*O\UU*V@Y0/_N/ "#P#?G5G';FK'=CY&R'6\ MOETXMH/8=J"-!H21RA ' 0!.:]B+%K?1XLEHOQUI<2/D>T85[23TK;M-)UFH MDRS21-;+O]OFW[U6ZZ[.[.LD"W6219K(>MGWVNQ[UVN]AN*NUJ4R73S4^MC. M1S" =C#0^M@..K;C.2X8:%UEZ#L0V4BM=;^-UI^,]H$EN;A)\HMZGX2_='JLOP(&+ M_*'LQX:^[6/'@4/=CPTAAC@ G3=XDQ>5I6P4Y&?&!>V?VQ@XW<=\SN,#%T5" M4F70D^ W;SV=;*%6MD@76[\,Y_X*XJOEK[6_TLH6:F6+=+'U:W#NL>!D$_$+ M^;OCUAHX>"1^A9GM(> .M:^P\Q$*G*'RQW:2SNUT#76P5F>0F-%B6TUPN;%F MAUS4(Z5VM9T2?ZQFHX/U>WBWA(KUL)PJ5X/+,WT]DOY"BFV2#DI';2S]L5_4$L#!!0 ( M #2%=%>L!)S7A00 <> 9 >&PO=V]R:W-H965TN^>+67F065JP>X[$(<\3 M_L\=R\KCW,+6V\!#NMW):L!>S/;)ECTR^;2_Y^K,[E#6:'K^A_UX7KXIY3@1;EME?Z5KNYM;$0FNV20Z9?"B/?["V(*_"6Y69 MJ'_1L8GUB856!R'+O$U6=Y"G1?.?_&B%.$E0./H$TB:0<0)])\%M$]R/,M V M@7Z4P6L3ZM+MIO9:N"B1R6+&RR/B5;1"JPYJ]>MLI5=:5 _*H^3J:JKRY.(A M_AY_>XK1K^B;>BI%DC&!-KS,6V[&!?H4,9FDF?BL@IX>(_3IY\\S6RKN"L%> MM3QW#0]YA\=%7\M"[@2*BS5;:_(C<[YOR+=5S5WAY*WP.V($?&3[&^0Z7Q!Q MB*NYG^7'TXFNG/_''E_-/A##[9X"M\9SS4^!;EJ;1*I/K&QL*O;)BLTMY5." M\5=F+7[Y"?O.;SI-(<$B2+ 8"&R@/NW4IR;TQ0-[9<6!"9W\3:9?9U:F_[H( MPL!Q)O[,?CU5]CQNXA'BTV 8%YW'8<^EV"4CP%@7Z(6AX] N<%"LUQ7K&8M= MMKZ";M&_J#M9E<6*%9(G]=>#I^)%77VLW8@WZGQ!!9,ZA8QTESZ@D& 1)%@, M!#:8,[^;,_]:>_ AU8<$BR#!8B"P@?I!IWYPM3T$9V\I\7R'G+RDC;+G<9BZ M$X>&(WLXCZ,3ZM%@,G('#6_@4NKZ>G.8=*5.S.9P;@-[QJLAM6C5U=_ 8>?D M1IP;EXRJUT;AL35^""O68TWT=8==W>''3/$.R!2-=)>^EI!@$218# 0VF#/L M]$MGYUI;;#.!)@ 4+0)%BZ'0AG-PTK[@J\VQ33UUJ3 ,/>J,[,%,<;&\YZPX MH"0(QBLL*-JAF%ZM8<;N[:+YP 2+0)%BZ'0AG/0=X38W!(: M/1RTO6O1!M[L8QJ2\3H8E#;6T+INH!IT1[]LQ'UCAHV=QQ4F#MJPM6AC=SY3 M$[07TY,2\HZ6?9N%S7U6Y]L1E(D;^2[6&A(M D6+H="&,]=WC7ARM8D;&\Z+ MYP 2+0)%BZ'0AG/0=[#8W,(:31RT'6W1!B8>!IA2/+8=T%Y30^LZU'6QIS<> MTO>1Q-@C76[B9KQ+]6S1QGXZ6M='H*3Q.Z0C*>V3C2UEQMMZ1U$H3SX4LMG= MZ$:[7J]N-'Z'ITNL&8_P-&[V)'OX9HOT:\*W:2%0QC:*RKD)U#><-[N. MS8DL]_6VVG,IU9>B/MRQ9,UX%:"N;\I2OIU4!-W>[^(_4$L#!!0 ( #2% M=%<+[9H-JP( -X) 9 >&PO=V]R:W-H965TPDC=H2H@'Y MTOCL>Q[?C-A&4E+ E".QR7/,GZ^!LMW8L(W]Q#U9 MK:6>,)-1B5

F @$(J-0-6GRU,@%)-I,+XVW :[98:>#C>L]]5VI66!18P8?0/ MR>1Z;$0&RF")-U3>L]T/:/3XFB]E5%2_:%?[AFK'=",DRQNPLG-2U%_\U.3A M &![KP"(M?ZBAS+<3O@DW[X+\P5W.Z"FRH# M;1J<-@U.Q>?VIZ%+1PWTNH'ZDEV)$J4O.'U#@0V9'&H-48?+34:@+_H(0QA6V,86^,4\Y62KE 4_RLVE)WE+T4;SV1@&PO=V]R:W-H M965T):/."]YJ9;V>8V>FOE7XP"P!+'@679N MK,TO M?-^D"Q#4M%0.$G=F2@MJ<:KGOLDUT*P0$MR/@J#K"\JDE_2+M5N=]-72Z/M]J_%I?'RTRI@6O%?[+,+@;>F4XRE+/)>'@__'$W))_)998QYRC*"9-EN)W;CF_ 4L;- M"3G"=3)BG..RZ?L6K3L=?KJQ=%5:BEZPU"4C)>W"D*',(/M;WD?J"CW:HE]% MC0HGD+=(')R2*(ABY(<=')PUZX\HE<:$W;G9)W0U+P7:]H$N@"Y/3% 8> M9H@!O0(O^?0A[ 9?&K#:%5:[27LR!I=D3,Y)#KJ(CTR!J"EG\S)25*BEM'78 MI>*P_ ^X/%TE[7:KV_=7-3R=BJ?S"L\*Y!(P-5_A2I7(.5C(" =CB%U023K! MQSK0SG/0^*P5UX-V*]#N6T!/7R4]=>LI2(OEJ(ZN-!,&>W1!JU,/UZO@>F_T M8JKFDOU&+TV?T&72:BQ8A#,Z91SS$FHSKO?<7V$KJB<6)47S<5466Q5BN$"FT/0[@#NSY2RVXDS4+6;R1]02P,$% M @ -(5T5^0E7TWI @ /PH !D !X;"]W;W)K&ULK59=;YLP%/TK%INF5EK#-VTS@M0$IO6A6]6LW5X=N"2H@)GM?.S?SS:$ M)2E%Z98\!-O<,CF"RX7],"O\!RFP!^K>RIF>LN29 64+",EHI".M!MS&'DR7@4\9;!F M.V,DE9:3VV2D&7)#D$/,)0,6CQ5,(,\ED=C&KX93:U-*X.YXR_Y9:1=: M9IC!A.0_LH0O1MJ5AA)(\3+G#V3]!1H]KN2+2<[4/UK7L8ZMH7C)."D:L-A! MD97U$V\:'W8 @J<;8#4 ZQ#@O *P&X!]; :G 3C'9G ;@)*NU]J5<2'F./ I M62,JHP6;'"CW%5KXE97R.YER*MYF L>#VZ^3;W<1^G[S,YJB"W06 L=9SL[% M^'$:HK/WY[[.11X9K<<-Y[CFM%[AM-$=*?F"H:A,(.G A_UXKP>O"WVM2&LK M>M[UE:^O=MU^&6?:KFM< M[X>%'72V99O6 5W4%7=E&6X;MB?>;<6[O>*C- 55'91^BGFGY%Z.MWZ%IR0+ M:S+3VK'%&%BV=YA[V6V>UYKG]9KWA/,EKBML+DH\+F- 8B(J(U *B;(4 M,P:<=9GJO3A0RS3D[^ [ZMW#6_TZ,FETHJ2UK?I.12R SE4KPE!,EB6OK\IV MM>UV;E21/U@?F\.)V;$>BNZH;F;^TM>MU1VF\ZQD*(=4I#(&E^)+H'6[4D\X MJ50]GA$NJKL:+D2'!U0&B/V)8K"4C_?27;&##"(5V_@"W? M>Z[.O=;1M89[RE[YAA !WK(TYR-C(T3Q:)H\WI ,\P=:D%P^65&682%OV=KD M!2-X63IEJ6E!Z)D93G)C/"S'9FP\I%N1)CF9,<"W68;9OU.2TOW(0,9A8)ZL M-T(-F.-A@==D0<3W8L;DG=F@+).,Y#RA.6!D-3(FZ#%"CG(H+?Y.R)Z?7 -% MY8725W7S=3DRH)H124DL% 26?SOR1-)4(IF).]U](3#%->?D+]K4M-$"\Y8)FM;.<09;D MU3]^JQ-QXB!Q] Y6[6"U'9PK#G;M8-\:P:D=G%LCN+5#2=VLN)>)"[' XR&C M>\"4M413%V7V2V^9KR17+\I",/DTD7YB'$WFSU^?_UR 630'BR^3>03NHMGB M'MR%1. DY??@$_B^",'=K_=#4\B(RL^,:_1IA6Y=0;?!-YJ+#0=1OB1+C7_8 M[>]U^)N2:4/7.M"=6IV "U(\ !O^#BQHV9KY/-WN;NGH_%STZ']'/TN&W=3> M+O'L*WA3S),8R&KK"ENY.GI7)5^/O, Q&1E2GSAA.V*,?_L%>? /75;[! O[ M!(MZ CO+O]/DW^E"'S_+?> NI5RNL22/:49T=:@@O!)"J?YN_,FU MN6[\_N M-,67=O8 #ASGW"S4P"'HNGX0G!M&.D,DWSO4V)UQ=AO.;B?G'Z5RDR7 .\+D M3@3X!LO,ZIA70.[)# +?@AYL,]?8N8'C(MBBKK'S/-\:M)EK\: /?3USKV'N MW5IM@EF>Y&L."L*J!.CX5W#!:07@ _1:["^MI)';HJZ%0E:+N#[@E8+[#6V_ M4V3")-VJ>E^1&;]/F>D3+.P3+.H)[*P"05.!X.=E)KA19B[MM#*C@=/+C,ZP M0V8&#>=!)^?RK9,=*""KE6Q) 5T!V4K%KX 6JC_5ZDTGXD=?Q<&%B#C(]H+V MPNPS9M03V%G"$3PVDK O9:^1WI=VG>%@$*!!.X\Z0ZVXZPR[U!V=--*H7WVO M\=X3>(V9M&HO.#W8A<1?B7EEM2'K2-[J)/_7]675[?G1==4K6M@K6M07VGD- MCMT\ZF[GW]EI4:\=?:]H8:]H45]HYW4X=O6HNZV?Y")9'O8?3N(M2T1"."!O M<;J5G[%@Q6@&Y$9<; 4N3TOD[G0I&0!G=)M+34GR6DKU'^#.A:"YGN]"V):1 MSDE_N&"W18TT=@[RD>6T!,<\.<'("%N71T=<)DEFH/J@;4:;XZE)>2C3&I^B MQR>D&0_5<59Y8G*$K\["OF&V3G(.4K*2H>"#+R?+JN.EZD;0HCP_>:%"T*R\ MW!"\)$P9R.&ULM9EM;^HV%,>_BI5-4Z^T MDM@A 3I HK33JJVE*O?VOC;) :(F,;,-M-]^3@()#ZD;,GC3)L;GX7=.;?]Q MNVO&W\0<0*+W*(Q%SYA+N;@Q3>'-(:*BP180JT^FC$=4JE<^,\6" _53HR@T MB66Y9D2#V.AWT[%GWN^RI0R#&)XY$LLHHOSC%D*V[AG8V Z\!+.Y3 ;,?G=! M9S &^6/QS-6;F7OQ@PAB$; 8<9CVC &^&9)F8I#.> U@+7:>48(R8>PM>7GP M>X:59 0A>#)Q0=6O%0PA#!-/*H]_-TZ-/&9BN/N\]?YG"J]@)E3 D(4_ U_. M>T;;0#Y,Z3*4+VS]%VR G,2?QT*1_D3K;&[+,9"W%))%&V.5013$V6_ZOBG$ MC@'YS(!L#$A5 WMC8*>@668IUAV5M-_E;(UX,EMY2Q[2VJ36BB:(DS:.)5>? M!LI.]L??1\._KV\'X_L[-!P]/M\_C0??'T9/Z!J-)?/>$%L4Y0[D![JZ TF# M4'Q3,WZ,[]#5K]^ZIE29)/Y,;Q/U-HM*/HGJHD<6R[E ][$/?HG]4&^/B<:! MJ4J0UX%LZW!+M!['L&@@V_H=$8O890GIS1\I5^:XS'PO'3MOBYWZLS_Q][2, M)L#1:(I&:?U%68TS%\UR%\GZOQ$+ZD'/4 M< %^!T?_M%^Q:?Y3QG,D.]BJ[[HMQ[*ZYFH75IM.35@GAW6TL/?OP+U P)X3M-,EQ"[5YU:1NY=2M M*BVDDQ"0^K-->15Y7>)6-6)M3C6)VSEQ^]05>C)FNQKF\;2#);P'T,D!.MH- M]6=ZGJLF#5; E3Y!VV6(GGG@05F^G7-NKV=RML>.K>*0M\ZYP?HL#"D7R5#6 MT/(C/HO9WND4;MBM@W;J,ZM+OB-O\ F[;46PS&5G!\QJN.U#,&W@NF"D "/G M69$5FS&8<9E0">H@E#]2W1 ^]TG!9NC'C,RF>#?DE]!,N M!!36*ZC==9P2?[%!EQ8D"^'NM-AN6TV7.(==OH1JPH5LPI5T4^DWOEM\+(/: M"<*A/M#'J,M0""&L5T(U]JI2VF.98V.KW3G&U:93%[>035BK3$[=ETI1.U51 M+R&22"&22'61M+<2*U%NG+M?4I9-/%BL^P"%UB'X-(W[ LE%7L(S9&I;I9Y< MTA#]$TPA/3\^0)T>I6<&.9.VV1!?0BF10BF1_Z^42HN@=VMG]4,M%&574;B% M?/I1=E,SK.BJG;LB):[V\0MQ1/+L4SUXD6Z3WRA,F)8O2QSE0'W@R07T^94QN7Y( ^;\F^O\!4$L#!!0 M ( #2%=%>8F9QQN0, #<0 9 >&PO=V]R:W-H965TV+;T-1DQ> M\P1C_6;%1<247HJU+1.!S$^-HM"FCM.Q(Q;$UFB0/IN+T8!O51C$.!<@MU'$ MQ,L$0[X?6L0Z/'@(UAME'MBC0<+6N$#U+9D+O;(+%#^(,)8!CT'@:FB-R+O /?RZ!Y,*$O.G\SBLS^T',,(0_24@6#ZLL,IAJ%!TCS^R4&MPJ!3ZNV#94#WS_)^8!M0V>QT.9_L(^_]:Q MP-M*Q:/<6#.(@CB[LN<\$4<&+CUA0',#FO+.'*4L;YEBHX'@>Q#F:XUF;M)0 M4VM-+HA-519*Z+>!ME.CQ>-L^M?'R7AQ=PO3V?W\[NMB_/AY]A4^PD)Q[PEX M8K(G05=4*A;[0;R&Y0O@,PHOD B)"#R$WVY1L2"4OP]LI5D9;-O+&4PR!O0$ M@P[<\UAM)-S%/OJO[6T=31$2/80TH;6 "TRNP76N@#K4A0]@@]PP@3*_U'AP MBZ2YJ0>W8=*J@L^06M5(YLS=R(1Y.+3TH9(H=FB-?OV%=)P_:GBV"IZM.O31 M+*_=[*AV_U:F(>.:H;53-'.<=Z-VB[8=9V#O*EBT"Q;MLUC<95N&+4.L9=%N MQ*)3L.C4LGA@\1IA%F.5RUK3=Q:I6Q#K7FPS=7\"SU[!LU>;P+O#B9^;$W\% M7_@>!:1IK:*:@?6.JNA<.Z2ZAOV"0K\1A6])4D>A7T&AWZ^F0)Q2,)V+'JH< M[G@_D_[I_4R.E)LT)7(%W],VA#Z,=RAT6X4'-+W9D)QJF16Z"VY9"(\HHDJR M]2X)O" 30!R(,LTF+OCLI4Y3"2WCH1>(Y_4>J(R!5M3=I2?276H^J97JQC*6 MPYU=]U+4R7FJ?D3D?7EJ-5VQSM>+>=JF0I^*29XK\AM^1'R:>G];;4?%(O^HWUMO]#)EQ] MZDZ=.UH*/VTL_/];;]]PZ:9Z*Z%[T%O:>TMO:=D_Z"7ZQ]LZDKMY77=RHNZT M; ?TO'9PKM[F<&?7O11^VECXWYS7(1BG4ZL$CR^C54VUA5/BZEX MG,V"Y>?92'W/Q#K0Q$-<:5/GNJMS([(I-5LHGJ23X9(K/6>FMQL]V:,P'^CW M*\[586$<%/\5C/X#4$L#!!0 ( #2%=%>4/[??\P0 %,B 9 >&PO M=V]R:W-H965T-W13 MPC)G.LZ/W8GIF.]4PC)Z)Y#%76@YH8'@13V3^%QW*:ST'13NI>%H&ZQZD+"O^DZ!$0+\,Z'\T8% &Y$-WB['GB0N)(M.QX :8V$N$L MIG%+/+;'^X$%X.H45'D(7O(P#ZS$V6Y]CKS>&0J\H-?2H84]_+==HYYT,Q_;P:R)TN-\6WDA&K[HI>CFOU_&F:.G9O"#UVTFFS%W)+8GH MQ-%U3%*QI\[TYY_\H?=+6Y(A82$D# /!&G+T*SGZ-KJ6]XFENQ1%^I87NK+N M](Q45*3H$\O0,R5"?FY3Q@KMJ@PD++0/MU>,"8U06LQQ?X1B\MQ69O#'2!<5 M*6@A-3095)H,K.A[*I5@D:(Q6IXJ@G,KHJL"D+ 0$H:!8 T=AI4.0[!2-824 M Q(60L(P$*PAQZB28V2=%M\$RB:?$@8!H(UDG]1)?_"FOR;7?I Q5'.#RQ)T%YG M'>EU&R71QIQ3&XI63$AUAB35CY3X#)$LUH>9T+IEF5ZW"TD$:R]I%V_T:9'' MVLVN\D#",!"L(<]E)<^E59[ \X?H+B%96UZMH5UK$R0LA(1A(%@C_[Y7>QT/ M[&%1HH 4 :6%H#0,16N*NT*)9/J$2WF<&YG=!9"TA:6-(:3ZS U,17 M11%#-=M,>W?RD.AG !=H;1[7K1FWPCIG')(6EK3CC >7H\'; MA .UVDQX[:%]JR=\<6VMV04US:"T$)2&H6A-#6KC[/?A"CZH7P:EA: T#$5K MBE([9]]NG?_CSQEV:F=]0.WT.R/VO6)^V7?;I@7&T97Z"O+2!8Q_9"X7:U8 MI'5XKU:!>FE06@A*PU"TYANSVDX'<'8Z +73H+00E(:A:$U1:CL=O&.G34%" M?&O>U4I$GZB(F*1QOK@JJE?KZLI.[:S/*5/\JER!MHJA:$7FW:.7ZBD5Z_QK M!JGK_BY3Q?OUZFCUQ<0L_T[ K2\O/K>X)F+-M!H)7>E0[WRD$R.*+QB*'<6W M^2OZ!ZX43_/-#24Q%>8"?7[%N7K9,0U4WY%,_P502P,$% @ -(5T5]WE M(**2! "AX !D !X;"]W;W)K&ULM5EK;Z,X M%/TK%KM:S4BK@DV M)M$2FA'4ZWZ4-+9_4R(DZ "SMI.,BOMCU_S* 9"K-"Z M_=#P\#V^Q]QC']FC(Z&O;(LQ!S^3.&5C8\OY[L8T6;C%2<"NR ZGXLV:T"3@ MXI9N3+:C.%CE04EL(LMRS22(4F,RRI\]T\F(['D;+<\>F)/1+MC@!>8_=L]4W)D5RBI*<,HBD@**UV-C"F]\V\H"\A9_ M1?C(:M<@H[(DY#6[N5^-#2O+",W]R]@ M?K_X$WRYQ3R(8O9U9'+15Q9AAB7NK,!%9W!=\$!2OF7@+EWA54>\KXZ'2 %@ M"I(54_3&=(:4B N\NP*V]3M %K+!C\4M^/+KUW*(,>W*4(WW$%"!!YMXBCSM MZHO8.:[]CB_2]1T*M$$W6C8+W+!=$.*Q(63.,#U@8_+;+]"U_NBBK FL07Q0 M$1^HT"?3,"3[E#,Q.X0X.@3+&'?Q+4#<'"2;I X3VT*6A^R1>:A3.6V';-L= M#&'5KI&E4V7I7);EO,H2_ ?\LHQ 2-(0IYP&^21%(_9:?SOM(J3LK^\'U 36 M&!JW&AI7:^6Z.HEK FL0]RKBGK(F_-./OL,T>R16PB[F!1RT:L5I7:%AJX([ M6]EGZG=8Y3K4H;+AB7J&UC5RG%:*I\T\VW+@H#O'ZRK'Z\_3V*R+CK*_OJ6F M":PQ--"2"[:E564EG";NNM":Y&MN!>I5FAJO-WO8)4EX1I(025I(ARC5*+W) MH-,5TK6@YYUA(PT,5-J$C\G7[R2NU>3H0FL.C[0Y<*!7P$K;U)N\)K0F>>F> MH-H^]1>PTRFY]D*D[O:]M*3S@4I_<;& W1/)#80C15Z;S6>X&2CM#%3[F0\) M^+:3N++#WC6L":TY/-)!P:%> 2L=66_RFM":Y*4U@VIOUE_ 6KU7B7;A"HRD MJT)*XW*I@-4H?*3=0DBK M@)%6WZ4+K4E>NC.D=F>]!5SBM277WF]1=_M>6M)5(2V[1ZAC^\ASAK4)I&3S M&38)29N$U#;IA08K7%,OZ^2B=>=(%UJ3L7102._F$=*Z>Z0+K4E>&BZD-ER/ M^V0I9EZR!BS:I-$Z"H.45WO33,S.BGWJ60GNU&NZ7ET4LX7 MKT;=A:_54.E":XZ--%3H6F_A:_53NM":1QW2=MEJV]5[,2KQ6HN1XUKUO_9D MKDZB+TFS=MHF*G23'T(RD"\_Q<%;];0ZZ)SFQWNF;%ZKPGA;S=9!]7Q[^1_4$L#!!0 M ( #2%=%>WBO]\T ( * ( 9 >&PO=V]R:W-H965TBS'0O?T^G&=((#]NO[O=5 M=IUE3B4,>/:++=2Z[\0.6L"2;C(UX;L'V.>)C%_*,UG]HEU=&^H1TXU4/-^+ M=3]G17VES_MY.!#XX3L"O!?@C[#-U.IZ/9%%T,05&6R4OT&3U.A^CB MXV7/57HTHW'3O?-=[8S?<9Y">8T"[PIA#P<6^>"T_!L56N[;Y*[.V 3%35!< M^07_$-06JG8)[2YF3]W(DJ;0=_2FD2"VX"2?/OC$^V*+^)_,W@0.FL#!*?=D M+*"D;($4?09I2UK+224WFWV;Q)Z'XYZ[/8S0KNH2GS1%;]#"!BT\"XT5QU(CMAU!!&9Q'*S5RF@I7FE6.=Q*@]?(P).::T ME&$OZGAV2M)0DI.40RBY9,H*1EHC8K_CD2.NOU6]P>HT6)V36*.\S/@+ **+ MK5E=*U_'LFX^"8[XVE5A1'P[7MS@Q6>MK:9CDHL7M 205XBK-0@;:6R;HP@? MD;:K B^,WOD;=AO4[DG4&5'.;OU MNW>E]R;*8*F%WG5'QQ+U>5AW%"^K(V7.E3Z@JN9:?T* , 7Z^9)S]=HQIU3S M49+\ 5!+ P04 " TA717]H-J=AX$ #($@ &0 'AL+W=ODCCE(VTE M1':EZSQEGTS-A[2 M7,0DQ3,&>)XDB+W>X)AN1AK4WCH>R'(EB@Y]/,S0$C]B\93-F&SI-4I$$IQR M0E/ \&*D7<.K"0P*A]+B'X(W?.<9%%*>*?U>-+Y&(\TH&.$8AZ* 0/)OC2/'%E2KQRP<=Y_?T+^4XJ689\3QA,;_DDBL1IJO@0@O4!Z+![KY$V\% M.05>2&->_H)-9>LX&@AS+FBR=98,$I)6_^AE&X@=!_B>@[EU,/<=['<ZD&,7 M"'JX'>>F&L=\9QP7W-%4K#B8IA&.VOZZY%P3-]^(WYB=@(\XNP26,0"F85H* M/I-N]SO$I#M4N;?H6'4P)KR;=K^787^GA.!8I!QN3VPL3K &0Q2L4 H#0"^$=.,KGPA2H M%:I;HA8[SGIL!C P LL;ZNM=<0I#U_%,R_=KPQ9QIR;N=!+_ACF_DIM)F"=Y MC 2.Y!X@XQ,25.TR4@!**!/D9]FATE -X.Q0NX"6;;JF:^R)4%E*&;[EVFH5 M;JW"/3[\[>@/0(J54^ >D(*.Y]JNMS\%"D,K@+9AOD/>J\E[G>0G*".2/ODI M@T]2@65V*HEZA^/;MN/LL>P_T.G:9]P36$AC4 H,S M[')!G_)[ FO)AT9S6AJ=,SSK7F)_,,JY\G T#I,7&A!:>]G[L5V;^,XQ#SN) MW^0DCDBZ+!F31&X5:UQP5K/MQ#IVQOI":RLW&^7F&7)V"]I7"'I":X>@J4U@ MY]E_>M9:!]EHF8$5^.Y^VGYLV*;>U!6PN["X0^%*=K'77<*+G*5$Y Q7%<:" MO!0-M81.^*/GL2>T=C":6@4ZYTCES@KHZ!#TA-8.05/HP.Y*Y^14/JQ>3,?U MH&_[^[FLL+0,Z'OO;L)-H0,_J'1HR@7+RP_8"Y)>R%UX*8.D)MQ3(;,5=8ZR M"#9U$?3/D;B]UDU]H;5#T%1.L+,R.3UQ@X,O'PCM(-C_ME#9V8&LY/>25M^Y M*T@P6Y97*!R$-$]%=6U0]];7--?EY83>F%=W//(;>DE2#F*\D*[&I2?7#*NN M3:J&H%EY\_!,A:!)^;C"*,*L,)#O%Y2*MT8Q0'UY-?X?4$L#!!0 ( #2% M=%<6$_Y"WP( +8( 9 >&PO=V]R:W-H965T7W"2L!C/;2;I_/QM2E"9. ME$E[ 1ON.?X.EFWZ&R$?U1) HZ>25VK@+;6NKWU?Y4LHF;H2-53FS5S(DFG3 ME0M?U1+8K!&5W,=!$/LE*RHOZS?/)C+KBY7F1043B=2J+)G\Z#T_ MN"L62VT?^%F_9@N8@KZO)]+T_,YE5I10J4)42,)\X-V$U\.>K6\*OA>P43MM M9),\"/%H.Y]F R^P0, AU]:!F=L:AL"Y-3(8O[>>7C>D%>ZVG]T_--E-E@>F M8"CXCV*FEP,O]= ,YFS%]9W8?(1M'FK]8..3#T_+/3!IYZ)+[)E\7$G-'S@SI"M0Z M1&X'NY:N5?S%Z$)5U8-BU_HZ"W% HCCN^^O=+*XZFN"(=G4O,*,.,SJ).9%B731[ M@=F*4,Y942H79NM"=X;')(H2O$?I**,QQHD;DG:0]%\@1:6EV7<0%TJ!DY8> M8(112@.R1^LH"W"/1F[:N*.-SYKY6HHY*(O-.)J#FS0^0(C2)";A'NEA&8[" ML'=D\I..-#F7])?9S\V75=I)F1P,3VD:A,$>Y6%9% 64!F[*M*-,3U)^U4N0 M+JKTB>IO@G-N(NJ=[!0<9+2E/3VL!QUE) P MW9]3?^=4L2>ZV9471:40A[E1!E>)22;;4[+M:%$W!\V#T.;8:II+\V,!TA:8 M]W,A]'/'GEW=KTKV%U!+ P04 " TA717AKT7O/\# +$@ &0 'AL M+W=OLHW.V'AE.Y$$F?PPA#?I2EA_SQ"0@\S#6OO%U[CS5:H"WHXS,QS1"#]4S[A!^><* 2BH@_8SCPQC%24I:4?E4GGU*$?Y"WOBSFZ.['#U-=R.%4DAY5T(\EM'D&>@'Y M!%G&/3(-T^I)?QI._X,PF8[[TG4ILE9JUDK- L\:4-HGHLRR^[.4BQYX3B*8 M:=(F'-@>M/#G'[!K_-(G:22PED"K%F@-H8=O5)!$3N&EZ)-9YKI%KO+V/O0, MUW4MD,[ :.;P7."<%N MG!.XGJQJ/T.W9NA>4-2G'6.0"92K0LJ5D:Y14MOYW'1P+V3>C<,F]K%[IK9> MS=R[H+9MFF>K/ AUK4.]CB#;LP-L!?V"_%J0/RAH(<@JHNA-B7FF)+M'1"!K MX@4_H3B3$H%+?2LY[S_M-G)55XN:WZ=U<)1KM8X$UBI(4!)#@YVKF(48$ MH#O"$4$YL$BN%OW[>=4KF TJQL2PO."4\N"XMQ;^N)/CP7TT?"4992=>& M<^JU.420+H$IMWF]@D?=_,=":U?EN/UCZR;'X<&VX6J1(Z&U11[;"#S<1WS' MJZ#_3.>.S8->+AKN-IS3J_G7.-T)QX>]];"'UL- M/-QKE)Y[A3U-]M)1#=\%UI#O^CK_Q^&QKIZ2(Z&U*W-L9;!WF^]&[5O&0FN+ M/+8W>+B_^8[O_([O<&"HS^DD[@:Z3BNNS>_8;>#!O?YZVP6]MO/&/B29.S\LU#>2)H7CR\+ZD0-"T.MT!6P%2 O+^F M5+R?J/&ULS=U=;]M(FH;AOT)X=Q8]0#J6J"^[US$0 MFU5D%2:S03(]<[#8 T8JVT1+HIJD[,YB?OR2,NU2R73%%.X!M@\Z=J*Z2,7O M&Q7YD,6+A[SXK;PSI@K^6"W7Y8>3NZK:_')Z6L[OS"HMW^<;LZ[_Y"8O5FE5 M?UO['[OGS\HB6YEUF>7KH# W M'TX^#G_19X-FP.X5?\_,0[GW=="\E6]Y_EOSC5I\.!DT>V269EXU1%K_\"D'3!YZQ:F[8#I6P?,V@&SPUT:OS+@ MK!UP]M8!Y^V \[?NTG#P])/;E>3IXX]\5R]16J67%T7^$!3-ZVNO^6)7=+OQ M=9EDZZ8_OE9%_:=9/:ZZC,35WX*?@X^+1=;4:[H,U/JQZYKJ_2DR59HMRS]? MG%;UQIHAI_,6%H]P^ H\"C[EZ^JN#,1Z818=XZ5__-0S_K1^D\_O-'QZIU>A M%_RXO7T?A)-W03@(A\&O7Z/@IW_O>E_7?D:GZYH9-,QPYF$B/Q.9>S/AR+,7L9_YE!;/>^%CDK?\G8Q>?3/J+<,' MKP[7;WX3K_U$G+H;/7?8:.>.7W&_F/M\>6^*8)FGZX[=NO(.;SX??RDWZ=Q\ M.*D_ $M3W)N3R__XM^%T\)]=Q4MB$8D)$I,D%I-80F**Q#2$.4TP?FZ"\4X? M>3YFNFI_3-8^B44D)DA,DEA,8@F)*1+3$.;4_N2Y]B?>#X!_[.;H9A&D]:= M?G%ZOU__Y$83$E,DIB',J?_I<_U/O?7_ZWI;UM7_+2_J@=GZ M-IBG];:RZGM7K7NIOK5.8A&)"1*3C]ATK]1'PT'SWT&MOWS=..QX74+NG"(Q M#6%.&<^>RWCFG\>GZ[QX5Q\>UT<9_PQ^.*OW8GT+F<0B$A,D)DDL)K&$Q!2) M:0AS6N+LN27.CIK5GY&U3V(1B0D2DR06DUA"8HK$-(0YM7_^7/OGWH\#]32) MWZ3?5_7,O>QJ!"_1MQ%(+"(Q06+R_,4LY6PT/ L/YC+D)A,24R2F(\ZMH_ MLG?MDYI -8EJ,:HEJ*9035.:6_LV\QWZ0]_=M0O+[\\'!T%^$VR*;#W/-NDR M2-<+&P*DJWR[KCK[8_1B*CP9C\X/3M==^W>E=S.@H2^J252+42U!-85JFM+< M9K#9[] ;K]E#Y3?F77ZN]SP)C8513:":;+7#T<.S\X>$8WFZ":0C5-:6[E MV^1WZ(]^?UW7_[H75?:_9A$LS+Y M83@Y/#)&LV-4$Z@F42U&M035%*II2G.KWF;(0W^(?)6661D\WMD6Y.O@/BVR M70^\]4CY_*V=@(;'J"903:):C&H)JBE4TY3FWIMEH^:0CYJ;R_#Z793GWXF^ MDRI4BU!-H)I$M1C5$E13J*8IS6TJ&T2'QP71(1I$HUJ$:@+5)*K%J):@FD(U M36EN&]@@.O0'R9]M\+;+VIHPKCD;V]D:X8N3B.-!QT7RU_YM]JYZ-()&-8EJ M,:HEJ*9035.:6_4V@@Y_<-]Q,S7:GU!-WP\F?]K-H2(S-ZMO]3RIGD7-@O_^ MM/OF?SK; ;TY&=4B5!.H)E$M1K4$U12J:4IS>\8FU>'XN D3FDBC6H1J M4D MJL6HEJ":0C5-:6X;V-@Z],?6GXM\;LRB#&Z*?+6[?._U(^J7H6MX-NF:+Z$Y M-*H)5).H%J-:@FH*U32EN45O4^W0GVH_SI?\Q8Y&TZ@6H9I -8EJ,:HEJ*90 M35.:VQ$VF@Z/BZ9#-)I&M0C5!*I)5(M1+4$UA6J:TMPVL-%TZ(^F^UZ^ZN=Z MMP>:8:.:0#6):C&J)6'W)0>3<.A.<]4K+YP.#A)93>V?6]0V>0[]R?/!;.=- MX1EZ-S.J1:@F4$VB6HQJ":HI5-.4YJ[::!/IT>"HV<\(S9!1+4(U@6H2U6)4 M2U!-H9JF-+<-;(8\\H9SEY_2/[+5=K5_]]ICB);>I]FRN5BILTG0A!G5HE9S M;JOKBO@$NEF):C&J):BF4$U3FEO_-CP>^:HL_3)$/$:U2)4$Z@F M42U&M035%*II2G/[8V]UZ]%QTR1V66MV76MV86MV96MV:6MV;6MV<6MV=>M_ M17(\LLGQR!O)'7>GI]_LW2-HK(QJ M5DJ^W?PCD;AN>':X2U+]N?Z T'PW!T MN-XING,*U32EN65MD^"1/PE^.?OYE*V;XX'.MS,!TV)42U"-8%J$M5B5$M03:&:IC2W#6Q*//*OBXTL=>3? M1N^>02-E5!.H)EMM?R8TG$X'P\.9$)H5HYI"-4UI;C/8K'CDSXJ_F-^W65$? M ZP>ITF/QP+-=K+Z4&">MT\ *9K'J[T+RGQIZLYYR*J[H-Z;C9E7094'U9T) M;K)R7K?/[]NTJ)LG,.M%\^2$YPNW/8_\NO+O8N]>0O-G5!.M-ASME__[@^*7 MZ#9C5$M03:&:IC2WE6Q"/>J;4+=11&?-H]DTJD6H)E!-HEJ,:@FJ*533E.8^ M3,UFT^/CLNDQFDVC6H1J M4DJL6HEJ":0C5-:6X;V&QZ_(-LFCCT\&^C=\^@ M436J"523K>8<>IR'T\.'3J$;35!-H9JF-+<9;% ]_D%0_?_@T,._B[U["O/XN.,--,!&M0C5!*I)5(M1+4$UA6J: MTMPVL&GXV)^&?VR7C]E6997NID6=38'&X*@6H9I -3E^N3#WK/,YMNAF$U13 MJ*8IS:UWFW"/_;=$?UROM_61P#S=9%7]Z^Y*ID56;8O.JYG\6.^Z1W-O5!.H M)EO-.9">=-8]&FFCFD(U36ENW=M(>^R/M-WY__.]</0^GL(#341K5H_/(QS=TWT:&;E:@6HUJ":@K5-*4YS3&Q>?7$O[IWM+LC M8EU6Q;8)ZIZ6SVCRB+I1TOF\Z9FR;I&YR>YW"^!OR[I3;O(B6)CF$I!LW<06 MZ]VK;V\+<]LLQ6%;K6VBSF>P^W>M;Q>A6M1JS?.**[M:Q-E!"Z';E*@6HUJ" M:@K5-*6Y+62S[HD_Z_:WD%EFM]GC@R,>@E7='$56'["#382&Y*@6M=I!$QT^ M D.@&Y6H%J-:@FH*U32EN5UD0_*)/R1OS^!FZ_ERNS#-]2%!64_:ZBG9/%W. MM\NF(U;M3,Z=OW5V!1IWHUHT>;F0>=BQ+J= MRI1+4:U!-44JFE*<]O"!MZ3 M/H'W6Q:#\H.]2Q\-P%%-H)I$M1C5$E13J*8IS6T0&X!/C@O )V@ CFH1J@E4 MDZ@6HUJ":@K5-*6Y;6 #\(D_ /\7G.3R;[%W!Z%I.:H)5).3EVEYYPFX&-UL M@FH*U32EN=]8ZFY*BF4$U3 MFEOO-B6?^%/RO^;KPMQLUXO="=MYOEIEU>[4U(TQ>Z>GNL\GH1DYJD6H)E!- MMMKA\L*#P[-=,;K9!-44JFE*<[O QM\3_QW?+PZ=OYKYMID!/3]YJ[/^T7 < MU2)4$Z@F42U&M035%*II2G.;Q(;CD_/C#I_1A!O5(E03J"91+4:U!-44JFE* M<]I@:F/PJ3\&1^Y7]6^C;\^TFCNM?G$79X1N5*":1+48U1)44ZBF*-DO]BY^-&E&-8%J$M5B5$M03:&:IC2W0VP>/3UN4?$I MFCJC6H1J M4DJL6HEJ":0C5-:6X;V-1YZHWS'J_Y4Z]>-KO9%&G67.)WGRZW M)OBOFZ!)WS:/YV")J_[\N]>[W=!TN]5^<.DLNDV):C&J):BF4$U3FMM&-K6> M^E/KEU-K>>'K>.^11-JE$M M0C6!:A+58E1+4$VAFJ8TMPULG#WUQ]F'-U@T*Z:MFRN8JGJ6M6RN<*JG7UG^ M>$/%RJ3EMC"[%]:3J-U%3E7>3L1V2ZQU=A2:>J-:A&H"U>0/?G*CZ218I-^[ MIK QNB,)JBE4TY3FMH_-P:<]<_"]2=9;4W'_)GKW!YJ*HYI -8EJ,:HEJ*90 M35.:VS(V%9\>EXI/T50D+5K%W;U1I^JF]KH%J$:@+5)*K%J):@FD(U/7MY>41XYMY&Z5:]C;]G_OC[ MQ7S)\V ]/]6[ZM&[KU%-H)I$M1C5$E13J*8IS6T-FX_/PJ/F13,T!$>U"-4$ MJDE4BU$M036%:IK2W#:P(?C,?U/V=5K>!3?+9EAS0NEI6O2TI']GAZ#Y.*I% MJ"903;::LP3GP0T5Z 835%.HIBG-+7L;>L_>$'IWG8==FOU'6 3?35H$^;J[ M#]#@&M4B5!.H)EO-VP=H:HUJ"M4TI;E]8%/K6<_4VO/X.S_5N][1Q!K5!*I) M5(M1+4$UA6J:TMS6L(GU[+C$>H8FUJ@6H9I -8EJ,:HEJ*9035.:VP8VL9[Y M<\]C#A#0!!K5(E03J"9;[7Q_8G3XM*\8W62":@K5-*6YA6^SYID_:[:%WSRR M+F^>3?'#PD>C952+4$V@FFPUM_!?'!.@B3&J*533E.86ODV,9_Y%QI%C8S1= M1K4(U02JR5;;[X3P_>&R&^@F$U13J*8IS>F$,QL:G_E#X^:8^.4/_Y39Y73]\T M&WC(F]-.]>Y=_A]02P,$% @ -(5T5\\C#4A- P 4 L !D !X;"]W M;W)K&ULK5;;;MLX$/T50KO8[0)!=/$U65M XJ2H M@30-[*1%'VEI+!&52)6DXOKO=TC)6CM6U:2P'RQ>9@[/&7+(F6R$_*92 $U^ MY!E74R?5NKAT716ED%-U+@K@.+,6,J<:NS)Q52&!QM8IS]S \X9N3AEWPHD= M>Y#A1)0Z8QP>)%%EGE.YO89,;*:.[^P&%BQ)M1EPPTE!$UB"?BH>)/;F%V'R 6M# MX$4B4_:?;&I;SR%1J;3(:V=DD#->?>F/.A![#D'P$X>@=@A>Z]"K'7I6:,7, MRKJAFH83*39$&FM$,PT;&^N-:A@WV[C4$F<9^NGPT^.'VP6Y_W0_>UHL;N\? MR=W\ZGI^-W^EY9R3P@AYY M6MZ0=W^VP91;!I" MQMB@BG#!HU)*-" 9HRN6,;UMBTNUV- N9NZ+Y[#G>^8W<9_W)1_;^<&AW8&: M?J.F_PLUK^!800SVU@[:*/[2[(#AH&$XZ&1X_\I #HY6]_MM+ ?'@1QTT!PV M-(>=-)>:QI'X6^V.!:&)!+"M#=,IT2F0NZN;+P]MW#NAWYH<)P([B,*HB<+H MA'?"Z)2R3P1V('O !Z3DA>4Q03??J6QSWA" M:"Y*M_$+5=W+ MOE66NU?NF%H3BX0$-X1DL$9X[WR$7&15OE4=+0I; :V$QN?/-E,L>4$: YQ? M"Z%W'5-4-45T^!]02P,$% @ -(5T5Y1 @TBY P C1$ !D !X;"]W M;W)K&ULM9C_;Z,V&,;_%8M-TYUT+1CS)70)4IO< MM$EW6G79;3^[B9-8!YC93G/97S\;* G!<P( MD>![GA5BYNRD+.]<5ZQV),?BEI6D4)]L&,^Q5+M\ZXJ2$[RN1'GF^IX7N3FF MA9-.J_<>>3IE>YG1@CQR(/9YCOGQ@63L,'.@\_+&%[K=2?V&FTY+O"5+(K^6 MCUSMN:W+FN:D$)05@)/-S+F'=PL8:$%5\2W("ORP5X]^/[J2N5OZYR5XW70^WE7_&ZWV]O M@1]^ +[G0X-\;I%":;5="C,VBRJS/2*]YR&R/;R6&:#8T^IMEB)+,.Q+"% M&/['O@O'Y#6FV6(DLPZOJ.4562^ZW^6.\/HBJ]M.5)=?1O$3S:BDYK:+>AV@ M&D#_=3ME;CWV4$PCF74PQ2VFV(KI,ROD+CN"$A_5V"*-4.(>E(F?)!>+Q]QZ MG*%(1C+K()FT2";#5VR]:&&I%[&KZY;5=6@?UF9AYT+T$Y1$%TOVZW4=!DG+ M(/D_[EI6TZ$(DGZTT(.7 %ZKZL2'WFG^\ZP [G/&)?T'ZRG<./)9Y4.C-F[G M*6X@BGT_"2[B&BL]A((XN!+Y;.2% [_S#Z @TIC>ZC0X/>QE,L\GID+;@ )/ M0RVTSH#II^H^\7)S.+ZMX>V>@RGX_7!!'"8)NJ1@*)S !$7A%0JG417:9]4^ MA==;WFXY& +J9?/#>!)>(NB7H0BA:UU_&E2A?5+]@TF<-4-#B\&8>M0AM7'K M#-YJ$8OC7@,8"B=A&'OP(KE[]NBK?ZA03X%;6@@5;:.4WFVLT/'ZV;_>D:RL MGH:?F%3/UM7FCN UX;I ?;YA3+[LZ ?L]A>8]%]02P,$% @ -(5T5V^, ML?P9 P +PH !D !X;"]W;W)K&ULK59=;YLP M%/TK%INF5MK"-R1=@M2DK3:I5:M&W9Y=N FH8#/;2=K]^MF&4)(2FDI[2;"Y MY_B<>R^VQQO*GG@*(-!SD1,^,5(ARC/3Y'$*!>8#6@*1;Q:4%5C((5N:O&2 M$PTJ ES$ _E'9,CLV%)L@((SRA!#!83X]P^F]F6 NB(7QEL>.L9*2N/E#ZI MP<]D8EA*$>00"T6!Y=\:9I#GBDGJ^%.3&LV:"MA^WK)?:?/2S"/F,*/Y[RP1 MZ<08&BB!!5[EXIYN?D!MR%=\,7<_0-W8H45'G+,@=9)H%SE)&J352ZZ0)=@TP71R<7('"6\U,) M>IA?H)//IV-32"F*T(SK9:?5LLZ!90-T0XE(.;HD"22[>%-::'PX6Q]3IY=P M#N4 N=97Y%B.VZ%G=CSHU%KX\]NBV!R=X@2Y2KQD"XH$QD?W6[=!FOV +- MIC:7=>2ZENU:8W/=MM019H>^,VK"=L3ZC5B_5^Q51C")X4BI%9??TC ,1OM" MWP;9MF?;W3J#1F?P 9T9$2 +)[HT!F_RY(V"/8EO8WS/ZQ88-@+#7H%Z$T!2 M5H%.7@ SO0W0W5;HDMO/&B#-A4:HT-M"5Z_W,X2]##M6AXW5X<>M+MH%ZC+: MS^G4,NU*)G(\E."73K_'$86U7^0,.YAV?(\:WZ,C?,N"PG&EK=ALI]5FUL#R M_+UF?#=L1ZQMO1Y@UO%RWRU/3?:NV@-Q;K@GUVP=O06PI;Z1>@C_N.?><:_LF MW4CUH&L 0QX;+O3E;NU&9:GL#&<";A317=-0]7L!7&[FWL3;+MRR56WL@I^E+5U!#N:N MO5$X\T>6DC4@-)."**CFWL7D?!G;>!?P@\%&[XR)=7(OY8.=?"OG7F % 8?" M6 :*GS4L@7-+A#)^#9S>F-("=\=;]B_..WJYIQJ6DO]DI:GGWLPC)52TX^96 M;K["X,<)+"37[I=L^MADZI&BTT8V Q@5-$ST7_HXU&$'@#R' >$ "/+\"AA#NTIB8(/) S"Z(">Y>OAX1$Y MT5C0R/%%1PMZJ"X];GH89U_KN6YI 7,/GZ,&M08O>_=FD@2?#YGZ3V1/+$Y' MB]-C[-G2WHY.0XFW@V _47@]Q*I_DL45$U04_U8(XW!/\/"J,9V&PI]??>:$- MJ)5K7)H4LA.FO^KCZM@;+UQ+V%M?8,_L6]Q?FK[A7E.U8D(3#A52!J=GJ$SU M3:R?&-FZ/G O#785-ZRQ[X.R ;A?26FV$YM@_"?)_@!02P,$% @ -(5T M5T!3FTB9 @ MP< !D !X;"]W;W)K&ULE95K M;]L@%(;_"O*FJ9.V^G[+'$N]:I-:J6K6[3-)CA-4;#P@2?OO!]CUH@8GVI>8 M@WG/\QYB#L6.\6>Q!I#HI::-F#IK*=N)ZXK%&FHLSED+C7I3,5YCJ4*^)A[):BWU MA%L6+5[!#.13^\!5Y Y9EJ2&1A#6( [5U+GP)Y>^$9@5OPCLQ-X8Z5+FC#WK MX,=RZGC:$5!82)T"J\<6KH!2G4GY^-,G=0:F%NZ/W[+?FN)5,7,LX(K1WV0I MUU,G<] 2*KRA\I'MOD-?4*SS+1@5YA?MNK6Q(BXV0K*Z%ZNX)DWWQ"_]1NP) M@F!$$/2"P/CN0,;E-9:X+#C;(:Y7JVQZ8$HU:F6.-/I?F4FNWA*ED^7=S<7L M9H:^HGLL-YQ( @*Q"E%0E2)*\)S0;O+L&B0F5'PN7*FX6NTN>L9EQPA&&#-H MSU'H?4&!%X3H:7:-SCZ^2^,JVX/W8/ >F+SA2-X3EFU&NX21/:$^ 1/1X@5, M'?6)"^!;<,I/'_S$^W;$;CC8#8]E+U7UDB.T>*#%IVB)C19;:&$:C]"2@9: V9G; ]),HR,>@^0#-CT.9Q+0_02U^ M55U76H]/?H!/PB1,H]R.][U_7<@[:N .A)@@4K<;"4M$&E4^"&EM-=Z!ARSQ M\W3DD_+W&J%_>@^L1/_@@,:QYZ=I]@[I[K5A?:7=8[XBC5#[6BFE=YXJT[R[ M);I LM9TYCF3JL^;X5K=K,#U O6^8DR^!;K9#W=U^1=02P,$% @ -(5T M5Q49S'\& P C@H !D !X;"]W;W)K&ULK59= M;]HP%/TK5C9-G=0UGZ0K@TB%9!L/T*JTV[-)+HG5),YL!]I_/SL)&= 4T0X> MB#_N.2:RP!S&-/U- M(I$,M:\:BF")RU3;H!5@.P]@'.*P"[ =C'*C@-P#E6H=< JM3U.O?*.!\+[ T872.FHB6; M:E3N5VCI%\G5.9D+)F>)Q EO?#.=3NZGP>Q^CJYG/AK?S.XGLQ_!;#P)YNC, M!X%)RC^C+^AA[J.SCY\'NI"R"JR'C<2HEK!>D;#1E.8BX2C((X@Z\/YAO'L MK\MTVYRM3O%M]QPR[/0!VQ6>_ MYP!T;79-YW33J6NMSPL=>6U6INI:8>CI5W::C?0%]M;\;!1;UU,X[3#$ZDN6-SK[6Y]SZ;<1BR$B)4 MX&=&T_0!$HCM6NZW5 M[D&K[T 0!I7!(\AA243G075?'!K+[#GVGGL=499I[47Y+Z,N!S8#%567#Y;$IUH6SQ=5S7#WOC([(_-CG%?%EMU;?2/ MOJ[4IIC%).4BDU' M";0EJ/<74$L#!!0 ( #2%=%>>#.Y7@@< '0T 9 >&PO=V]R:W-H M965TDMU) MLNTSL96860PNR$G:V1]? ;8Q0FC-]O8E 7QTQ+U7B',0G+_DQ9=R)81$K^LT M*R\F*RDW9]-IN5B)=5R^RS)J6FT+$R[K1.IT2QW&GZSC) M)K/S^MBG8G:>;V6:9.)3@AT7?U^*-'^YF.#)_L!M\K22U8'I['P3/XD[ M(3]O/A5J;WI@629KD95)GJ%"/%Y,WN.SB/I5@QKQ1R)>RJ-M5(7RD.=?JIVK MY<7$J!7,0UR*>9[^ MF2SEZF+B3]!2/,;;5-[F+[^+74"\XEOD:5G_12\-UO4F:+$M9;[>-59GL$ZR MYG_\NDO$40-"!AJ070-R:@.Z:T#U!D.GQ'8-V*D]\%V#.O1I$WN=N#"6\>R\ MR%]04:$56[519[]NK?*59-5 N9.%^C51[>3L+OKM.KJY1U7K^_O_IX M@]ZB#TD69XLD3E&2-8.Q*JK:0J5X4L-$ENA-*&2"*XEE,9C_]@%WG5U/R(5CGBPQ EW%&B3EL[Q"V9PW[HURI M2RW)%JK2IG"]7K?,\3VN!=M'J8RX6(O5S*47V(2BU#6'Z1_"]*UA7F5J4(M2 MJM&M]&AI#-7O=8R9SWN%[<-\ZE%'B[6/(HRX--""-?3I>O0HOYUH@T.T@37: M>9Z5>9HL8RF6Z$TUDG_>E1@]""5YQ'Y/QJ_".,J#_FCS'.Y0K:3S/HZKBUO/ M66B@P]3S ZP7WP1D/B,#Y<=.JPD=:TI"H69.)?\:*9\M4;Q6=Y;DG_J 4>]9 M^<;>3D#9PAU;9]A@XCM<'UY&('9=9V#6P$<:&]N'6+Q)J@FSOIZ6B=P6YH%D MIQF=1DBV<,?6N4A=[@?4T]/8![(@4+>G@2R2-HO$/OL>;C=[$V+,H95D= XA MV4)0M@B*K5N.U@%@$ N 03T *%L(RA9!L77KT?H ;#<"T>W]O'ITL\V6M0=8 M%$)-->9K!%3]X[YB=PESF*9[0M!>HV_WVLUC*_"Q7>%_2^3MFG]+Y1E@)IDW MP*;?ZHVP0:&'6QV/[4+^%*F'3;+;)/9,0)/<,^&,@L_8LT7RX5;(8[N2K^/> MNV21)NLD&Q8W5JK15PLD6PC*%D&Q=8O2V@[L@]Q1K.YE=#T@V4)0M@B*K5N/ MUAAANS/ZKF<=V&A?U%7;FR"MG8].O*%;0ES7Y?J< M1M]T%S:ZV(W5K-\V*3 M*QDK:E^U5>E,\T5E/4VYM'.-'>F@;"$H6P3%UJU*:] (AIAY"*@_ V4+0=DB M*+9N/5JK1^Q6[]3GBSN:SE4?,(]@79J8@+[O$\HT;6("8A9X3J _A38C"7<< MWZQ.2&NMB-4JS&[C+"^,\8*:*5"V$)0M@F+K5J U4X2!3 B@1@J4+01EBZ#8 MNO5H31FQF[+13R3M?*,K \D6DKZ94^:'.+KI,^(89G1@?FE='[&[OE.?1]II M1B<1DBTD?6](7,Z8HS^/- "#P!^RSJ2UD,1N(>M)&GU%ISV6M).-3B6HB01E MBZ#8NF5I320!,9$$U$2"LH6@;!$46[<>K8DD_X.))'TWQUC /7TE?&X"!I2Z MO44U ] / N8SID\7?6#@\H#[ TOFM+5^U&[]3A6UM+\.Y7K$=?3E1 ,.<^YB MK#]O,P*52G;TV U $@14N>B!V%N#1>TK8'H+.;O-&2ULXWNC*PK]/1_O3J,K_W8HX) MQPD[6HOO9K,U;-2^^G6JI+73C$XBJ&.C_24MQO75D\B HD' G8$U$=IZ+&KW M6,TT( 19V#&:+T6M;\H M>+*B;6B.WT-]2PGQ6$_2&H >YTJ$ZL$;@%@QDMYZCPE)"&9.H(<_/?J*0I7Q MJ?Y\I42+?)O)YLWXP]'#)S+OZP]#M..7^&R.#<=#?!8U'\"T],WW.-=Q\91D M)4K%H^K*>>>I8A7-)R[-CLPW]3<<#[E48ZS>7(EX*8H*H'Y_S'.YWZDZ.'QH M-/L74$L#!!0 ( #2%=%?GD 'S;0( .L' 9 >&PO=V]R:W-H965T MN. MIJ&>;R8\$-B+HSK2)&O&'G7C+AM;CEX04$BE=L#JLX,I4*J-U#*>6D^K"ZF% MQ_6#^Q?#KEC66,"4T5\DD_G8^F2A##:XIG+)]E^AY0FT7\JH,"7:-W.#&PNE MM9"L:,5J!04IFR]^;O?A2. .7Q!XK?41+$)*3 M5$*&DAQS$*I/F$ID2Q5=>]AI&VG21/)>B/0]E0/DNA^0YWA^CWQZ7GY;;P?( M\?ODMF+NP+T.W#-^_FO!^X@:BV&_A?[!1J+"*8PM]0<)X#NPXK=OW-#YW,=W M);,36K^C]<^YQ_=UL0:.V*8]/K3EN%3'V@=]UNE2Z,8L,&8ZH^QB-W <)[)W M/33#CF9XEB:IUP*>:B@E@ITN_Z )PSS3?#/"589@7*A.SW%#M*"X[,,\&^)2 MS"N9G>Q&T.U&\/\W.;@F[97,3FC#CC:\VDT._[E\WLGE:VC.QKN4QCY*Q?H9 M_(;YEI0"4=@H>V=PHU;#FZ>E:4A6F>R\9E+E>E/-U6L,7$]0XQO&Y*&A$W[W MOL=_ 5!+ P04 " TA7177$.0HTD# #,% #0 'AL+W-T>6QE+M[_G!?Z]EW@[FWN_$+"UR2T"MZ@@Y&[+ M2]Z@6F)8%\JPGQ5R72\1<0&C3',6/%,Q(",J^%AQ8&4TYV+IPAT(3 I1J$"; M0C6IVA"I?CNX[7I0P[5.SF6A;&Z7P?T>U\-W@%4/#'(A&H,=X@+#?DFU9DK> MF8X=;(,OH*!N/RY+XW"JZ++=N2%K@KV9).-"I4PU:=ID%1KV!.H^U:6[;?*KF&OQ_JM?>PF;T[!9'S\)J/D^#W6 M)Z=C-]D[!9.GL-W=-_MFWVLRK$]"&\>MK<-6$PW@4#L@W^%X+-9)@_&<"\UE MW9OQ-&7RQ9G+R&LZ-G^J;>F;\2G+Z%SHQP8P$/6H=?LK M3*\=-R=JDXO+E"U8.JJ[:CJVS< T3-;Z L(N?ZG^?30^3@,\];S(CV4TT,YCN5#1O:#Y?%S$G/Y9YHD413'V(J.1EX'(VS= MXAA^_&J8-V!@>2#3WZTUOMMXA>RO VQ/]U4(-E.\$K&9XFL-B'_=@)$D_MW& M\@ #VP6L=B"_/P_4E)\31;"KF#?L"<:1),$0J$5_C<8QLCHQ?/S[@STE490D M?@0POX,HPA!X&G$$

,"2*['MPYWT4KMY3X?K_E\,_4$L#!!0 ( #2% M=%>7BKL

-8?20$3;8T.P6BP^0"X99K>]9!:G@F%MD^D^[0@C0%-?&$LTW?[ZE4U(Y,8Y MLR^G/($OB,_'1_J.)7]Z+*MOZ[+\1G[D62''O;U2AYO!0*9[GC/Y9WG@A3ZR M+:N<*;U9[0;R4'&VD7O.59X-K.'P>I S4?0^?SJWM:P&YD:I>*I$6>B=]8X' MP1_ER_%ZDWP74JQ%)M2_XU[S/>,]DHM"Y.(GWXQ[PQZ1^_+QOJS$S[)0+(O3 MJLRR<6]T.O# *R725[OC&C)A:]GL46P=,0TR[ET/=8-;44G5G-&TSS3C=ZY/ M/FT=57DK,L6K*5/\KBJ/!U'LZF;T50R,RVCBU8"%W(N#[)&"Y7S<.Y]"6+$AM% Z2"0H3DWI<^LKU7\=;$Y7K32N M$S8.HE>F/BS;S0I\2 M !(ZX*0_U@& MI U VA>!C!/],:>A >D D,X%(5N1= %(]Y*0M@%Y#4!>7Q+2,2#? Y#O<2&G M-/:C8)D$BY L;LED%0@B-UD-_B"#0(LD*H%X5!>!>3 M)8U(?.]%E%S19?R'R0?)8X1LCSA9^%_Z.MN:OCI?ZE[;I)K)!WECA"\.7Z=_ MY)V[J1_1:9"0*(B_F(R0-D;(WE@D]_KF^JLHTJ3$BV.:M/(/LL4(61?+:*$S M+_G['5GJ>B!I1A#ZURI8:NLF[\P29@3Y8H0L#,_WHY5.0?JUSL!V]X44,4)W MQ"0Q62 CC)"5<$JS4'>(ITR;!=XDF 5)T(X7)(01LA%FU&O?/0L2@H4L!#V@ MS8.DSO2X27P]F"1Z,*:AWPZ9!1G"0C9$3.]J0A*$MXMH_NO@:X%/%MAR6$UB M/5C4=+7I6Z.:!5G!0K8"6!VU*G4+$H.%+(:G^HA6MHJQ/8E6:2>E KG$N-*_58+8*"0=RCX/MGKSC(-OG=8W;%4A(/ ZR>)HBMT]F9;'K M*U[E9,K7JAL3$H^#+)XG3$..QD)WJRAR(?^XR/Z!IA?;?=R%_.,B^^?\$-%Q MEUU(..[O>;CIDX7:\XK(X^&0\?HWIV+(Q(2$XR(+YQDS-@%3)O=DFY6/)B8D M'!=9.,^8XWND(OMR3C3'*2F5YTP;5X],5X8(*YW;4AX[C8$VD=3[A] MSFD'+=1SN#\_M*&;T7!-Z%N7NK]*M^BF)5LZ)0A&51G ;-JJRQY>V_^F2- M??>4]VW9=<=QN^O'V<=A?QR7S;:4_E]*XVJ;#^UXU?7Y>+JR[H9#6T[+89/Z M=O7:;G+2^7R1AI\SFON[GS-GSY]]_I^)W7J]6^6';O5VR,?RR^#TW@VOXS;G MTLR>VV&3R[))'_O+Z3&=#W)UFMS,'E^6S?#X(DVJ':00I/6##(*L?I!#D-BOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'H;ZFT$>AOJ M;01Z&^IM!'K;9+.$0&]#O8U ;T.]C4!O0[V-0&]#O8U ;T.]C4!O0[V-0&]' MO9U ;T>]G4!O1[V=0&]'O9U ;Y]L=A/H[:BW$^CMJ+<3Z.VHMQ/H[:BW$^CM MJ+<3Z!VH=Q#H':AW$.@=J'<0Z!VH=Q#H':AW$.@=DX^5!'H'ZAT$>@?J'01Z M!^H=?ZGW6#[W>;ST?*_Q^7])=3G=FR^//R^_3Z*$BS/."?Y*N?\"4$L#!!0 M ( #2%=%=B(^<8V $ $@B 3 6T-O;G1E;G1?5'EP97-=+GAM;,W: M74^#,!0&X+^R<&M&UZ_Y$>>->JM>^ .+HS#9M4T7%ED5H[M@+!05M2;DUE&71I;6MR:F1[]BSA1KLR(F M9K,Y*VP7J8O3V-?(KBYO:&DV39S<[M+K4-MND7EJ0C:YWD_LLQ:9<:ZI"Q/3 M.-MVY9>4Z5M"GE8. MW7W6_*^+FGR8'R\,VV:Q78- M"_&EH9"/E_BF1[MG"=3AHHHMDV^+WHRGAS3#M/^RH_.'\J, M!::9#]ZZD$[,T^%Q[T?2KYZZ5(A\K,<_\2,QE3[Z^Z@_[9+*7V:G[7VV?CV< M1V##[?@]_GS&'_4/[$. ]"%!^E @?6B0/N8@?9R"]'$&TLSX;?B"Y>@502P$"% ,4 " TA717!T%-8H$ "Q M $ @ $ 9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0 M ( #2%=%=FP67X[@ "L" 1 " :\ !D;V-097)PC$ 8 )PG 3 M " &UL4$L! A0#% @ -(5T M5\23@(W!!0 \!X !@ ("!#0@ 'AL+W=O!J"]UAP8 $@: 8 M " @00. !X;"]W;W)K&PO=V]R:W-H M965T&UL4$L! A0#% @ -(5T5U1!WC>[!0 B!< !@ M ("!CQ< 'AL+W=O&PO=V]R:W-H965T&UL M4$L! A0#% @ -(5T5[<4'_:U @ ;P4 !@ ("!5RP M 'AL+W=O/+4_S MTP0 %<+ 8 " @4(O !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ -(5T M5R*ABW8:!@ !1( !D ("!!3X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ -(5T5U80"@*:!@ ?Q( M !D ("!?$P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ -(5T5TJKU2K! P U @ !D M ("!"5H 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ -(5T5XE(AQGN! H L !D ("!1G, 'AL+W=O M >&PO=V]R:W-H965T&UL4$L! A0#% @ -(5T5]QB M!H3M!@ MA, !D ("!P8, 'AL+W=O&PO=V]R:W-H965T[.I90P0D "P: 9 " @&UL4$L! A0#% @ -(5T5TI+W[2*! %1 !D M ("!P)@ 'AL+W=O&PO M=V]R:W-H965T-[DG0, M -\+ 9 " @>^@ !X;"]W;W)K&UL4$L! A0#% @ -(5T5S9#?&PO=V]R:W-H965TB&UL4$L! A0#% M @ -(5T5XI2W-CI @ QP8 !D ("!0ZX 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ -(5T5ZP$G->%! !QX !D M ("!>L< 'AL+W=O"0 &0 @($VS >&PO=V]R M:W-H965T&UL M4$L! A0#% @ -(5T5^0E7TWI @ /PH !D ("!8M( M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M-(5T5YB9G'&Y P -Q !D ("!L=X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ -(5T5X:]%[S_ P "Q( !D M ("!!O< 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ -(5T5Y1 @TBY P C1$ !D ("!^@\! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ -(5T M5T!3FTB9 @ MP< !D ("!YQD! 'AL+W=O&PO=V]R:W-H965T>#.Y7@@< '0T 9 " @?0? 0!X;"]W;W)K M&UL4$L! A0#% @ -(5T5^>0 ?-M @ ZP< M !D ("!K2&PO7BKL

&PO M7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " TA7178B/G&-@! M !((@ $P @ $.-@$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+ 4!08 0@!" 42 7. $ ! end XML 70 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 71 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 72 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.3 html 176 281 1 false 53 0 false 6 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited) Sheet http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited) Statements 2 false false R3.htm 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited) (Parenthetical) Sheet http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited) (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (unaudited) Sheet http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (unaudited) Statements 4 false false R5.htm 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (unaudited) Sheet http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (unaudited) Statements 5 false false R6.htm 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited) Sheet http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited) Statements 6 false false R7.htm 00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited) (Parenthetical) Sheet http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditedParenthetical CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited) (Parenthetical) Statements 7 false false R8.htm 10101 - Disclosure - DESCRIPTION OF BUSINESS Sheet http://www.tech.pre.com/role/DisclosureDescriptionOfBusiness DESCRIPTION OF BUSINESS Notes 8 false false R9.htm 10201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES Sheet http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPolicies BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES Notes 9 false false R10.htm 10301 - Disclosure - REVENUE Sheet http://www.tech.pre.com/role/DisclosureRevenue REVENUE Notes 10 false false R11.htm 10401 - Disclosure - INCOME TAXES Sheet http://www.tech.pre.com/role/DisclosureIncomeTaxes INCOME TAXES Notes 11 false false R12.htm 10501 - Disclosure - EARNINGS PER SHARE (EPS) Sheet http://www.tech.pre.com/role/DisclosureEarningsPerShareEps EARNINGS PER SHARE (EPS) Notes 12 false false R13.htm 10601 - Disclosure - STOCK-BASED COMPENSATION Sheet http://www.tech.pre.com/role/DisclosureStockBasedCompensation STOCK-BASED COMPENSATION Notes 13 false false R14.htm 10701 - Disclosure - CONCENTRATION OF CREDIT RISK Sheet http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRisk CONCENTRATION OF CREDIT RISK Notes 14 false false R15.htm 10801 - Disclosure - OTHER CURRENT ASSETS Sheet http://www.tech.pre.com/role/DisclosureOtherCurrentAssets OTHER CURRENT ASSETS Notes 15 false false R16.htm 10901 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET Sheet http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNet PROPERTY, PLANT AND EQUIPMENT, NET Notes 16 false false R17.htm 11001 - Disclosure - ACCRUED EXPENSES Sheet http://www.tech.pre.com/role/DisclosureAccruedExpenses ACCRUED EXPENSES Notes 17 false false R18.htm 11101 - Disclosure - DEBT Sheet http://www.tech.pre.com/role/DisclosureDebt DEBT Notes 18 false false R19.htm 11201 - Disclosure - OTHER NONCURRENT LIABILITIES Sheet http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilities OTHER NONCURRENT LIABILITIES Notes 19 false false R20.htm 11301 - Disclosure - LEASES Sheet http://www.tech.pre.com/role/DisclosureLeases LEASES Notes 20 false false R21.htm 11401 - Disclosure - COMMITMENTS AND CONTINGENCIES Sheet http://www.tech.pre.com/role/DisclosureCommitmentsAndContingencies COMMITMENTS AND CONTINGENCIES Notes 21 false false R22.htm 11501 - Disclosure - SEGMENT INFORMATION Sheet http://www.tech.pre.com/role/DisclosureSegmentInformation SEGMENT INFORMATION Notes 22 false false R23.htm 11601 - Disclosure - SUBSEQUENT EVENTS Sheet http://www.tech.pre.com/role/DisclosureSubsequentEvents SUBSEQUENT EVENTS Notes 23 false false R24.htm 20202 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies) Sheet http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies) Policies 24 false false R25.htm 30303 - Disclosure - REVENUE (Tables) Sheet http://www.tech.pre.com/role/DisclosureRevenueTables REVENUE (Tables) Tables http://www.tech.pre.com/role/DisclosureRevenue 25 false false R26.htm 30503 - Disclosure - EARNINGS PER SHARE (EPS) (Tables) Sheet http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsTables EARNINGS PER SHARE (EPS) (Tables) Tables http://www.tech.pre.com/role/DisclosureEarningsPerShareEps 26 false false R27.htm 30603 - Disclosure - STOCK-BASED COMPENSATION (Tables) Sheet http://www.tech.pre.com/role/DisclosureStockBasedCompensationTables STOCK-BASED COMPENSATION (Tables) Tables http://www.tech.pre.com/role/DisclosureStockBasedCompensation 27 false false R28.htm 30703 - Disclosure - CONCENTRATION OF CREDIT RISK (Tables) Sheet http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskTables CONCENTRATION OF CREDIT RISK (Tables) Tables http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRisk 28 false false R29.htm 30803 - Disclosure - OTHER CURRENT ASSETS (Tables) Sheet http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsTables OTHER CURRENT ASSETS (Tables) Tables http://www.tech.pre.com/role/DisclosureOtherCurrentAssets 29 false false R30.htm 30903 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables) Sheet http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetTables PROPERTY, PLANT AND EQUIPMENT, NET (Tables) Tables http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNet 30 false false R31.htm 31003 - Disclosure - ACCRUED EXPENSES (Tables) Sheet http://www.tech.pre.com/role/DisclosureAccruedExpensesTables ACCRUED EXPENSES (Tables) Tables http://www.tech.pre.com/role/DisclosureAccruedExpenses 31 false false R32.htm 31103 - Disclosure - DEBT (Tables) Sheet http://www.tech.pre.com/role/DisclosureDebtTables DEBT (Tables) Tables http://www.tech.pre.com/role/DisclosureDebt 32 false false R33.htm 31303 - Disclosure - LEASES (Tables) Sheet http://www.tech.pre.com/role/DisclosureLeasesTables LEASES (Tables) Tables http://www.tech.pre.com/role/DisclosureLeases 33 false false R34.htm 31503 - Disclosure - SEGMENT INFORMATION (Tables) Sheet http://www.tech.pre.com/role/DisclosureSegmentInformationTables SEGMENT INFORMATION (Tables) Tables http://www.tech.pre.com/role/DisclosureSegmentInformation 34 false false R35.htm 40201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Details) Sheet http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Details) Details http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies 35 false false R36.htm 40301 - Disclosure - REVENUE - Disaggregated basis (Details) Sheet http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails REVENUE - Disaggregated basis (Details) Details 36 false false R37.htm 40302 - Disclosure - REVENUE - Net sales from customers (Details) Sheet http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails REVENUE - Net sales from customers (Details) Details 37 false false R38.htm 40303 - Disclosure - REVENUE - Contract assets and contract liabilities (Details) Sheet http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails REVENUE - Contract assets and contract liabilities (Details) Details 38 false false R39.htm 40304 - Disclosure - REVENUE - Additional information (Details) Sheet http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails REVENUE - Additional information (Details) Details 39 false false R40.htm 40401 - Disclosure - INCOME TAXES - (Details) Sheet http://www.tech.pre.com/role/DisclosureIncomeTaxesDetails INCOME TAXES - (Details) Details http://www.tech.pre.com/role/DisclosureIncomeTaxes 40 false false R41.htm 40501 - Disclosure - EARNINGS PER SHARE (EPS) (Details) Sheet http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails EARNINGS PER SHARE (EPS) (Details) Details http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsTables 41 false false R42.htm 40601 - Disclosure - STOCK-BASED COMPENSATION - Stock option activity (Details) Sheet http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails STOCK-BASED COMPENSATION - Stock option activity (Details) Details 42 false false R43.htm 40602 - Disclosure - STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (Details) Sheet http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (Details) Details 43 false false R44.htm 40603 - Disclosure - STOCK-BASED COMPENSATION - Additional information (Details) Sheet http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails STOCK-BASED COMPENSATION - Additional information (Details) Details 44 false false R45.htm 40701 - Disclosure - CONCENTRATION OF CREDIT RISK (Details) Sheet http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails CONCENTRATION OF CREDIT RISK (Details) Details http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskTables 45 false false R46.htm 40801 - Disclosure - OTHER CURRENT ASSETS (Details) Sheet http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails OTHER CURRENT ASSETS (Details) Details http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsTables 46 false false R47.htm 40901 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details) Sheet http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails PROPERTY, PLANT AND EQUIPMENT, NET (Details) Details http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetTables 47 false false R48.htm 41001 - Disclosure - ACCRUED EXPENSES (Details) Sheet http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails ACCRUED EXPENSES (Details) Details http://www.tech.pre.com/role/DisclosureAccruedExpensesTables 48 false false R49.htm 41101 - Disclosure - DEBT - Long-term Debt (Details) Sheet http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails DEBT - Long-term Debt (Details) Details 49 false false R50.htm 41102 - Disclosure - DEBT - Additional Information (Details) Sheet http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails DEBT - Additional Information (Details) Details 50 false false R51.htm 41201 - Disclosure - OTHER NONCURRENT LIABILITIES (Details) Sheet http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilitiesDetails OTHER NONCURRENT LIABILITIES (Details) Details http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilities 51 false false R52.htm 41301 - Disclosure - LEASES (Details) Sheet http://www.tech.pre.com/role/DisclosureLeasesDetails LEASES (Details) Details http://www.tech.pre.com/role/DisclosureLeasesTables 52 false false R53.htm 41302 - Disclosure - LEASES - Other supplemental information of Leases (Details) Sheet http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails LEASES - Other supplemental information of Leases (Details) Details 53 false false R54.htm 41303 - Disclosure - LEASES - Supplemental cash flow information (Details) Sheet http://www.tech.pre.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails LEASES - Supplemental cash flow information (Details) Details 54 false false R55.htm 41304 - Disclosure - LEASES - Maturities of lease liabilities (Details) Sheet http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails LEASES - Maturities of lease liabilities (Details) Details 55 false false R56.htm 41401 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details) Sheet http://www.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails COMMITMENTS AND CONTINGENCIES (Details) Details http://www.tech.pre.com/role/DisclosureCommitmentsAndContingencies 56 false false R57.htm 41501 - Disclosure - SEGMENT INFORMATION - Financial information for segments (Details) Sheet http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails SEGMENT INFORMATION - Financial information for segments (Details) Details 57 false false R58.htm 41601 - Disclosure - SUBSEQUENT EVENTS (Details) Sheet http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails SUBSEQUENT EVENTS (Details) Details http://www.tech.pre.com/role/DisclosureSubsequentEvents 58 false false All Reports Book All Reports tpcs-20230930.xsd tpcs-20230930_cal.xml tpcs-20230930_def.xml tpcs-20230930_lab.xml tpcs-20230930_pre.xml tpcs-20230930x10q.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 true true JSON 75 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "tpcs-20230930x10q.htm": { "nsprefix": "tpcs", "nsuri": "http://www.tech.pre.com/20230930", "dts": { "schema": { "local": [ "tpcs-20230930.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/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.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/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd" ] }, "calculationLink": { "local": [ "tpcs-20230930_cal.xml" ] }, "definitionLink": { "local": [ "tpcs-20230930_def.xml" ] }, "labelLink": { "local": [ "tpcs-20230930_lab.xml" ] }, "presentationLink": { "local": [ "tpcs-20230930_pre.xml" ] }, "inline": { "local": [ "tpcs-20230930x10q.htm" ] } }, "keyStandard": 227, "keyCustom": 54, "axisStandard": 21, "axisCustom": 0, "memberStandard": 27, "memberCustom": 25, "hidden": { "total": 11, "http://fasb.org/us-gaap/2023": 6, "http://xbrl.sec.gov/dei/2023": 5 }, "contextCount": 176, "entityCount": 1, "segmentCount": 53, "elementCount": 445, "unitCount": 6, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 565, "http://xbrl.sec.gov/dei/2023": 29 }, "report": { "R1": { "role": "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation", "longName": "00090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited", "longName": "00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:InventoryRawMaterialsAndSupplies", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "unique": true } }, "R3": { "role": "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical", "longName": "00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited) (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited) (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_-TbzTFTjekuEqtjfL1asIg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_-TbzTFTjekuEqtjfL1asIg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited", "longName": "00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (unaudited)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_6J44R5deEkWDuAuhgM0EWA", "name": "us-gaap:Revenues", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_6J44R5deEkWDuAuhgM0EWA", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "unique": true } }, "R5": { "role": "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited", "longName": "00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (unaudited)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_G2GzUOLYtkOJkShXmB8ypA", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_G2GzUOLYtkOJkShXmB8ypA", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R6": { "role": "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited", "longName": "00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditedParenthetical", "longName": "00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited) (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited) (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "Duration_7_13_2023_To_7_13_2023_srt_TitleOfIndividualAxis_srt_ChiefFinancialOfficerMember_Pz7NuroEf0mSMI4JmidwsQ", "name": "tpcs:CommonStockPursuantToOptionAwards", "unitRef": "Unit_Standard_shares_lrQh5dErGkWjT9-vrXHOpg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_13_2023_To_7_13_2023_srt_TitleOfIndividualAxis_srt_ChiefFinancialOfficerMember_Pz7NuroEf0mSMI4JmidwsQ", "name": "tpcs:CommonStockPursuantToOptionAwards", "unitRef": "Unit_Standard_shares_lrQh5dErGkWjT9-vrXHOpg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.tech.pre.com/role/DisclosureDescriptionOfBusiness", "longName": "10101 - Disclosure - DESCRIPTION OF BUSINESS", "shortName": "DESCRIPTION OF BUSINESS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPolicies", "longName": "10201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES", "shortName": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.tech.pre.com/role/DisclosureRevenue", "longName": "10301 - Disclosure - REVENUE", "shortName": "REVENUE", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.tech.pre.com/role/DisclosureIncomeTaxes", "longName": "10401 - Disclosure - INCOME TAXES", "shortName": "INCOME TAXES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.tech.pre.com/role/DisclosureEarningsPerShareEps", "longName": "10501 - Disclosure - EARNINGS PER SHARE (EPS)", "shortName": "EARNINGS PER SHARE (EPS)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.tech.pre.com/role/DisclosureStockBasedCompensation", "longName": "10601 - Disclosure - STOCK-BASED COMPENSATION", "shortName": "STOCK-BASED COMPENSATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRisk", "longName": "10701 - Disclosure - CONCENTRATION OF CREDIT RISK", "shortName": "CONCENTRATION OF CREDIT RISK", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.tech.pre.com/role/DisclosureOtherCurrentAssets", "longName": "10801 - Disclosure - OTHER CURRENT ASSETS", "shortName": "OTHER CURRENT ASSETS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:OtherCurrentAssetsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:OtherCurrentAssetsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNet", "longName": "10901 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET", "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.tech.pre.com/role/DisclosureAccruedExpenses", "longName": "11001 - Disclosure - ACCRUED EXPENSES", "shortName": "ACCRUED EXPENSES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.tech.pre.com/role/DisclosureDebt", "longName": "11101 - Disclosure - DEBT", "shortName": "DEBT", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilities", "longName": "11201 - Disclosure - OTHER NONCURRENT LIABILITIES", "shortName": "OTHER NONCURRENT LIABILITIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:OtherLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:OtherLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.tech.pre.com/role/DisclosureLeases", "longName": "11301 - Disclosure - LEASES", "shortName": "LEASES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "tpcs:LeaseOfLesseeDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "tpcs:LeaseOfLesseeDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.tech.pre.com/role/DisclosureCommitmentsAndContingencies", "longName": "11401 - Disclosure - COMMITMENTS AND CONTINGENCIES", "shortName": "COMMITMENTS AND CONTINGENCIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.tech.pre.com/role/DisclosureSegmentInformation", "longName": "11501 - Disclosure - SEGMENT INFORMATION", "shortName": "SEGMENT INFORMATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.tech.pre.com/role/DisclosureSubsequentEvents", "longName": "11601 - Disclosure - SUBSEQUENT EVENTS", "shortName": "SUBSEQUENT EVENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies", "longName": "20202 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)", "shortName": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "24", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.tech.pre.com/role/DisclosureRevenueTables", "longName": "30303 - Disclosure - REVENUE (Tables)", "shortName": "REVENUE (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsTables", "longName": "30503 - Disclosure - EARNINGS PER SHARE (EPS) (Tables)", "shortName": "EARNINGS PER SHARE (EPS) (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.tech.pre.com/role/DisclosureStockBasedCompensationTables", "longName": "30603 - Disclosure - STOCK-BASED COMPENSATION (Tables)", "shortName": "STOCK-BASED COMPENSATION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskTables", "longName": "30703 - Disclosure - CONCENTRATION OF CREDIT RISK (Tables)", "shortName": "CONCENTRATION OF CREDIT RISK (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_NownTTLsmEaWgop0v4sB6Q", "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_NownTTLsmEaWgop0v4sB6Q", "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsTables", "longName": "30803 - Disclosure - OTHER CURRENT ASSETS (Tables)", "shortName": "OTHER CURRENT ASSETS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:OtherCurrentAssetsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:OtherCurrentAssetsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetTables", "longName": "30903 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)", "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.tech.pre.com/role/DisclosureAccruedExpensesTables", "longName": "31003 - Disclosure - ACCRUED EXPENSES (Tables)", "shortName": "ACCRUED EXPENSES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.tech.pre.com/role/DisclosureDebtTables", "longName": "31103 - Disclosure - DEBT (Tables)", "shortName": "DEBT (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.tech.pre.com/role/DisclosureLeasesTables", "longName": "31303 - Disclosure - LEASES (Tables)", "shortName": "LEASES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "tpcs:ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "tpcs:LeaseOfLesseeDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "tpcs:ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "tpcs:LeaseOfLesseeDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.tech.pre.com/role/DisclosureSegmentInformationTables", "longName": "31503 - Disclosure - SEGMENT INFORMATION (Tables)", "shortName": "SEGMENT INFORMATION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails", "longName": "40201 - Disclosure - BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)", "shortName": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_6J44R5deEkWDuAuhgM0EWA", "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2023_iWDiPfe4YUKhnb4ESB-o1Q", "name": "tpcs:TotalAvailableLiquidity", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "unique": true } }, "R36": { "role": "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails", "longName": "40301 - Disclosure - REVENUE - Disaggregated basis (Details)", "shortName": "REVENUE - Disaggregated basis (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_6J44R5deEkWDuAuhgM0EWA", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_6J44R5deEkWDuAuhgM0EWA", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails", "longName": "40302 - Disclosure - REVENUE - Net sales from customers (Details)", "shortName": "REVENUE - Net sales from customers (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_6J44R5deEkWDuAuhgM0EWA", "name": "us-gaap:Revenues", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_AMZD1sMrkkSW1Mc5NDb9uA", "name": "us-gaap:Revenues", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "unique": true } }, "R38": { "role": "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails", "longName": "40303 - Disclosure - REVENUE - Contract assets and contract liabilities (Details)", "shortName": "REVENUE - Contract assets and contract liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:ContractWithCustomerAssetNetCurrent", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_us-gaap_UnbilledRevenuesMember_U0IlNJobeEOaJUtAyrgPjA", "name": "us-gaap:ContractWithCustomerAssetNetCurrent", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "unique": true } }, "R39": { "role": "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails", "longName": "40304 - Disclosure - REVENUE - Additional information (Details)", "shortName": "REVENUE - Additional information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.tech.pre.com/role/DisclosureIncomeTaxesDetails", "longName": "40401 - Disclosure - INCOME TAXES - (Details)", "shortName": "INCOME TAXES - (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_6J44R5deEkWDuAuhgM0EWA", "name": "us-gaap:IncomeTaxExpenseBenefit", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Unit_Standard_pure_SPzNvTI-OUajzYMaUWalGw", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "unique": true } }, "R41": { "role": "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails", "longName": "40501 - Disclosure - EARNINGS PER SHARE (EPS) (Details)", "shortName": "EARNINGS PER SHARE (EPS) (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_6J44R5deEkWDuAuhgM0EWA", "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_6J44R5deEkWDuAuhgM0EWA", "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "unique": true } }, "R42": { "role": "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "longName": "40601 - Disclosure - STOCK-BASED COMPENSATION - Stock option activity (Details)", "shortName": "STOCK-BASED COMPENSATION - Stock option activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "As_Of_3_31_2023_iWDiPfe4YUKhnb4ESB-o1Q", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Unit_Standard_shares_lrQh5dErGkWjT9-vrXHOpg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "unitRef": "Unit_Standard_shares_lrQh5dErGkWjT9-vrXHOpg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "unique": true } }, "R43": { "role": "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails", "longName": "40602 - Disclosure - STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (Details)", "shortName": "STOCK-BASED COMPENSATION - Stock options outstanding by exercise price (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions", "unitRef": "Unit_Standard_shares_lrQh5dErGkWjT9-vrXHOpg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions", "unitRef": "Unit_Standard_shares_lrQh5dErGkWjT9-vrXHOpg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "longName": "40603 - Disclosure - STOCK-BASED COMPENSATION - Additional information (Details)", "shortName": "STOCK-BASED COMPENSATION - Additional information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_8_3_2023_To_8_3_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_vDZX93acVkWzSQ_XBOJR9g", "name": "tpcs:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary", "unitRef": "Unit_Standard_shares_lrQh5dErGkWjT9-vrXHOpg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "unique": true } }, "R45": { "role": "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "longName": "40701 - Disclosure - CONCENTRATION OF CREDIT RISK (Details)", "shortName": "CONCENTRATION OF CREDIT RISK (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:AccountsReceivableNetCurrent", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_srt_MajorCustomersAxis_tpcs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_3MTDWse0l0Sjaf3kp9Se3Q", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Unit_Standard_pure_SPzNvTI-OUajzYMaUWalGw", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "td", "tr", "table", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "unique": true } }, "R46": { "role": "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails", "longName": "40801 - Disclosure - OTHER CURRENT ASSETS (Details)", "shortName": "OTHER CURRENT ASSETS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:PrepaidTaxes", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock", "us-gaap:OtherCurrentAssetsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:PrepaidTaxes", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock", "us-gaap:OtherCurrentAssetsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails", "longName": "40901 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)", "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails", "longName": "41001 - Disclosure - ACCRUED EXPENSES (Details)", "shortName": "ACCRUED EXPENSES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails", "longName": "41101 - Disclosure - DEBT - Long-term Debt (Details)", "shortName": "DEBT - Long-term Debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails", "longName": "41102 - Disclosure - DEBT - Additional Information (Details)", "shortName": "DEBT - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "As_Of_9_30_2023_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_utQpfnMVa0Gs2Iu8-KNoSw", "name": "us-gaap:DebtWeightedAverageInterestRate", "unitRef": "Unit_Standard_pure_SPzNvTI-OUajzYMaUWalGw", "xsiNil": "false", "lang": null, "decimals": "4", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_us-gaap_CreditFacilityAxis_tpcs_RevolverLoanMember_utQpfnMVa0Gs2Iu8-KNoSw", "name": "us-gaap:DebtWeightedAverageInterestRate", "unitRef": "Unit_Standard_pure_SPzNvTI-OUajzYMaUWalGw", "xsiNil": "false", "lang": null, "decimals": "4", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilitiesDetails", "longName": "41201 - Disclosure - OTHER NONCURRENT LIABILITIES (Details)", "shortName": "OTHER NONCURRENT LIABILITIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:ContractWithCustomerLiabilityNoncurrent", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:OtherLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:ContractWithCustomerLiabilityNoncurrent", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:OtherLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.tech.pre.com/role/DisclosureLeasesDetails", "longName": "41301 - Disclosure - LEASES (Details)", "shortName": "LEASES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:FinanceLeaseRightOfUseAsset", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_8_25_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_aeP1zcRxr0uG2j2gdam_dA", "name": "tpcs:OtherLeaseAssetsAndLeaseLiabilities", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "tpcs:LeaseOfLesseeDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "unique": true } }, "R53": { "role": "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails", "longName": "41302 - Disclosure - LEASES - Other supplemental information of Leases (Details)", "shortName": "LEASES - Other supplemental information of Leases (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "tpcs:ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock", "tpcs:LeaseOfLesseeDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "tpcs:ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock", "tpcs:LeaseOfLesseeDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.tech.pre.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails", "longName": "41303 - Disclosure - LEASES - Supplemental cash flow information (Details)", "shortName": "LEASES - Supplemental cash flow information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:OperatingLeasePayments", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "tpcs:ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock", "tpcs:LeaseOfLesseeDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:OperatingLeasePayments", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "tpcs:ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock", "tpcs:LeaseOfLesseeDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails", "longName": "41304 - Disclosure - LEASES - Maturities of lease liabilities (Details)", "shortName": "LEASES - Maturities of lease liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "tpcs:LeaseOfLesseeDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "tpcs:LeaseOfLesseeDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails", "longName": "41401 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details)", "shortName": "COMMITMENTS AND CONTINGENCIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "As_Of_9_30_2023_9youdXsuckKiF88ctmqYew", "name": "tpcs:EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_6J44R5deEkWDuAuhgM0EWA", "name": "us-gaap:DefinedContributionPlanCostRecognized", "unitRef": "Unit_Standard_USD_TLbkHT5SN0a3EbVwzIucNQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "us-gaap:DefinedContributionPlanCostRecognized", "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "unique": true } }, "R57": { "role": "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails", "longName": "41501 - Disclosure - SEGMENT INFORMATION - Financial information for segments (Details)", "shortName": "SEGMENT INFORMATION - Financial information for segments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_item_WCnoWGZhz0WHRNkfWYlfcQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_9_30_2023_55yQzcZVgEqVWr4ujoATWQ", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_item_WCnoWGZhz0WHRNkfWYlfcQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails", "longName": "41601 - Disclosure - SUBSEQUENT EVENTS (Details)", "shortName": "SUBSEQUENT EVENTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "Duration_8_3_2023_To_8_3_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_vDZX93acVkWzSQ_XBOJR9g", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "unitRef": "Unit_Standard_shares_lrQh5dErGkWjT9-vrXHOpg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_10_11_2023_To_10_11_2023_srt_TitleOfIndividualAxis_srt_DirectorMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_us-gaap_PlanNameAxis_tpcs_EquityIncentivePlan2016Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_uNbNDxrKlkmFrqs4IRGNaw", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "unitRef": "Unit_Standard_shares_lrQh5dErGkWjT9-vrXHOpg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "tpcs-20230930x10q.htm", "unique": true } } }, "tag": { "us-gaap_NotesPayableOtherPayablesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NotesPayableOtherPayablesMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Notes Payable, Other Payables [Member]", "terseLabel": "Notes payables", "documentation": "A written promise to pay a note to a third party." } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "DESCRIPTION OF BUSINESS" } } }, "auth_ref": [] }, "us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtAndCapitalLeaseObligationsCurrent", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 }, "http://www.tech.pre.com/role/DisclosureLongTermDebtDetailsCalc2": { "parentTag": "us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt and Lease Obligation, Current", "terseLabel": "Current portion of long-term debt, net", "verboseLabel": "Less: Current portion of long-term debt", "documentation": "Amount of long-term debt and lease obligation, classified as current." } } }, "auth_ref": [ "r17" ] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "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": [ "r581" ] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segment", "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements." } } }, "auth_ref": [ "r608" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "DEBT" } } }, "auth_ref": [] }, "tpcs_DebtInstrumentCovenantLoanToValueRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "DebtInstrumentCovenantLoanToValueRatio", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the loan to value ratio under the financial covenant.", "label": "Debt Instrument Covenant Loan To Value Ratio", "terseLabel": "Loan-to-Value Ratio" } } }, "auth_ref": [] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.tech.pre.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": [] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit)", "terseLabel": "Deferred income taxes", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r4", "r110", "r130", "r381", "r382", "r603" ] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Face Amount", "terseLabel": "Principal amount of debt", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r70", "r72", "r275", "r413", "r549", "r550" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Lease rate - operating lease", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r423", "r566" ] }, "dei_LegalEntityAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LegalEntityAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Legal Entity [Axis]", "documentation": "The set of legal entities associated with a report." } } }, "auth_ref": [] }, "us-gaap_PayablesAndAccrualsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PayablesAndAccrualsAbstract", "lang": { "en-us": { "role": { "label": "ACCRUED EXPENSES" } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "tpcs_ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "ScheduleOfCashFlowInformationRelatingToLeasesTableTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of supplementary cash flow information pertaining to leases.", "label": "Schedule Of Cash Flow Information Relating To Leases [Table Text Block]", "verboseLabel": "Schedule of supplemental cash flow information" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformation" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "SEGMENT INFORMATION", "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": [ "r204", "r205", "r206", "r207", "r208", "r220", "r225", "r229", "r230", "r231", "r232", "r233", "r234", "r236" ] }, "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Lease rate - finance lease", "documentation": "Weighted average discount rate for finance lease calculated at point in time." } } }, "auth_ref": [ "r423", "r566" ] }, "us-gaap_StockholdersEquityNoteStockSplitConversionRatio1": { "xbrltype": "pureItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteStockSplitConversionRatio1", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Note, Stock Split, Conversion Ratio", "terseLabel": "Reverse stock split conversion ratio", "documentation": "Ratio applied to the conversion of stock split, for example but not limited to, one share converted to two or two shares converted to one." } } }, "auth_ref": [ "r12" ] }, "us-gaap_ProceedsFromInsuranceSettlementInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromInsuranceSettlementInvestingActivities", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Proceeds from Insurance Settlement, Investing Activities", "terseLabel": "Proceeds from insurance claim on fixed assets", "documentation": "Amount of cash inflow for proceeds from settlement of insurance claim, classified as investing activities. Excludes insurance settlement classified as operating activities." } } }, "auth_ref": [ "r2", "r28" ] }, "us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseRightOfUseAssetAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesDetails": { "parentTag": "tpcs_RightOfUseAsset", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset, Accumulated Amortization", "negatedLabel": "Amortization", "documentation": "Amount of accumulated amortization of right-of-use asset from finance lease." } } }, "auth_ref": [ "r589", "r593" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value", "terseLabel": "Vested or expected to vest at the end of the period", "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of 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": [ "r355" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Document and Entity Information", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number", "terseLabel": "Vested or expected to vest at the end of the period (in shares)", "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": [ "r355" ] }, "tpcs_LesseeFinanceLeaseMonthlyPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "LesseeFinanceLeaseMonthlyPayments", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the monthly payments on finance lease.", "label": "Lessee, Finance Lease, Monthly Payments", "terseLabel": "Monthly payments" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Summary of financial information for 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": [ "r44", "r45", "r46", "r47" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "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", "periodEndLabel": "Vested or expected to vest at the end of the period (in dollars per share)", "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": [ "r355" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "SEGMENT INFORMATION", "verboseLabel": "SEGMENT 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_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r44", "r45", "r46", "r47" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net loss", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r136", "r149", "r151", "r162", "r168", "r174", "r182", "r183", "r208", "r222", "r228", "r231", "r239", "r261", "r262", "r264", "r265", "r266", "r268", "r270", "r272", "r273", "r387", "r390", "r391", "r402", "r403", "r434", "r444", "r474", "r507", "r523", "r524", "r543", "r564", "r565", "r578", "r597", "r618" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization", "totalLabel": "Total property, plant, and equipment", "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset." } } }, "auth_ref": [ "r588", "r595", "r614" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEps" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Text Block]", "verboseLabel": "EARNINGS PER SHARE (EPS)", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r184", "r198", "r199", "r200" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization", "negatedLabel": "Less: accumulated depreciation and amortization", "documentation": "Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease." } } }, "auth_ref": [ "r589", "r593", "r615" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization", "totalLabel": "Total property, plant and equipment, net", "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset." } } }, "auth_ref": [ "r593", "r613" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "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": [ "r79", "r487" ] }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureAccruedExpenses" ], "lang": { "en-us": { "role": { "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "verboseLabel": "ACCRUED EXPENSES", "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period." } } }, "auth_ref": [ "r14" ] }, "us-gaap_DepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationAndAmortization", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization, Nonproduction", "terseLabel": "Depreciation and amortization", "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production." } } }, "auth_ref": [ "r4", "r48" ] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Customer Concentration Risk [Member]", "terseLabel": "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": [ "r38", "r236" ] }, "tpcs_EquityIncentivePlan2016Member": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "EquityIncentivePlan2016Member", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for Equity Incentive Plan 2016.", "label": "Equity Incentive Plan 2016 [Member]", "terseLabel": "2016 Plan" } } }, "auth_ref": [] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.tech.pre.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": [] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Net, Current", "terseLabel": "Accounts receivable, net", "verboseLabel": "Accounts receivable", "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": [ "r237", "r238" ] }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentInterestRateStatedPercentage", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Interest rate (as a percent)", "documentation": "Contractual interest rate for funds borrowed, under the debt agreement." } } }, "auth_ref": [ "r20", "r276" ] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative", "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": [ "r90" ] }, "tpcs_ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "ScheduleOfSupplementalBalanceSheetInformationRelatedToLeasesTableTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of supplemental balance sheet information related to leases.", "label": "Schedule Of Supplemental Balance Sheet Information Related To Leases [Table text block]", "terseLabel": "Schedule of right-of-use assets and liabilities" } } }, "auth_ref": [] }, "tpcs_RanorTermLoanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "RanorTermLoanMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Ranor term loan.", "label": "Ranor Term Loan [Member]", "terseLabel": "Ranor term loan" } } }, "auth_ref": [] }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "verboseLabel": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES", "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r97" ] }, "us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Billing Status, Type [Axis]", "documentation": "Information by billing status of receivables." } } }, "auth_ref": [ "r26" ] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r581" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "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": "Vested or expected to vest at the end of the period", "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": [ "r355" ] }, "us-gaap_DebtInstrumentPeriodicPayment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentPeriodicPayment", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Periodic Payment", "terseLabel": "Monthly payments of principal and interest amount", "documentation": "Amount of the required periodic payments including both interest and principal payments." } } }, "auth_ref": [ "r21", "r75" ] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation and Consolidation", "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": [] }, "us-gaap_ReceivablesBillingStatusDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesBillingStatusDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Receivables Billing Status [Domain]", "documentation": "Amounts due from customers (or dealers) within the next year (or operating cycle, if longer) for goods or services that have been delivered or used, but not yet paid." } } }, "auth_ref": [] }, "us-gaap_SharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesIssued", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Shares, Issued", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)", "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury." } } }, "auth_ref": [ "r6" ] }, "tpcs_FederalHomeLoanBankOfBostonClassicAdvanceRateMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "FederalHomeLoanBankOfBostonClassicAdvanceRateMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Federal Home Loan Bank of Boston Classic Advance Rate", "label": "Federal Home Loan Bank of Boston Classic Advance Rate [Member]", "terseLabel": "FHLBBC advance rate" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails", "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Name [Domain]", "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "auth_ref": [ "r21", "r170", "r275", "r276", "r277", "r278", "r279", "r281", "r286", "r287", "r288", "r289", "r291", "r292", "r293", "r294", "r295", "r296", "r413", "r548", "r549", "r550", "r551", "r552", "r601" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "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": [] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by (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": [ "r163" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES:" } } }, "auth_ref": [] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]" } } }, "auth_ref": [ "r236", "r556", "r623", "r664", "r665" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in 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": [ "r163" ] }, "us-gaap_DebtInstrumentTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTerm", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Term", "terseLabel": "Maturity term", "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES:" } } }, "auth_ref": [] }, "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "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": [ "r94", "r95", "r96" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherCurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherCurrentAssets", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Current Assets", "negatedLabel": "Other current assets", "documentation": "Amount of increase (decrease) in current assets classified as other." } } }, "auth_ref": [ "r598" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.tech.pre.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective tax rate", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r372" ] }, "tpcs_AdjustmentsProgressPaymentsReceivableMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "AdjustmentsProgressPaymentsReceivableMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to adjustments progress payments receivable.", "label": "Adjustments Progress Payments Receivable [Member]", "terseLabel": "Progress Payments" } } }, "auth_ref": [] }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation", "negatedLabel": "Stock used for tax withholding at exercise", "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Noncurrent", "verboseLabel": "Other noncurrent liability", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r22" ] }, "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Operating Liabilities", "verboseLabel": "Other noncurrent liabilities", "documentation": "Amount of increase (decrease) in operating liabilities classified as other." } } }, "auth_ref": [ "r3" ] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (unaudited)" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentLineItems", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Line Items]", "terseLabel": "DEBT", "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": [ "r170", "r275", "r276", "r277", "r278", "r279", "r281", "r286", "r287", "r288", "r289", "r291", "r292", "r293", "r294", "r295", "r296", "r299", "r413", "r548", "r549", "r550", "r551", "r552", "r601" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails", "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r11", "r76", "r77", "r113", "r114", "r170", "r275", "r276", "r277", "r278", "r279", "r281", "r286", "r287", "r288", "r289", "r291", "r292", "r293", "r294", "r295", "r296", "r413", "r548", "r549", "r550", "r551", "r552", "r601" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (unaudited)" } } }, "auth_ref": [] }, "us-gaap_LongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtNoncurrent", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "Long-term debt, net", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation." } } }, "auth_ref": [ "r143" ] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTable", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Long-term Debt Instruments [Table]", "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r21", "r52", "r55", "r69", "r70", "r72", "r74", "r105", "r106", "r170", "r275", "r276", "r277", "r278", "r279", "r281", "r286", "r287", "r288", "r289", "r291", "r292", "r293", "r294", "r295", "r296", "r299", "r413", "r548", "r549", "r550", "r551", "r552", "r601" ] }, "us-gaap_GainLossOnContractTermination": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnContractTermination", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Gain (Loss) on Contract Termination", "negatedLabel": "Change in contract loss provision", "documentation": "Gain (loss) related to the termination of a contract between the parties. The termination may be due to many causes including early termination of a lease by a lessee, a breach of contract by one party, or a failure to perform." } } }, "auth_ref": [ "r96" ] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "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": [ "r19", "r138", "r168", "r239", "r261", "r262", "r264", "r265", "r266", "r268", "r270", "r272", "r273", "r389", "r392", "r393", "r403", "r567", "r618", "r655", "r656" ] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Net, Noncurrent", "terseLabel": "Deferred income taxes", "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": [ "r369", "r370" ] }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "label": "Relationship to Entity [Domain]" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskTables", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails", "http://www.tech.pre.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r37", "r39", "r66", "r67", "r236", "r533" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskTables", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails", "http://www.tech.pre.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r37", "r39", "r66", "r67", "r236", "r466", "r533" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "SEGMENT INFORMATION." } } }, "auth_ref": [] }, "us-gaap_RestrictedStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Restricted Stock [Member]", "terseLabel": "Restricted Shares", "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met." } } }, "auth_ref": [ "r35" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.tech.pre.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": [ "r581" ] }, "tpcs_LeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "LeaseLiability", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lease liabilities during the period.", "label": "Lease Liability", "totalLabel": "Total lease liability" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Remaining Borrowing Capacity", "terseLabel": "Unused borrowing capacity", "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)." } } }, "auth_ref": [ "r15" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "auth_ref": [] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r170", "r210", "r221", "r222", "r223", "r224", "r225", "r227", "r231", "r261", "r262", "r263", "r264", "r266", "r267", "r269", "r271", "r272", "r618", "r619" ] }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]", "terseLabel": "STOCK-BASED COMPENSATION", "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_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "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": [ "r93" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation", "terseLabel": "Stock-based compensation expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r3" ] }, "us-gaap_VariableRateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Axis]", "documentation": "Information by type of variable rate." } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails", "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Line of Credit", "terseLabel": "Amount outstanding", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r11", "r114", "r663" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "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": [ "r171", "r172", "r173", "r202", "r431", "r467", "r476", "r479", "r480", "r481", "r482", "r483", "r484", "r487", "r490", "r491", "r492", "r493", "r494", "r495", "r496", "r497", "r498", "r500", "r501", "r502", "r503", "r504", "r506", "r508", "r509", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r525", "r572" ] }, "us-gaap_LesseeLeaseDescriptionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeaseDescriptionLineItems", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Lease, Description [Line Items]", "terseLabel": "LEASES", "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": [ "r419" ] }, "us-gaap_RepaymentsOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLongTermDebt", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Repayments of Long-term Debt", "negatedLabel": "Repayments of long-term debt", "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer." } } }, "auth_ref": [ "r30", "r471" ] }, "us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfOtherCurrentAssetsTableTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsTables" ], "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_PrepaidTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidTaxes", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails": { "parentTag": "us-gaap_OtherAssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Prepaid Taxes", "verboseLabel": "Prepaid taxes", "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r539", "r546", "r612" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Remaining performance obligation expected timing of satisfaction 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": [ "r127" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value", "verboseLabel": "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": [ "r31", "r139", "r537" ] }, "us-gaap_PrepaidInsurance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidInsurance", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails": { "parentTag": "us-gaap_OtherAssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Prepaid Insurance", "terseLabel": "Prepaid insurance", "documentation": "Amount of asset related to consideration paid in advance for insurance that provides economic benefits within a future period of one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r538", "r545", "r612" ] }, "us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLongTermDebtDetailsCalc2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt and Lease Obligation, Including Current Maturities", "totalLabel": "Total debt, net", "documentation": "Amount of long-term debt and lease obligation, including portion classified as current." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Outstanding Options, Weighted Average Remaining Contractual Term", "terseLabel": "Options Outstanding, Weighted Average Remaining Contractual Term", "documentation": "Weighted average remaining contractual term of outstanding stock options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r109" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Lease term (years) - operating lease", "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r422", "r566" ] }, "us-gaap_PropertyPlantAndEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Building and Property Lease [Member]", "terseLabel": "Building and property lease", "documentation": "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": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted a total of shares of restricted stock", "verboseLabel": "Number of shares granted", "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": [ "r350" ] }, "us-gaap_OtherCurrentAssetsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCurrentAssetsTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherCurrentAssets" ], "lang": { "en-us": { "role": { "label": "Other Current Assets [Text Block]", "terseLabel": "OTHER CURRENT ASSETS", "documentation": "The entire disclosure for other current assets." } } }, "auth_ref": [] }, "us-gaap_PaymentsOfLoanCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfLoanCosts", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Payments of Loan Costs", "negatedLabel": "Debt issue costs", "documentation": "The cash outflow for loan origination associated cost which is usually collected through escrow." } } }, "auth_ref": [ "r29" ] }, "tpcs_DepositForFixedAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "DepositForFixedAssets", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "The cash outflow from deposit for fixed assets.", "label": "Deposit for Fixed Assets", "negatedLabel": "Fixed asset deposit" } } }, "auth_ref": [] }, "us-gaap_LesseeLeaseDescriptionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeaseDescriptionTable", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Lease, Description [Table]", "documentation": "Disclosure of information about lessee's leases." } } }, "auth_ref": [ "r419" ] }, "us-gaap_CorporateNonSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateNonSegmentMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Corporate and unallocated [Member]", "terseLabel": "Corporate and unallocated", "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": [ "r9", "r222", "r223", "r224", "r225", "r231", "r609" ] }, "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Weighted Average Remaining Lease Term", "terseLabel": "Lease term (years) - finance lease", "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r422", "r566" ] }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Number of Exercisable Options", "terseLabel": "Options Exercisable", "documentation": "The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied." } } }, "auth_ref": [ "r61" ] }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Domain]", "documentation": "Supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices." } } }, "auth_ref": [ "r63" ] }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" ], "lang": { "en-us": { "role": { "label": "Exercise Price Range [Axis]", "documentation": "Information by range of option prices pertaining to options granted." } } }, "auth_ref": [ "r62" ] }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Number of Outstanding Options", "terseLabel": "Options Outstanding", "documentation": "The number of shares reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices." } } }, "auth_ref": [ "r59" ] }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Upper Range Limit", "terseLabel": "Exercise Price, Upper Range", "documentation": "The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range." } } }, "auth_ref": [ "r63" ] }, "srt_DirectorMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "DirectorMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Director [Member]", "terseLabel": "Board of Directors" } } }, "auth_ref": [ "r610", "r667" ] }, "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table]", "documentation": "Details comprising a table providing supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices." } } }, "auth_ref": [ "r57" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "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": [ "r354" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Shares available for grant", "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": [ "r57" ] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense)", "totalLabel": "Total other (expense) income", "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [ "r91" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Number of shares of common stock", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r563" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, to be Paid, Year Three", "verboseLabel": "2026", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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": [ "r424" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, to be Paid, Year Two", "verboseLabel": "2025", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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": [ "r424" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Basis spread on variable rate (as a percent)", "verboseLabel": "Applicable interest rate", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueYearFive", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, to be Paid, Year Five", "terseLabel": "2028", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in 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)." } } }, "auth_ref": [ "r424" ] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails" ], "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": [ "r17" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, to be Paid, Year One", "verboseLabel": "2024", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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": [ "r424" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNet" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "PROPERTY, PLANT AND EQUIPMENT, NET", "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r101", "r123", "r128", "r129" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, to be Paid, Year Four", "verboseLabel": "2027", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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": [ "r424" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r5" ] }, "tpcs_MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "MaximumAmountOfBorrowingBaseRequiredToGrantLoanAdvance", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Maximum amount of borrowing base required to grant loan advance.", "label": "Maximum Amount Of Borrowing Base Required To Grant Loan Advance", "terseLabel": "Maximum amount of borrowing base required to grant loan advance" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Fiscal Year Maturity [Table Text Block]", "terseLabel": "Schedule of maturities of lease liabilities", "documentation": "Tabular disclosure of undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r653" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "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": [] }, "tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share Based Compensation Arrangement by Share Based Payment Award Options Weighted Average Remaining Contractual Term [Abstract]", "terseLabel": "Weighted Average Remaining Contractual Life (in years)" } } }, "auth_ref": [] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Annual capital expenditure", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r32", "r33", "r34" ] }, "us-gaap_SubsequentEventsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsAbstract", "lang": { "en-us": { "role": { "label": "SUBSEQUENT EVENTS" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails", "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Type [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r102" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk percentage", "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": [ "r37", "r39", "r66", "r67", "r236" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Inventory, Work in Process, Net of Reserves", "terseLabel": "Work-in-process", "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing." } } }, "auth_ref": [ "r100", "r540" ] }, "tpcs_RevolverLoanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "RevolverLoanMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to revolver loan taken under revolving credit facility.", "label": "Revolver loan [Member]", "terseLabel": "Revolver loan" } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Option [Member]", "terseLabel": "Options", "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_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "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": [] }, "us-gaap_FinanceLeaseInterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseInterestExpense", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Interest Expense", "verboseLabel": "Finance lease interest", "documentation": "Amount of interest expense on finance lease liability." } } }, "auth_ref": [ "r416", "r420", "r566" ] }, "us-gaap_InterestCostsCapitalized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestCostsCapitalized", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Interest Costs Capitalized", "terseLabel": "Capitalized interest", "documentation": "Amount of interest capitalized during the period." } } }, "auth_ref": [ "r68" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total liabilities", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r16", "r168", "r239", "r261", "r262", "r264", "r265", "r266", "r268", "r270", "r272", "r273", "r389", "r392", "r393", "r403", "r485", "r542", "r579", "r618", "r655", "r656" ] }, "tpcs_NumberOfSignificantCustomers": { "xbrltype": "integerItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "NumberOfSignificantCustomers", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of significant customers on whom the entity relies, giving rise to concentration of risk.", "label": "Number of Significant Customers", "terseLabel": "Number of significant customers" } } }, "auth_ref": [] }, "us-gaap_AmortizationOfFinancingCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfFinancingCosts", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Amortization of Debt Issuance Costs", "terseLabel": "Amortization of debt issue costs", "documentation": "Amount of amortization expense attributable to debt issuance costs." } } }, "auth_ref": [ "r87", "r296", "r412", "r599" ] }, "tpcs_DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances": { "xbrltype": "percentItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "DebtInstrumentPercentageOfEligibleRawMaterialUsedForDeterminationOfAggregateAmountOfAdvances", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of eligible raw material inventory used for determination of the aggregate amount of advances under the revolver loan.", "label": "Debt Instrument Percentage Of Eligible Raw Material Used For Determination Of Aggregate Amount Of Advances", "terseLabel": "Debt instrument percentage of eligible raw material used for determination of aggregate amount of advances" } } }, "auth_ref": [] }, "us-gaap_BuildingAndBuildingImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BuildingAndBuildingImprovementsMember", "presentation": [ "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Building and Building Improvements [Member]", "terseLabel": "Building and improvements", "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing." } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesDetails": { "parentTag": "tpcs_LeaseLiability", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability", "terseLabel": "Lease liability - operating lease", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r415" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "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": [ "r79" ] }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset and Liability [Table Text Block]", "verboseLabel": "Schedule of contract assets", "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": [ "r622" ] }, "tpcs_DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances": { "xbrltype": "percentItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "DebtInstrumentPercentageOfAppraisedValueOfEquipmentForDeterminationOfAggregateAmountOfAdvances", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of Appraised value of equipment for determination of the aggregate amount of advances under the revolver loan.", "label": "Debt Instrument Percentage Of Appraised Value Of Equipment For Determination Of Aggregate Amount Of Advances", "terseLabel": "Debt Instrument percentage of appraised value Of equipment for determination of aggregate amount of advances" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Gross", "verboseLabel": "Property, plant and equipment, Gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business 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": [ "r102", "r140", "r442" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "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": [ "r84", "r115", "r441", "r567", "r602", "r611", "r652" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "label": "PROPERTY, PLANT AND EQUIPMENT, NET" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net.", "terseLabel": "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": [ "r5", "r435", "r442", "r567" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY:" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskTables" ], "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": [ "r533" ] }, "tpcs_DefenseMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "DefenseMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Defense.", "label": "Defense [Member]", "terseLabel": "Defense" } } }, "auth_ref": [] }, "us-gaap_RisksAndUncertaintiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RisksAndUncertaintiesAbstract", "lang": { "en-us": { "role": { "label": "CONCENTRATION OF CREDIT RISK" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "negatedLabel": "Exercised (in shares)", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r343" ] }, "us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "label": "Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table]", "documentation": "Schedule, table or text reflecting arrangements that are not equity-based payments, or pension and other postretirement benefits, with individual employees. The arrangements (for example, profit sharing, deferred bonuses or certain split-dollar life insurance arrangements) are generally based on employment contracts between the entity and one or more selected officers or key employees, and which contain a promise by the employer to pay certain amounts at designated future dates, sometimes including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period and the carrying amount as of the balance sheet date of the related liability." } } }, "auth_ref": [ "r56", "r108" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Exercisable and vested at the end of the period", "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": [ "r57" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Outstanding at the end of the period", "verboseLabel": "Maximum contractual term (in years)", "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": [ "r109" ] }, "tpcs_RangeTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "RangeTwoMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" ], "lang": { "en-us": { "role": { "documentation": "Range Two", "label": "Range Two [Member]", "terseLabel": "Range Two" } } }, "auth_ref": [] }, "us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]", "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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Stock-based compensation", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r64", "r65", "r333" ] }, "tpcs_CustomerEMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "CustomerEMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to customer E.", "label": "Customer E [Member]", "verboseLabel": "Customer E" } } }, "auth_ref": [] }, "tpcs_EmployeeRetentionCreditRefund": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "EmployeeRetentionCreditRefund", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "The amount of employee retention credit refund.", "label": "Employee Retention Credit Refund", "terseLabel": "Refundable employee retention tax credits" } } }, "auth_ref": [] }, "tpcs_LiquiditySubstantialDoubtAboutGoingConcernPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "LiquiditySubstantialDoubtAboutGoingConcernPolicyTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Liquidity Substantial Doubt about Going Concern policy text block", "label": "Liquidity Substantial Doubt about Going Concern policy text block", "terseLabel": "Liquidity and Going Concern" } } }, "auth_ref": [] }, "us-gaap_InterestExpenseDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpenseDebt", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Interest Expense, Debt", "terseLabel": "Interest payments", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt." } } }, "auth_ref": [ "r92", "r294", "r302", "r551", "r552" ] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "us-gaap_InventoryRawMaterialsAndSupplies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterialsAndSupplies", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Inventory, Raw Materials and Supplies, Gross", "terseLabel": "Raw materials", "documentation": "Gross amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed." } } }, "auth_ref": [ "r596" ] }, "tpcs_FinanceLeaseLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "FinanceLeaseLiabilities", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetailsCalc2": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.", "label": "Finance Lease Liabilities", "terseLabel": "Total" } } }, "auth_ref": [] }, "tpcs_OptionsExercisedAsCashlessNetSettlementTransaction": { "xbrltype": "sharesItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "OptionsExercisedAsCashlessNetSettlementTransaction", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "documentation": "It represents the options exercised as cashless net settlement transaction.", "label": "Options Exercised As Cashless Net Settlement Transaction", "terseLabel": "Options exercised as a cashless net settlement transaction" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails", "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Type [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r5" ] }, "tpcs_CommonStockPursuantToOptionAwards": { "xbrltype": "sharesItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "CommonStockPursuantToOptionAwards", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "documentation": "It represents the common stock pursuant to option awards.", "label": "Common Stock Pursuant To Option Awards", "terseLabel": "Company common stock pursuant to option awards" } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r649", "r650" ] }, "tpcs_FinanceLeaseLiabilityImputedInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "FinanceLeaseLiabilityImputedInterest", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetailsCalc2": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid as imputed interest following current fiscal year.", "label": "Finance Lease Liability Imputed Interest", "negatedLabel": "Less: imputed interest" } } }, "auth_ref": [] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensation" ], "lang": { "en-us": { "role": { "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]", "terseLabel": "STOCK-BASED COMPENSATION", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r331", "r335", "r362", "r363", "r364", "r562" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "New Accounting Standards Recently Adopted", "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": [] }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease Right Of Use Asset Amortization", "verboseLabel": "Operating lease amortization", "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease." } } }, "auth_ref": [ "r599" ] }, "tpcs_GainLossFromContingentConsideration": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "GainLossFromContingentConsideration", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 15.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Amount of Gain (loss) obtained from contingent consideration.", "label": "Gain (Loss) from Contingent Consideration", "negatedLabel": "Change in fair value for contingent consideration" } } }, "auth_ref": [] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Revenue Benchmark [Member]", "terseLabel": "Sales revenue, net", "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": [ "r236", "r591" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "PROPERTY, PLANT AND EQUIPMENT, NET", "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": [] }, "tpcs_StadcoTermLoanAt3.79PercentInterestDueAugust2028Member": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "StadcoTermLoanAt3.79PercentInterestDueAugust2028Member", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Stadco Term Note at 4.71% interest, due August 2028.", "label": "Stadco Term Loan at 3.79% Interest, Due August 2028 [Member]", "terseLabel": "Stadco Term Loan, at 3.79% interest, due August 2028" } } }, "auth_ref": [] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "tpcs_OtherIncomeAndExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "OtherIncomeAndExpense", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Amount of other income (expense) related to nonoperating activities, classified as other.", "label": "Other Income and Expense", "terseLabel": "Other income" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "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": [ "r312", "r313", "r325" ] }, "tpcs_MachineryEquipmentFurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "MachineryEquipmentFurnitureAndFixturesMember", "presentation": [ "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents machinery equipment, furniture and fixtures, which are a part of property, plant and equipment.", "label": "Machinery Equipment Furniture And Fixtures [Member]", "terseLabel": "Machinery equipment, furniture, and fixtures" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityNoncurrent", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Noncurrent", "terseLabel": "Customer payments received recorded as noncurrent liability", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent." } } }, "auth_ref": [ "r312", "r313", "r325" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "tpcs_PrepaidSubscriptions": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "PrepaidSubscriptions", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails": { "parentTag": "us-gaap_OtherAssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of asset related to subscriptions paid in advance that provide economic benefits within a future period of one year or the normal operating cycle, if longer.", "label": "Prepaid Subscriptions", "verboseLabel": "Prepaid subscriptions" } } }, "auth_ref": [] }, "tpcs_Customers.Member": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "Customers.Member", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to all customers.", "label": "Customers [Member]", "terseLabel": "Customers" } } }, "auth_ref": [] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r649", "r650" ] }, "tpcs_PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "PaymentArrangementAgreementWithDepartmentOfWaterAndPowerOfCityOfLosAngelesMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to payment arrangement agreement with Department of Water and Power of the City of Los Angeles.", "label": "Payment Arrangement Agreement with Department of Water and Power of the City of Los Angeles [Member]", "terseLabel": "Stadco's payment agreement with the LADWP" } } }, "auth_ref": [] }, "tpcs_AccruedProjectCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "AccruedProjectCosts", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through project cost.", "label": "Accrued Project Costs", "verboseLabel": "Accrued project costs" } } }, "auth_ref": [] }, "tpcs_ProceedsFromTermLoan": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "ProceedsFromTermLoan", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The cash inflow for Proceeds From Term Loan.", "label": "Proceeds From Term Loan", "terseLabel": "Proceeds from term loan" } } }, "auth_ref": [] }, "tpcs_RanorTermLoanAt6.05InterestDueDecember2027Member": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "RanorTermLoanAt6.05InterestDueDecember2027Member", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Ranor Term Loan at 6.05% interest, due December 2027.", "label": "Ranor Term Loan at 6.05% Interest, Due December 2027 [Member]", "terseLabel": "Ranor Term Loan, at 6.05% interest, due December 2027" } } }, "auth_ref": [] }, "tpcs_RevolverLoanCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "RevolverLoanCapacity", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of revolver loan capacity.", "label": "Revolver Loan Capacity", "terseLabel": "Revolver loan capacity" } } }, "auth_ref": [] }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Common Stock, Capital Shares Reserved for Future Issuance", "terseLabel": "Shares reserved", "documentation": "Aggregate number of common shares reserved for future issuance." } } }, "auth_ref": [ "r24" ] }, "tpcs_RequiredMinimumDebtServiceCoverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "RequiredMinimumDebtServiceCoverageRatio", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Minimum debt service coverage ratio as required under the debt arrangement.", "label": "Required Minimum Debt Service Coverage Ratio", "terseLabel": "Required minimum debt service coverage ratio, solely with respect to the fiscal quarter ending December 31, 2022" } } }, "auth_ref": [] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361" ] }, "tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricService", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service.", "label": "Aggregate Delinquent and Unpaid Outstanding Amounts for Water, Water Service, Electric Energy and/ or Electric Service", "terseLabel": "Aggregate delinquent and unpaid outstanding amounts for water, water service, electric energy and/or electric service" } } }, "auth_ref": [] }, "tpcs_PaymentArrangementAgreementMonthlyInstalmentsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "PaymentArrangementAgreementMonthlyInstalmentsPayable", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of monthly installment payable under payment arrangement agreement.", "label": "Payment Arrangement Agreement, Monthly Instalments Payable", "terseLabel": "Monthly installment payments to be made" } } }, "auth_ref": [] }, "tpcs_BerkshireLoanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "BerkshireLoanMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails", "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Berkshire Loan [Member]", "verboseLabel": "Berkshire Loan" } } }, "auth_ref": [] }, "tpcs_StockIssuedDuringPeriodValueContingentConsideration": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "StockIssuedDuringPeriodValueContingentConsideration", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Value of stock issued for contingent consideration.", "label": "Stock Issued During Period, Value, Contingent Consideration", "verboseLabel": "Stock issued for contingent consideration" } } }, "auth_ref": [] }, "tpcs_PaymentArrangementAgreementAnnualLatePaymentChargePercentage": { "xbrltype": "pureItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "PaymentArrangementAgreementAnnualLatePaymentChargePercentage", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of annual late payment charge under payment arrangement agreement.", "label": "Payment Arrangement Agreement, Annual Late Payment Charge, Percentage", "terseLabel": "Late payment charge, annual rate" } } }, "auth_ref": [] }, "tpcs_StockIssuedDuringPeriodSharesContingentConsideration": { "xbrltype": "sharesItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "StockIssuedDuringPeriodSharesContingentConsideration", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued for contingent consideration.", "label": "Stock Issued During Period, Shares, Contingent Consideration", "verboseLabel": "Stock issued for contingent consideration (in shares)" } } }, "auth_ref": [] }, "tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceCurrent", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of current liability for aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service.", "label": "Aggregate Delinquent and Unpaid Outstanding Amounts for Water, Water Service, Electric Energy and/ or Electric Service, Current", "terseLabel": "Current liability" } } }, "auth_ref": [] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Common Stock [Member]", "terseLabel": "Common Stock Outstanding", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r569", "r570", "r571", "r573", "r574", "r575", "r576", "r604", "r605", "r651", "r666", "r670" ] }, "tpcs_AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "AggregateDelinquentAndUnpaidOutstandingAmountsForWaterWaterServiceElectricEnergyAndOrElectricServiceNoncurrent", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent liability for aggregate delinquent and unpaid outstanding amounts of the entity for water, water service, electric energy and/or electric service.", "label": "Aggregate Delinquent and Unpaid Outstanding Amounts for Water, Water Service, Electric Energy and/ or Electric Service, Noncurrent", "terseLabel": "Noncurrent liability" } } }, "auth_ref": [] }, "tpcs_ProceedsFromRepaymentsOfRevolverLoanAndBorrowings": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "ProceedsFromRepaymentsOfRevolverLoanAndBorrowings", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "The net cash inflow or outflow in aggregate debt due to repayments of revolver loan and proceeds from borrowings.", "label": "Proceeds from (Repayments of) Revolver Loan and Borrowings", "terseLabel": "Revolver loan payments and borrowings, net" } } }, "auth_ref": [] }, "tpcs_AdvancesToEmployee": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "AdvancesToEmployee", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails": { "parentTag": "us-gaap_OtherAssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of advances paid to employees.", "label": "Advances To Employee", "terseLabel": "Employee advances" } } }, "auth_ref": [] }, "tpcs_RanorIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "RanorIncMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Ranor Inc., a wholly owned subsidiary of the entity.", "label": "Ranor Inc [Member]", "terseLabel": "Ranor", "verboseLabel": "Ranor, Inc." } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "SUPPLEMENTAL DISCLOSURES OF CASH FLOWS INFORMATION:" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total stockholders' equity", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r79", "r82", "r83", "r99", "r489", "r505", "r526", "r527", "r567", "r579", "r602", "r611", "r652", "r670" ] }, "tpcs_LeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "LeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.", "label": "Lease Liability Current", "terseLabel": "Current portion of long-term lease liability" } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.tech.pre.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_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r580" ] }, "tpcs_BasisOfPresentationAndSignificantAccountingPoliciesTable": { "xbrltype": "stringItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTable", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about basis of presentation and summary of significant accounting policies.", "label": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES [Table]" } } }, "auth_ref": [] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.tech.pre.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": [ "r581" ] }, "tpcs_DepositsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "DepositsCurrent", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails": { "parentTag": "us-gaap_OtherAssetsCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of current asset related to deposits.", "label": "Deposits Current", "verboseLabel": "Deposits" } } }, "auth_ref": [] }, "tpcs_NonrefundableCommitmentFeePercentages": { "xbrltype": "percentItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "NonrefundableCommitmentFeePercentages", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "It represents the percentages rate of nonrefundable commitment fee.", "label": "Nonrefundable Commitment Fee percentages", "terseLabel": "Nonrefundable commitment fee percentages" } } }, "auth_ref": [] }, "tpcs_OtherLeaseAssetsAndLeaseLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "OtherLeaseAssetsAndLeaseLiabilities", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of other lease assets and lease liabilities during the period.", "label": "Other Lease Assets and Lease Liabilities", "terseLabel": "Other lease assets and liabilities" } } }, "auth_ref": [] }, "tpcs_BasisOfPresentationAndSignificantAccountingPoliciesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesLineItems", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES [Line Items]", "verboseLabel": "BASIS OF PRESENTATION AND SIGNIFICANT ACCOUNTING POLICIES" } } }, "auth_ref": [] }, "tpcs_ErtcRefundableCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "ErtcRefundableCredits", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails", "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of current asset related to ERTC refundable credits.", "label": "ERTC Refundable Credits", "terseLabel": "ERTC refundable credits" } } }, "auth_ref": [] }, "tpcs_CashFlowToTotalDebtService": { "xbrltype": "pureItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "CashFlowToTotalDebtService", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of cash flow to total debt service.", "label": "Cash Flow To Total Debt Service", "terseLabel": "Cash flow to total debt service" } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "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": [ "r581" ] }, "tpcs_TotalAvailableLiquidity": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "TotalAvailableLiquidity", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of total available liquidity.", "label": "Total Available Liquidity", "terseLabel": "Total available liquidity" } } }, "auth_ref": [] }, "tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary": { "xbrltype": "sharesItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToBeVestedOnEachAnniversary", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The number of shares to be vested on each anniversary.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, To Be Vested On Each Anniversary", "verboseLabel": "Number of shares will vest on each of the first, second, and third anniversaries" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Member]", "terseLabel": "Subsequent event", "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r410", "r427" ] }, "tpcs_PrepaidAdvisoryFeesOther": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "PrepaidAdvisoryFeesOther", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails": { "parentTag": "us-gaap_OtherAssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of current asset related to other advisory fees paid in advance.", "label": "Prepaid Advisory Fees, Other", "terseLabel": "Prepaid advisory fees, other" } } }, "auth_ref": [] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "tpcs_RanorRevolverLoanAt6.93InterestDueDecember2023Member": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "RanorRevolverLoanAt6.93InterestDueDecember2023Member", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for ranor revolver loan, at 6.93% interest, due december 2023.", "label": "Ranor Revolver Loan, at 6.93% interest, due December 2023 [Member]", "terseLabel": "Ranor Revolver Loan, at 6.93% interest, due December 2023" } } }, "auth_ref": [] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r582" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital", "terseLabel": "Additional paid in capital", "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock." } } }, "auth_ref": [ "r80", "r567", "r668" ] }, "tpcs_CashFlowRatioOfDebtService": { "xbrltype": "pureItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "CashFlowRatioOfDebtService", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Cash flow ratio of debt service.", "label": "Cash Flow Ratio Of Debt Service", "terseLabel": "Cash flow ratio of debt service" } } }, "auth_ref": [] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r581" ] }, "us-gaap_ConstructionInProgressMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionInProgressMember", "presentation": [ "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Construction in Progress [Member]", "verboseLabel": "Construction-in-progress", "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service." } } }, "auth_ref": [] }, "tpcs_CapitalExpendituresFromPurchaseOfFixedAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "CapitalExpendituresFromPurchaseOfFixedAssets", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of capital expenditures from purchase of fixed assets.", "label": "Capital Expenditures From Purchase Of Fixed Assets", "terseLabel": "Capital expenditures" } } }, "auth_ref": [] }, "tpcs_RanorTermLoan6.05DueDecember2027Member": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "RanorTermLoan6.05DueDecember2027Member", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Ranor Term Loan, 6.05% due December 2027.", "label": "Ranor Term Loan, 6.05% due December 2027 [Member]" } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated deficit", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r81", "r107", "r440", "r464", "r465", "r472", "r488", "r567" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "terseLabel": "Common stock - par value $.0001 per share, shares authorized: 50,000,000; Shares issued and outstanding: 8,737,432 at September 30, 2023 and 8,613,408 at March 31, 2023", "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": [ "r79", "r439", "r567" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "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": [ "r205", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r231", "r236", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r252", "r253", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r547", "r594", "r664" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "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": [ "r6", "r79", "r487", "r505", "r670", "r671" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Payments", "terseLabel": "Cash used in operating activities", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r418", "r421" ] }, "us-gaap_FinanceLeaseRightOfUseAssetAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseRightOfUseAssetAmortization", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesOtherSupplementalInformationOfLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset, Amortization", "verboseLabel": "Finance lease amortization", "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease." } } }, "auth_ref": [ "r416", "r420", "r566" ] }, "srt_ChiefFinancialOfficerMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ChiefFinancialOfficerMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "label": "Chief Financial Officer [Member]", "verboseLabel": "Chief Financial Officer" } } }, "auth_ref": [ "r610" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "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": [ "r221", "r222", "r223", "r224", "r225", "r231" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "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": [ "r13", "r567" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive loss", "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": [ "r27", "r150", "r152", "r158", "r432", "r446" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Restricted stock award", "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited." } } }, "auth_ref": [ "r6", "r107" ] }, "tpcs_RangeOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "RangeOneMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" ], "lang": { "en-us": { "role": { "documentation": "Range One", "label": "Range One [Member]", "terseLabel": "Range One" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskLineItems", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskTables", "http://www.tech.pre.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Line Items]", "terseLabel": "REVENUE", "verboseLabel": "CONCENTRATION OF CREDIT RISK", "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": [ "r533" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Stock award nonemployee directors", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r6", "r25", "r107" ] }, "us-gaap_LandMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LandMember", "presentation": [ "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Land [Member]", "terseLabel": "Land", "documentation": "Part of earth's surface not covered by water." } } }, "auth_ref": [ "r624" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "COMMITMENTS AND CONTINGENCIES" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfStockByClassTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfStockByClassTable", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Stock by Class [Table]", "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity." } } }, "auth_ref": [ "r49", "r50", "r51", "r52", "r53", "r54", "r55", "r105", "r106", "r107", "r144", "r145", "r146", "r203", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r468", "r469", "r470", "r471", "r553", "r586", "r600" ] }, "us-gaap_ClassOfStockLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfStockLineItems", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails" ], "lang": { "en-us": { "role": { "label": "Class of Stock [Line Items]", "verboseLabel": "EARNINGS PER SHARE (EPS)", "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": [ "r144", "r145", "r146", "r203", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r468", "r469", "r470", "r471", "r553", "r586", "r600" ] }, "us-gaap_FinanceLeasePrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeasePrincipalPayments", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Repayments of Long-term Capital Lease Obligations", "negatedLabel": "Payments of principal for leases", "verboseLabel": "Cash used in financing activities", "documentation": "Amount of cash outflow for principal payment on finance lease." } } }, "auth_ref": [ "r417", "r421" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "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": [ "r37", "r39", "r66", "r67", "r236", "r533", "r592" ] }, "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Payment, Due [Abstract]", "verboseLabel": "Maturities of lease liabilities" } } }, "auth_ref": [] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "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": [ "r581" ] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "terseLabel": "INCOME TAXES", "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r169", "r368", "r373", "r374", "r376", "r379", "r383", "r384", "r385", "r473" ] }, "tpcs_DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio": { "xbrltype": "durationItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "DebtInstrumentCovenantTrailingPeriodForMeasurementOfLoanToValueRatio", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the trailing period used for determination of loan to value ratio under the terms of the loan covenants.", "label": "Debt Instrument Covenant Trailing Period For Measurement Of Loan To Value Ratio", "terseLabel": "Debt instrument covenant trailing period for measurement of loan to value ratio" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTable", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskTables", "http://www.tech.pre.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Table]", "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r36", "r37", "r39", "r40", "r66", "r111", "r533" ] }, "us-gaap_ConcentrationRiskDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskDisclosureTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRisk" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Disclosure [Text Block]", "verboseLabel": "CONCENTRATION OF CREDIT RISK", "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": [ "r98" ] }, "us-gaap_Revenues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Revenues", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Revenues", "terseLabel": "Net sales", "verboseLabel": "Revenues", "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)." } } }, "auth_ref": [ "r157", "r168", "r209", "r210", "r221", "r226", "r227", "r233", "r235", "r236", "r239", "r261", "r262", "r264", "r265", "r266", "r268", "r270", "r272", "r273", "r403", "r434", "r618" ] }, "tpcs_AmountIncludedInSumToCalculateMaximumBorrowingBase": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "AmountIncludedInSumToCalculateMaximumBorrowingBase", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount included in sum total to calculate borrowing base for advancing loans.", "label": "Amount Included In Sum To Calculate Maximum Borrowing Base", "terseLabel": "Amount included in sum to calculate maximum borrowing base" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Operating Income (Loss)", "totalLabel": "Loss from operations", "verboseLabel": "Total operating loss", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r208", "r222", "r228", "r231", "r543" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of net sales on a disaggregated basis by market and contract type", "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": [ "r623" ] }, "tpcs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsIntrinsicValueAbstract", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share Based Compensation Arrangement by Share Based Payment Award Options Intrinsic Value [Abstract]", "terseLabel": "Aggregate Intrinsic Value" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventLineItems", "presentation": [ "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Line Items]", "terseLabel": "SUBSEQUENT EVENTS", "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event." } } }, "auth_ref": [ "r410", "r427" ] }, "tpcs_DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances": { "xbrltype": "percentItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "DebtInstrumentPercentageOfAccountsReceivableUsedForDeterminationOfAggregateAmountOfAdvances", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of accounts receivable used for determination of the aggregate amount of advances under the revolver loan.", "label": "Debt Instrument Percentage Of Accounts Receivable Used For Determination Of Aggregate Amount Of Advances", "terseLabel": "Debt instrument percentage of accounts receivable used for determination of aggregate amount of advances" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiability", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesDetails": { "parentTag": "tpcs_LeaseLiability", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability", "terseLabel": "Lease liability - finance leases", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease." } } }, "auth_ref": [ "r415", "r424" ] }, "us-gaap_IntersegmentEliminationMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntersegmentEliminationMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Intersegment Eliminations [Member]", "terseLabel": "Intersegment elimination", "documentation": "Eliminating entries used in operating segment consolidation." } } }, "auth_ref": [ "r210", "r221", "r222", "r223", "r224", "r225", "r227", "r231" ] }, "us-gaap_SubsequentEventTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTable", "presentation": [ "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Table]", "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued." } } }, "auth_ref": [ "r410", "r427" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersDiluted", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Diluted", "terseLabel": "Net (loss) income", "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders." } } }, "auth_ref": [ "r160", "r187", "r189", "r190", "r191", "r192", "r194", "r197" ] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Axis]", "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r410", "r427" ] }, "tpcs_IncreaseDecreaseInContractLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "IncreaseDecreaseInContractLiabilities", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in contract liabilities", "label": "Increase Decrease in Contract Liabilities", "terseLabel": "Contract liabilities" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INCOME TAXES" } } }, "auth_ref": [] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "LEASES" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Restricted stock award (in share)", "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited." } } }, "auth_ref": [ "r6", "r78", "r79", "r107" ] }, "tpcs_CustomerAMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "CustomerAMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to customer A.", "label": "Customer A [Member]", "terseLabel": "Customer A" } } }, "auth_ref": [] }, "us-gaap_TransferredOverTimeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransferredOverTimeMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails" ], "lang": { "en-us": { "role": { "label": "Transferred over Time [Member]", "terseLabel": "Over-time", "documentation": "Contract with customer in which good or service is transferred over time." } } }, "auth_ref": [ "r559" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 }, "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses", "totalLabel": "Total", "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": [ "r17" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "terseLabel": "Stock options exercised (in shares)", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r6", "r78", "r79", "r107", "r344" ] }, "us-gaap_SubsequentEventsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureSubsequentEvents" ], "lang": { "en-us": { "role": { "label": "Subsequent Events [Text Block]", "terseLabel": "SUBSEQUENT EVENTS", "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business." } } }, "auth_ref": [ "r426", "r428" ] }, "tpcs_CustomerBMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "CustomerBMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to customer B.", "label": "Customer B [Member]", "terseLabel": "Customer B" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS (unaudited)" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetailsCalc2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Payment, Due", "totalLabel": "Total lease payments", "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease." } } }, "auth_ref": [ "r424" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails", "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "REVENUE", "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": [ "r324", "r554", "r555", "r556", "r557", "r558", "r559", "r560" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Domain]", "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r410", "r427" ] }, "tpcs_RevenueRemainingPerformanceObligationCompletedLessThan50": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "RevenueRemainingPerformanceObligationCompletedLessThan50", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not completed 50% of obligations.", "label": "Revenue Remaining Performance Obligation Completed Less Than 50", "terseLabel": "Revenue remaining performance obligation completed less than 50%" } } }, "auth_ref": [] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails", "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [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": [ "r324", "r554", "r555", "r556", "r557", "r558", "r559", "r560" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails" ], "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_AccruedProfessionalFeesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedProfessionalFeesCurrent", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Professional Fees, Current", "verboseLabel": "Accrued professional fees", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "REVENUE", "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_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "terseLabel": "Net (loss) earnings per share diluted (in dollars per share)", "verboseLabel": "Net (loss) earnings 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": [ "r159", "r176", "r177", "r178", "r179", "r180", "r188", "r195", "r196", "r197", "r201", "r401", "r402", "r433", "r447", "r541" ] }, "tpcs_CustomerDMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "CustomerDMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to customer D.", "label": "Customer D [Member]", "terseLabel": "Customer D" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies", "verboseLabel": "Commitments and contingent liabilities (see Note 14)", "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": [ "r23", "r73", "r438", "r486" ] }, "tpcs_TradeReceivablesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "TradeReceivablesMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails" ], "lang": { "en-us": { "role": { "label": "Trade Receivables [Member]", "terseLabel": "Trade Receivables" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Noncurrent", "verboseLabel": "Long-term lease liability", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent." } } }, "auth_ref": [ "r415" ] }, "tpcs_CustomerCMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "CustomerCMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to customer C.", "label": "Customer C [Member]", "terseLabel": "Customer C" } } }, "auth_ref": [] }, "us-gaap_TypeOfArrangementAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TypeOfArrangementAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]", "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations." } } }, "auth_ref": [ "r386" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Number Of Options", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "dei_EntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "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": [] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFive", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, to be Paid, after Year Five", "terseLabel": "Thereafter", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after 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)." } } }, "auth_ref": [ "r424" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Remaining performance obligation amount", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r126" ] }, "tpcs_IndustrialMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "IndustrialMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to industrial.", "label": "Industrial [Member]", "terseLabel": "Industrial" } } }, "auth_ref": [] }, "us-gaap_TimingOfTransferOfGoodOrServiceDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TimingOfTransferOfGoodOrServiceDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails" ], "lang": { "en-us": { "role": { "label": "Timing of Transfer of Good or Service [Domain]", "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time." } } }, "auth_ref": [ "r559", "r623" ] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r137", "r148", "r168", "r239", "r261", "r262", "r264", "r265", "r266", "r268", "r270", "r272", "r273", "r388", "r392", "r403", "r567", "r618", "r619", "r655" ] }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number Diluted Shares Outstanding Adjustment", "terseLabel": "Dilutive effect of stock options", "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation." } } }, "auth_ref": [ "r607" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Weighted average shares outstanding - diluted (in shares)", "verboseLabel": "Weighted average 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": [ "r187", "r197" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesDetails": { "parentTag": "tpcs_RightOfUseAsset", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right of use asset - operating lease", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r414" ] }, "us-gaap_TimingOfTransferOfGoodOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TimingOfTransferOfGoodOrServiceAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails" ], "lang": { "en-us": { "role": { "label": "Timing of Transfer of Good or Service [Axis]", "documentation": "Information by timing of transfer of good or service to customer." } } }, "auth_ref": [ "r559", "r623" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates in the Preparation of Financial Statements", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r41", "r42", "r43", "r121", "r122", "r124", "r125" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted average shares outstanding - basic (in shares)", "verboseLabel": "Weighted average shares", "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": [ "r185", "r197" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value", "periodEndLabel": "Outstanding Value at the end of the period", "periodStartLabel": "Outstanding Value at the beginning of the period", "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding." } } }, "auth_ref": [ "r57" ] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "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": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Outstanding at the end of the period (in shares)", "periodStartLabel": "Outstanding at the beginning of the period (in shares)", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r339", "r340" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesDetails": { "parentTag": "tpcs_RightOfUseAsset", "weight": 1.0, "order": 2.0 }, "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization", "terseLabel": "Right of use asset - finance leases", "verboseLabel": "Right-of-use asset, net", "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease." } } }, "auth_ref": [ "r414" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Outstanding at the end of the period (in dollars per share)", "periodStartLabel": "Outstanding at the beginning of the period (in dollars per share)", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r339", "r340" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "terseLabel": "Exercisable and vested at the end of the period (in shares)", "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": [ "r341" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "periodEndLabel": "Exercisable and vested at the end of the period (in dollars per share)", "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": [ "r341" ] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Attributable to Parent", "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": [ "r86", "r96", "r117", "r136", "r149", "r151", "r155", "r168", "r174", "r176", "r177", "r178", "r179", "r182", "r183", "r193", "r208", "r222", "r228", "r231", "r239", "r261", "r262", "r264", "r265", "r266", "r268", "r270", "r272", "r273", "r402", "r403", "r445", "r507", "r523", "r524", "r543", "r577", "r618" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersBasic", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureBasisOfPresentationAndSignificantAccountingPoliciesDetails", "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Basic", "terseLabel": "Net loss", "totalLabel": "Net (loss) income", "verboseLabel": "Net (loss) income", "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders." } } }, "auth_ref": [ "r160", "r176", "r177", "r178", "r179", "r185", "r186", "r194", "r197", "r208", "r222", "r228", "r231", "r543" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of sales", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r89", "r431" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Stockholders' Equity:" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureAccruedExpensesTables" ], "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_NatureOfOperations": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NatureOfOperations", "presentation": [ "http://www.tech.pre.com/role/DisclosureDescriptionOfBusiness" ], "lang": { "en-us": { "role": { "label": "Nature of Operations [Text Block]", "terseLabel": "DESCRIPTION OF BUSINESS", "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward." } } }, "auth_ref": [ "r120", "r132" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Equity Award [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net decrease 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": [ "r1", "r94" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "STOCK-BASED COMPENSATION", "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": [ "r332", "r334", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued compensation", "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17" ] }, "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table Text Block]", "verboseLabel": "Summary of information relating to stock options outstanding", "documentation": "Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms." } } }, "auth_ref": [ "r57" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r332", "r334", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "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": [ "r31", "r94", "r166" ] }, "us-gaap_SalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Sales", "documentation": "Primary financial statement caption encompassing revenue from sale of goods and services rendered in the normal course of business." } } }, "auth_ref": [ "r10" ] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Net sales from external customers", "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": [ "r209", "r210", "r221", "r226", "r227", "r233", "r235", "r236", "r323", "r324", "r431" ] }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsValuationAllowance", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Valuation Allowance", "terseLabel": "Valuation allowance on deferred tax assets", "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized." } } }, "auth_ref": [ "r375" ] }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskTables", "http://www.tech.pre.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "terseLabel": "Schedule of trade accounts receivable from customers who accounted for more than 10%", "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": [ "r36", "r37", "r39", "r40", "r66", "r111" ] }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Including Assessed Tax", "terseLabel": "Net Sales", "documentation": "Amount, including 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": [ "r209", "r210", "r221", "r226", "r227", "r233", "r235", "r236", "r323", "r324", "r431" ] }, "us-gaap_LossContingencyAccrualAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingencyAccrualAtCarryingValue", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Loss Contingency Accrual", "terseLabel": "Provision for claims", "documentation": "Amount of loss contingency liability." } } }, "auth_ref": [ "r256", "r587" ] }, "us-gaap_ScheduleOfDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDebtTableTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Debt [Table Text Block]", "terseLabel": "Schedule of outstanding debt obligations", "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of reconciliation of the numerators and denominators reflected in the basic and diluted earnings per share computations", "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": [ "r607" ] }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Outstanding Options, Weighted Average Exercise Price", "terseLabel": "Options Outstanding, Weighted Average Exercise Price", "documentation": "The weighted average price as of the balance sheet date at which grantees could acquire the underlying shares with respect to all outstanding stock options which are in the customized range of exercise prices." } } }, "auth_ref": [ "r59" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Revenue Recognized", "verboseLabel": "Revenue recognized by 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": [ "r326" ] }, "tpcs_EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "EmployeeAgreementAnnualCommitmentForFutureSalariesDuringNextFiscalYear", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Employee Agreement Annual Commitment For Future Salaries During Next Fiscal Year", "terseLabel": "Aggregate commitment for future executive salaries and bonus" } } }, "auth_ref": [] }, "us-gaap_TransferredAtPointInTimeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransferredAtPointInTimeMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails" ], "lang": { "en-us": { "role": { "label": "Transferred at Point in Time [Member]", "terseLabel": "Point-in-time", "documentation": "Contract with customer in which good or service is transferred at point in time." } } }, "auth_ref": [ "r559" ] }, "us-gaap_SecuredDebtMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecuredDebtMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Secured Debt [Member]", "verboseLabel": "Secured Term Loan", "documentation": "Collateralized debt obligation backed by, for example, but not limited to, pledge, mortgage or other lien on the entity's assets." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Exercisable and vested at the end of the period", "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": [ "r57" ] }, "us-gaap_DefinedContributionPlanCostRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanCostRecognized", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan, Cost", "verboseLabel": "Retirement Benefits", "documentation": "Amount of cost for defined contribution plan." } } }, "auth_ref": [ "r329" ] }, "us-gaap_ArrangementsAndNonarrangementTransactionsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ArrangementsAndNonarrangementTransactionsMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Domain]", "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations." } } }, "auth_ref": [ "r386" ] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Interest Expense", "negatedLabel": "Interest expense", "terseLabel": "Interest expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r71", "r118", "r156", "r212", "r411", "r510", "r577", "r669" ] }, "us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Table]", "documentation": "Disclosure of information about collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations." } } }, "auth_ref": [ "r386" ] }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Exercisable Options, Weighted Average Exercise Price", "terseLabel": "Options Exercisable, Weighted Average Exercise Price", "documentation": "Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding." } } }, "auth_ref": [ "r60" ] }, "srt_TitleOfIndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureSubsequentEventsDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "label": "Title of Individual [Axis]" } } }, "auth_ref": [ "r610", "r654" ] }, "us-gaap_OtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 6.0 }, "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherCurrentAssetsDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Assets, Current", "terseLabel": "Other current assets", "totalLabel": "Total", "documentation": "Amount of current assets classified as other." } } }, "auth_ref": [ "r147", "r567" ] }, "us-gaap_DebtWeightedAverageInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtWeightedAverageInterestRate", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt, Weighted Average Interest Rate", "terseLabel": "Weighted average interest rate (as a percent)", "documentation": "Weighted average interest rate of debt outstanding." } } }, "auth_ref": [] }, "us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]", "terseLabel": "OTHER NONCURRENT LIABILITY", "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": [ "r386" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureIncomeTaxesDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit)", "verboseLabel": "Income tax (benefit) expense", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r119", "r131", "r182", "r183", "r216", "r371", "r380", "r448" ] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, Net, Current", "terseLabel": "Contract assets", "verboseLabel": "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": [ "r312", "r314", "r325" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (unaudited)" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenue" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "verboseLabel": "REVENUE", "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": [ "r133", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r327" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "REVENUE" } } }, "auth_ref": [] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r170", "r210", "r221", "r222", "r223", "r224", "r225", "r227", "r231", "r261", "r262", "r263", "r264", "r266", "r267", "r269", "r271", "r272", "r618", "r619" ] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebt" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "terseLabel": "DEBT", "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": [ "r104", "r167", "r274", "r280", "r281", "r282", "r283", "r284", "r285", "r290", "r297", "r298", "r300" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r4", "r213" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "COMMITMENTS AND CONTINGENCIES", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r103", "r254", "r255", "r534", "r617" ] }, "us-gaap_ProvisionForLossOnContracts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForLossOnContracts", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Provision for Loss on Contracts", "verboseLabel": "Provision for contract losses", "documentation": "Cumulative provision for contract losses not offset against related costs accumulated on the balance sheet." } } }, "auth_ref": [ "r311" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revolving Credit Facility [Member]", "verboseLabel": "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_LongTermDebtAndCapitalLeaseObligations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtAndCapitalLeaseObligations", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/DisclosureLongTermDebtDetailsCalc2": { "parentTag": "us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt and Lease Obligation", "verboseLabel": "Total long-term debt, net", "documentation": "Amount of long-term debt and lease obligation, classified as noncurrent." } } }, "auth_ref": [ "r11", "r437" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Additional Paid-in Capital [Member]", "verboseLabel": "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": [ "r365", "r366", "r367", "r475", "r604", "r605", "r606", "r651", "r670" ] }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesNameDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities, Name [Domain]", "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented." } } }, "auth_ref": [ "r35" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "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_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "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": [] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation, Stock Options, Activity [Table Text Block]", "terseLabel": "Summary of information about options granted", "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": [ "r7", "r8", "r58" ] }, "tpcs_StadcoAcquisitionLlcMember": { "xbrltype": "domainItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "StadcoAcquisitionLlcMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for Stadco Acquisition, LLC.", "label": "Stadco Acquisition Llc [Member]", "terseLabel": "Stadco" } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "OTHER NONCURRENT LIABILITIES" } } }, "auth_ref": [] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Interest Paid, Net", "verboseLabel": "Cash paid for interest, net of amounts capitalized", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r161", "r164", "r165" ] }, "tpcs_EmployeeAgreementAnnualCommitmentForVacationAndHoliday": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "EmployeeAgreementAnnualCommitmentForVacationAndHoliday", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Employee Agreement Annual Commitment For Vacation And Holiday", "terseLabel": "Aggregate commitment for accrued payroll, vacation and holiday" } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.tech.pre.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": [ "r583" ] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "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": [] }, "us-gaap_UnamortizedDebtIssuanceExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnamortizedDebtIssuanceExpense", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Unamortized Debt Issuance Expense", "terseLabel": "Unamortized debt issuance expense", "documentation": "The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset." } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "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": [ "r3" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "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": [ "r37", "r39", "r66", "r67", "r236", "r533" ] }, "us-gaap_EarningsPerShareBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasicAbstract", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic [Abstract]", "terseLabel": "Basic EPS" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 14.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Inventories", "negatedLabel": "Work-in-process and raw materials", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r3" ] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r135", "r205", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r231", "r236", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r547", "r594", "r664" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.tech.pre.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": [ "r584" ] }, "tpcs_LeaseOfLesseeDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "LeaseOfLesseeDisclosureTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeases" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing.", "label": "Lease of Lessee Disclosure [Text Block]", "terseLabel": "LEASES" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r171", "r172", "r173", "r202", "r431", "r467", "r476", "r479", "r480", "r481", "r482", "r483", "r484", "r487", "r490", "r491", "r492", "r493", "r494", "r495", "r496", "r497", "r498", "r500", "r501", "r502", "r503", "r504", "r506", "r508", "r509", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r525", "r572" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerAsset", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "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": [ "r598" ] }, "us-gaap_OtherLiabilitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesDisclosureTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureOtherNoncurrentLiabilities" ], "lang": { "en-us": { "role": { "label": "Other Liabilities Disclosure [Text Block]", "terseLabel": "OTHER NONCURRENT LIABILITIES", "documentation": "The entire disclosure for other liabilities." } } }, "auth_ref": [ "r18" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "verboseLabel": "Exercised (in dollars per share)", "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options." } } }, "auth_ref": [ "r343" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Range [Axis]" } } }, "auth_ref": [ "r257", "r258", "r259", "r260", "r328", "r330", "r358", "r359", "r360", "r429", "r430", "r460", "r477", "r478", "r528", "r529", "r530", "r531", "r532", "r535", "r536", "r544", "r553", "r561", "r568", "r571", "r616", "r620", "r658", "r659", "r660", "r661", "r662" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r112", "r142", "r168", "r208", "r223", "r229", "r239", "r261", "r262", "r264", "r265", "r266", "r268", "r270", "r272", "r273", "r388", "r392", "r403", "r436", "r499", "r567", "r579", "r618", "r619", "r655" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities [Axis]", "documentation": "Information by type of antidilutive security." } } }, "auth_ref": [ "r35" ] }, "tpcs_RightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "RightOfUseAsset", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/DisclosureLeasesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Right-of-Use Asset", "totalLabel": "Right of use asset, net" } } }, "auth_ref": [] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "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": [ "r88", "r168", "r208", "r222", "r228", "r231", "r239", "r261", "r262", "r264", "r265", "r266", "r268", "r270", "r272", "r273", "r403", "r543", "r618" ] }, "us-gaap_EarningsPerShareDilutedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDilutedAbstract", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted [Abstract]", "terseLabel": "Diluted EPS" } } }, "auth_ref": [] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r6", "r25", "r134", "r153", "r154", "r155", "r171", "r172", "r173", "r175", "r181", "r183", "r202", "r240", "r241", "r310", "r365", "r366", "r367", "r377", "r378", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r404", "r405", "r406", "r407", "r408", "r409", "r425", "r461", "r462", "r463", "r475", "r525" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Weighted Average Exercise Price" } } }, "auth_ref": [] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "auth_ref": [ "r257", "r258", "r259", "r260", "r330", "r430", "r460", "r477", "r478", "r528", "r529", "r530", "r531", "r532", "r535", "r536", "r544", "r553", "r561", "r568", "r620", "r657", "r658", "r659", "r660", "r661", "r662" ] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.tech.pre.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": [ "r585" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings (Accumulated Deficit)", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r134", "r171", "r172", "r173", "r175", "r181", "r183", "r240", "r241", "r365", "r366", "r367", "r377", "r378", "r394", "r396", "r397", "r399", "r400", "r461", "r463", "r475", "r670" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities:" } } }, "auth_ref": [] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Range [Domain]" } } }, "auth_ref": [ "r257", "r258", "r259", "r260", "r328", "r330", "r358", "r359", "r360", "r429", "r430", "r460", "r477", "r478", "r528", "r529", "r530", "r531", "r532", "r535", "r536", "r544", "r553", "r561", "r568", "r571", "r616", "r620", "r658", "r659", "r660", "r661", "r662" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Antidilutive securities excluded from computation of earnings per share amount (in shares)", "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": [ "r198" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r3" ] }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnSaleOfPropertyPlantEquipment", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Gain on disposal of equipment", "negatedLabel": "Gain on disposal of fixed assets", "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property." } } }, "auth_ref": [ "r4" ] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.tech.pre.com/role/DisclosureEarningsPerShareEpsDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "terseLabel": "Net (loss) earnings per share basic (in dollars per share)", "verboseLabel": "Net (loss) earnings 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": [ "r159", "r176", "r177", "r178", "r179", "r180", "r185", "r188", "r195", "r196", "r197", "r201", "r401", "r402", "r433", "r447", "r541" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other noncurrent assets, net", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r141" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails", "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "auth_ref": [ "r257", "r258", "r259", "r260", "r330", "r430", "r460", "r477", "r478", "r528", "r529", "r530", "r531", "r532", "r535", "r536", "r544", "r553", "r561", "r568", "r620", "r657", "r658", "r659", "r660", "r661", "r662" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "lang": { "en-us": { "role": { "label": "EARNINGS PER SHARE (EPS)" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.tech.pre.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": [] }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilities", "crdr": "debit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued expenses", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid." } } }, "auth_ref": [ "r3" ] }, "tpcs_ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "ScheduleOfOtherSupplementalInformationRelatedToLeasesTableTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of other supplemental information related to leases.", "label": "Schedule Of Other Supplemental Information Related To Leases [Table Text Block]", "verboseLabel": "Schedule of supplemental information of leases" } } }, "auth_ref": [] }, "us-gaap_UnbilledRevenuesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnbilledRevenuesMember", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueContractAssetsAndContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Unbilled Revenues [Member]", "terseLabel": "Unbilled", "documentation": "Unbilled amounts due for services rendered or products shipped. This element is distinct from unbilled contracts receivables because this is based on noncontract transactions." } } }, "auth_ref": [] }, "us-gaap_DeferredFinanceCostsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFinanceCostsNet", "crdr": "debit", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Issuance Costs, Net", "verboseLabel": "Less: debt issue costs unamortized", "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs." } } }, "auth_ref": [ "r71", "r621" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.tech.pre.com/role/DisclosureSegmentInformationFinancialInformationForSegmentsDetails", "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "terseLabel": "Consolidated (loss) income before income taxes", "totalLabel": "(Loss) income 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": [ "r0", "r85", "r116", "r208", "r222", "r228", "r231", "r434", "r443", "r543" ] }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationPercentage", "presentation": [ "http://www.tech.pre.com/role/DisclosureRevenueAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Percentage", "terseLabel": "Revenue, remaining performance obligation, percentage", "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue." } } }, "auth_ref": [ "r590" ] }, "us-gaap_DebtInstrumentCarryingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Gross", "terseLabel": "Total debt", "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt." } } }, "auth_ref": [ "r11", "r114", "r301" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrentAbstract", "lang": { "en-us": { "role": { "label": "OTHER CURRENT ASSETS" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "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": [ "r6", "r134", "r153", "r154", "r155", "r171", "r172", "r173", "r175", "r181", "r183", "r202", "r240", "r241", "r310", "r365", "r366", "r367", "r377", "r378", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r404", "r405", "r406", "r407", "r408", "r409", "r425", "r461", "r462", "r463", "r475", "r525" ] }, "tpcs_DebtInstrumentCovenantLeverageRatioYearOne": { "xbrltype": "pureItemType", "nsuri": "http://www.tech.pre.com/20230930", "localname": "DebtInstrumentCovenantLeverageRatioYearOne", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the leverage ratio under the financial covenant in year one.", "label": "Debt Instrument Covenant Leverage Ratio Year One", "terseLabel": "Debt instrument covenant leverage ratio year one" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.tech.pre.com/role/DisclosurePropertyPlantAndEquipmentNetTables" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of components of property, plant and equipment, net", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r5" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.tech.pre.com/role/DisclosureConcentrationOfCreditRiskDetails", "http://www.tech.pre.com/role/DisclosureRevenueDisaggregatedBasisDetails", "http://www.tech.pre.com/role/DisclosureRevenueNetSalesFromCustomersDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "auth_ref": [ "r236", "r556", "r623", "r664", "r665" ] }, "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "verboseLabel": "Adjustments to reconcile net loss to net cash provided by operating activities:" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.tech.pre.com/role/DisclosureDebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Maximum principal amount available", "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": [ "r15" ] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit", "presentation": [ "http://www.tech.pre.com/role/DisclosureStockBasedCompensationStockOptionsOutstandingByExercisePriceDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Lower Range Limit", "terseLabel": "Exercise Price, Lower Range", "documentation": "The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range." } } }, "auth_ref": [ "r63" ] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.tech.pre.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.tech.pre.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "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": [ "r79" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "STOCK-BASED COMPENSATION" } } }, "auth_ref": [] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "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/2147481877/830-230-45-1" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "21B", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-21B" }, "r3": { "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" }, "r4": { "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" }, "r5": { "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" }, "r6": { "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" }, "r7": { "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" }, "r8": { "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" }, "r9": { "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" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D" }, "r11": { "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" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SAB TOPIC 4.C)", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-4" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "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": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20,24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.3,4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r27": { "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" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r31": { "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" }, "r32": { "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" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r36": { "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" }, "r37": { "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" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r39": { "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" }, "r40": { "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" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9" }, "r44": { "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" }, "r45": { "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" }, "r46": { "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" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r48": { "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" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "480", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(CFRR 211.02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-1" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481142/505-10-45-2" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-10" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-4" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-5" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "710", "SubTopic": "10", "Section": "25", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483070/710-10-25-11" }, "r57": { "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" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)-(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r64": { "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" }, "r65": { "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" }, "r66": { "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" }, "r67": { "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" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r76": { "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" }, "r77": { "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" }, "r78": { "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" }, "r79": { "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" }, "r80": { "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" }, "r81": { "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" }, "r82": { "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" }, "r83": { "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" }, "r84": { "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" }, "r85": { "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" }, "r86": { "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" }, "r87": { "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(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r88": { "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,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r89": { "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(a),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r90": { "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" }, "r91": { "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" }, "r92": { "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.8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r93": { "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" }, "r94": { "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" }, "r95": { "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" }, "r96": { "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" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r99": { "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" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7" }, "r107": { "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" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "710", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483043/710-10-30-1" }, "r109": { "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" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r111": { "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" }, "r112": { "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/2147479853/942-210-S99-1" }, "r113": { "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(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r114": { "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(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r115": { "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/2147479853/942-210-S99-1" }, "r116": { "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/2147483589/942-220-S99-1" }, "r117": { "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/2147483589/942-220-S99-1" }, "r118": { "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.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r119": { "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" }, "r120": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r121": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r122": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r123": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1" }, "r124": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11" }, "r125": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12" }, "r126": { "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" }, "r127": { "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" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7" }, "r130": { "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" }, "r131": { "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" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r134": { "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" }, "r135": { "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" }, "r136": { "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" }, "r137": { "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" }, "r138": { "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" }, "r139": { "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" }, "r140": { "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(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r141": { "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(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r142": { "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" }, "r143": { "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(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r144": { "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(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r145": { "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(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r146": { "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(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r147": { "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" }, "r148": { "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" }, "r149": { "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" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "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" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(210.5-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r157": { "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(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r158": { "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" }, "r159": { "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" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 6.B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-5" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17" }, "r162": { "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" }, "r163": { "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" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r170": { "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" }, "r171": { "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" }, "r172": { "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" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r180": { "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" }, "r181": { "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" }, "r182": { "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" }, "r183": { "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" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r185": { "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" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-11" }, "r187": { "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" }, "r188": { "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" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r193": { "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" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r195": { "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" }, "r196": { "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" }, "r197": { "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" }, "r198": { "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" }, "r199": { "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" }, "r200": { "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" }, "r201": { "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" }, "r202": { "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" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r205": { "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" }, "r206": { "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" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "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" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "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" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r239": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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" }, "r270": { "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" }, "r271": { "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" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r280": { "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r288": { "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" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r290": { "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" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r297": { "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" }, "r298": { "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" }, "r299": { "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" }, "r300": { "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" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-6" }, "r303": { "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" }, "r304": { "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" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r310": { "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" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "605", "SubTopic": "35", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481187/605-35-45-2" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "70", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1" }, "r330": { "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" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r369": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r376": { "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" }, "r377": { "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" }, "r378": { "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" }, "r379": { "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" }, "r380": { "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" }, "r381": { "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.Fact.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r382": { "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.Fact.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r383": { "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" }, "r384": { "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/2147482526/740-270-50-1" }, "r385": { "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" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "808", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479402/808-10-50-1" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r425": { "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" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//855/tableOfContent" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r429": { "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" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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/2147483589/942-220-S99-1" }, "r433": { "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/2147483589/942-220-S99-1" }, "r434": { "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/2147479557/942-235-S99-1" }, "r435": { "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/2147480842/942-360-50-1" }, "r436": { "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/2147479440/944-210-S99-1" }, "r437": { "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)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r438": { "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/2147479440/944-210-S99-1" }, "r439": { "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/2147479440/944-210-S99-1" }, "r440": { "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/2147479440/944-210-S99-1" }, "r441": { "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/2147479440/944-210-S99-1" }, "r442": { "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/2147479440/944-210-S99-1" }, "r443": { "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/2147483586/944-220-S99-1" }, "r444": { "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/2147483586/944-220-S99-1" }, "r445": { "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/2147483586/944-220-S99-1" }, "r446": { "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/2147483586/944-220-S99-1" }, "r447": { "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/2147483586/944-220-S99-1" }, "r448": { "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/2147483586/944-220-S99-1" }, "r449": { "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/2147480149/944-235-S99-1" }, "r450": { "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/2147480149/944-235-S99-1" }, "r451": { "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/2147480149/944-235-S99-1" }, "r452": { "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/2147480149/944-235-S99-1" }, "r453": { "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/2147480149/944-235-S99-1" }, "r454": { "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/2147480149/944-235-S99-1" }, "r455": { "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/2147480149/944-235-S99-1" }, "r456": { "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/2147480149/944-235-S99-1" }, "r457": { "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/2147480149/944-235-S99-1" }, "r458": { "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/2147480149/944-235-S99-1" }, "r459": { "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/2147480149/944-235-S99-1" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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/2147479383/944-825-50-1B" }, "r467": { "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" }, "r468": { "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)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r469": { "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)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r470": { "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)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "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/2147480767/946-205-45-3" }, "r475": { "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/2147480767/946-205-45-4" }, "r476": { "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/2147480555/946-210-45-4" }, "r477": { "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/2147480524/946-210-50-6" }, "r478": { "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/2147480524/946-210-50-6" }, "r479": { "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/2147479617/946-210-S99-1" }, "r480": { "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/2147479617/946-210-S99-1" }, "r481": { "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/2147479617/946-210-S99-1" }, "r482": { "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/2147479617/946-210-S99-1" }, "r483": { "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/2147479617/946-210-S99-1" }, "r484": { "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/2147479617/946-210-S99-1" }, "r485": { "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/2147479617/946-210-S99-1" }, "r486": { "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/2147479617/946-210-S99-1" }, "r487": { "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/2147479617/946-210-S99-1" }, "r488": { "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/2147479617/946-210-S99-1" }, "r489": { "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/2147479617/946-210-S99-1" }, "r490": { "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/2147479617/946-210-S99-1" }, "r491": { "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/2147479617/946-210-S99-1" }, "r492": { "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/2147479617/946-210-S99-1" }, "r493": { "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/2147479617/946-210-S99-1" }, "r494": { "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/2147479617/946-210-S99-1" }, "r495": { "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/2147479617/946-210-S99-1" }, "r496": { "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/2147479617/946-210-S99-1" }, "r497": { "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/2147479617/946-210-S99-1" }, "r498": { "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/2147479617/946-210-S99-1" }, "r499": { "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/2147479617/946-210-S99-1" }, "r500": { "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/2147479617/946-210-S99-1" }, "r501": { "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/2147479617/946-210-S99-1" }, "r502": { "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/2147479617/946-210-S99-1" }, "r503": { "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/2147479617/946-210-S99-1" }, "r504": { "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/2147479617/946-210-S99-2" }, "r505": { "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/2147479617/946-210-S99-2" }, "r506": { "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/2147483581/946-220-45-3" }, "r507": { "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/2147483581/946-220-45-7" }, "r508": { "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/2147483575/946-220-S99-1" }, "r509": { "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/2147483575/946-220-S99-1" }, "r510": { "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(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r511": { "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/2147483575/946-220-S99-1" }, "r512": { "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/2147483575/946-220-S99-1" }, "r513": { "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/2147483575/946-220-S99-1" }, "r514": { "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/2147483575/946-220-S99-1" }, "r515": { "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/2147483575/946-220-S99-1" }, "r516": { "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/2147483575/946-220-S99-1" }, "r517": { "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/2147483575/946-220-S99-1" }, "r518": { "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/2147483575/946-220-S99-1" }, "r519": { "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/2147483575/946-220-S99-1" }, "r520": { "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/2147483575/946-220-S99-1" }, "r521": { "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/2147483575/946-220-S99-1" }, "r522": { "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/2147483575/946-220-S99-1" }, "r523": { "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/2147483575/946-220-S99-1" }, "r524": { "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/2147483575/946-220-S99-3" }, "r525": { "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/2147483575/946-220-S99-3" }, "r526": { "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/2147483575/946-220-S99-3" }, "r527": { "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/2147483575/946-220-S99-3" }, "r528": { "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/2147480032/946-320-S99-1" }, "r529": { "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/2147480032/946-320-S99-2" }, "r530": { "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/2147480032/946-320-S99-3" }, "r531": { "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/2147480032/946-320-S99-3" }, "r532": { "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/2147480032/946-320-S99-6" }, "r533": { "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/2147481027/954-310-50-2" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r535": { "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/2147482856/976-310-50-1" }, "r536": { "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/2147482707/978-310-50-1" }, "r537": { "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" }, "r538": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r539": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r540": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r541": { "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" }, "r542": { "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" }, "r543": { "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" }, "r544": { "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" }, "r545": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "340", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5" }, "r546": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "340", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5" }, "r547": { "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" }, "r548": { "role": "http://www.xbrl.org/2003/role/exampleRef", "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" }, "r549": { "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" }, "r550": { "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" }, "r551": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E" }, "r552": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F" }, "r553": { "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" }, "r554": { "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" }, "r555": { "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" }, "r556": { "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" }, "r557": { "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" }, "r558": { "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" }, "r559": { "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" }, "r560": { "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" }, "r561": { "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" }, "r562": { "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" }, "r563": { "role": "http://www.xbrl.org/2003/role/exampleRef", "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" }, "r564": { "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" }, "r565": { "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" }, "r566": { "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" }, "r567": { "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" }, "r568": { "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" }, "r569": { "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/2147480524/946-210-50-1" }, "r570": { "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/2147480524/946-210-50-6" }, "r571": { "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/2147480493/946-210-55-1" }, "r572": { "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/2147480833/946-310-45-1" }, "r573": { "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/2147480032/946-320-S99-1" }, "r574": { "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/2147480032/946-320-S99-2" }, "r575": { "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/2147480032/946-320-S99-3" }, "r576": { "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/2147480032/946-320-S99-6" }, "r577": { "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/2147480167/946-830-55-10" }, "r578": { "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/2147480167/946-830-55-11" }, "r579": { "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/2147480167/946-830-55-12" }, "r580": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r581": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r582": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r583": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r584": { "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" }, "r585": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r586": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3" }, "r587": { "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" }, "r588": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r589": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4" }, "r590": { "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" }, "r591": { "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" }, "r592": { "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/2147479383/944-825-50-1B" }, "r593": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r594": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r595": { "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(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r596": { "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))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r597": { "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" }, "r598": { "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" }, "r599": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r600": { "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(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r601": { "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" }, "r602": { "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" }, "r603": { "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" }, "r604": { "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" }, "r605": { "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" }, "r606": { "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" }, "r607": { "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" }, "r608": { "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" }, "r609": { "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" }, "r610": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r611": { "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" }, "r612": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r613": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r614": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r615": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r616": { "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" }, "r617": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r618": { "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" }, "r619": { "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" }, "r620": { "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" }, "r621": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r622": { "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" }, "r623": { "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" }, "r624": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r625": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r626": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r627": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r628": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r629": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r630": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r631": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r632": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r633": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r634": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r635": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r636": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r637": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r638": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r639": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r640": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r641": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r642": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r643": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r644": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r645": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r646": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r647": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r648": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r649": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r650": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r651": { "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" }, "r652": { "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" }, "r653": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r654": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2" }, "r655": { "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" }, "r656": { "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" }, "r657": { "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" }, "r658": { "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" }, "r659": { "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" }, "r660": { "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" }, "r661": { "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" }, "r662": { "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" }, "r663": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r664": { "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" }, "r665": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r666": { "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/2147480767/946-205-45-4" }, "r667": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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/2147479617/946-210-S99-1" }, "r668": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r669": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r670": { "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/2147483575/946-220-S99-3" }, "r671": { "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/2147483575/946-220-S99-3" } } } ZIP 76 0001410578-23-002556-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001410578-23-002556-xbrl.zip M4$L#!!0 ( #2%=%?G71-CMA, &O) 1 ='!C.7R5>.7JW]\^NM??OV?1N-K?W:/3,=PM]CFR*!8Y]A$SX1O MT,+9[70;/6!*B66A/B7F&B/4;EV_NVY=M[NHT?@D>?1U!GD<&TEFG>MVD##P MV3GV+6JWFYT6_-?IHIO;;O>VTT;3AX#P >JV(IF4+\R\9<8&;W7$=;K&?*QO M,=OI!OYXM>%\=]ML/C\_7W-L;*YW%%\;SE;R:=UT11-86 AYY]#M$*]TU^(? MK_YT=4N6?(6@S6QVZ[+&6M=W!WXKG2VO';IN^@F27T#\LJ26R0^TXD])VVFU MWC>]Q(#4<"D%#/918H:-Z[7SU Q2(]SQB[%))AHHVRG] MI;;PAR:DAALWA?$A*=HO.$WE?-.$U,,PPFNAV13$@GG3)PMRZ9Q3LG0YCN@@ MUXYIH1=&LD%NG/8E$P.R1IYZ'2F/ O%L8?BQ))(\'B ATJ"FLD'-8X-*;4D2 M5>D'3Y62JT]_04C. ;IM.UQV0/$I^+C;$7OE>%_@FU ,MZ+B"^AT2/QXG(W2 M!X,4<4B883G,I7@.+6OJU.S9YL!EW-GV7@@;.EN=V#YP[ H1:.AB68+:!?4S M\8K81$H"VJS50@UT9 A_!#P1,$4>5R38(H\O"AC_VCQE=U*0"U/TQ/XD?X/( M#"9"V8!B;O S^R2*C(9N&:Y5/-^Q6JG9_(\!7F>A"(W&Y50_<&P3M!8VX0=S M+&**'M_7+3%HYAN,.7NT==N +OP>3\5 ;S[6A^#6? MW(^&O07\T>_=]\8##TAE4U6DUTP214".8N%$NU. M7K3G"_CG01L#TI,[-)EJL]YB! 0U[F?C/M#9YLYRGLO#GL!!B?J[O,O MZ.Y^\GN->O9\/.$;3 =RF\1[C($"'F*N$RLV"Z<3*C!\U_JEU3Z=>R>++]H, M#1YG,T ,]>9SJ9=];C5.R3A-J0-*D^^G,%5R6+1H?[ID)T;%&/,4Q/)D46)W M$\=N.A,Z=?''W]$4IE5 ;SQ$VK\>1U,Q^OZ.QMJB1C(#R9YA4!>;VLM.*,NT MX99"I<(+ED0QO'J#P>P1-*3V=2KT9CW.LM"Y=^SU HM=Y#(8) .0H7.*3RJ= M$J%.'"'!J,&!$Q*LCO@@R:Y&*1DEK*1%XT+E+H7@, MJSOYY9[H2V+)+TIT\F3,0.Y="G(-=&2.G!6R!'MD'?G7V+X6MLF:L5CNMT<9 M_21+JM$NM^^;<\?XMG$L$U,FEI!\7WH#J&*EW EVR^T$YXO)X)]?)O=#;3;_ M7[E.7?Q1[PG?P!(PU<6V<(,Y 6'/-PM$V678"-Z_GHT _10IN>X?R?/###]A MV\4+?6GAV/P>351@UX51W3W5[C/M-VW\J*&?O/PU LD(P% R0%+/B HCB&+H MP#/"OB5CDD6N1.GG.$HPL 8PDCS;JAQ.,VTX6J#9:/[/&CHU='V=$5!ZTY# M/=NG,VT.R'O M"^//?/1Y/+H;#:0Q:#"8/(X7H_%G- 6].QC5^ZB\NA0^Z.LU]=S:$M@4T#/I ME= F['<#C2L_'WFBI6!:PY'"#GP/V1;-DIPR, Y=7D$4[#/%.FR&*3; M)C*";[6QHS#N/=.4I>O6R%XY="LE4 .MS)*!;,RL<43VR!:1(]\:QPP<1S9\ MA&W'2^KX3*!0HO0N/EF.QH/)@X86O:_2!%5CHL9$TZD-JT\VQ72^@9VUMDO# M1D&IQ.A]'".M-QO#$G2.IMH,S;_T9K";U*;SO]5H98;F.<8W&7,^<+;"[2CK M+K].=C):9^)R$1DIXMW[>^T%4X,P/*7$P"FPO@9+)?X?XFLA:?1KP(Y%6H > MA-_3VZX(,Q$4C!RO9.04F0:+<$AHR_$UDN*OE!/ MLZ]K>4H!.9->">G/TX5D.MOU"$.-0@ MI8)41(]FTF? %IM!?=A"&G)4:\AB$95C4'M>K&2VW2 [0]&8(B_"<@R:T@^R MO!_U^J/[T:*VR.:9X;9;PJ5OTC?>P (1VPI#?(X<2@03-IJP6'D8+3QWI3"S MPZPG[.K:N#:JYUF;XK5 (Z2U[HBM R 1]7CG4)\P#=C2?)1P)^Q9Y]IG@34: MC>\FLX=@B7HH++)"A5^(^>75/2&K)[A+AO]T05CM205T"ID2QP\).#[VY]J_ M'@64PIY7Q[6G >0?C _^%='IH#7Y/C2L?(SR4"HC1%HW\O1?9K[O,F)CEK A22)2 M( A;QZ3-XWPP&TV#;7[_<3X::_-Y#1F,.#J$:B@.NP1J6 "RB?FT>-3=+6*L65 M4V-3S$^3VT&C1JB@9Z9&*>?I^^QC]VI<DNKU3/,9U&Q?T*^9W**KQ*.A)K'%2G)Y./A6M M;O_4VPCJEB[JJ2W@HE5C4M0W6T.5TR.;[6M5 Y//BUK#D.+6XIC$6)GG <-RJR-:KE-G#RW'-9PUC ,)>,7#*1"JQV*PY6_)++&IHL:UTR'J$4)0CM. CRT$#=\#E, M0\E-'TE3-G["O0#!I95U\QCIOA%9+/PMV*Y\8^7C&RA1:Z\K]MY.MAXF&T1O#^V;\% M^"];*R 1[!5/N,DN6O4/.UI (/N E(")* EY6]0?L0Q%Y*1Z5+? MS^^E+;U#?I" EX0G21O4WG09IT2W'O!VB>E5N!5.D[PZ'QY(O37EZXVY:ZU# MJFB7H E.FT0E55K]@[L\>['JQU(J7/M^:NW[%U#[06KM!Y6L_:&:_KFM&1:5 M$8YZ3.5V P;.9&F1M>0@#!L6ALGD'C.VV.CV^U8P],_(_[;:P)OZ>4P9&/*X M03JB"ZJ;((Z!R9,TF\6 32.H%+[1WCE,[9W#"ZB]EEI[K<*U?]"-#;$QW1]\ M@WIP#I#'"+4UWBR\L,,V7%2?F38 MO'/H$(L[ (GMF^1[P5L#01/Y31 >Q&]:RFFOVWGL7[NQB_6[=(DU6+\1X#[3 MGQ] 'K$->HN&?8UB*MFR7C5!ZUBNBW"V?@&V:Q/UPCPS0\FY3(?)$C M>># #L+720OG-]V"W81HV-2^DYXA+/].W)'PAO"7E!)V#\3R]DG "OKX ]:% M(TC03%:%VZ HNW +!1WXQPX2[U6^D3P23IZPB*CKM-H?8C-X!ET%)W09(QV_ M;9K"!+R6=/W]D62J[^5E8\\Z-?V+RD'8[#UA"A/.P501V"A=W1+7#K]! Q)4<'6-7C-W)*G36[/"B62!/!HU" F)S MO,;TK868&QMLNA;L@%219#,LUONP<0^%ZRZ@&_8MQ_@6R/HZK!*;Y*@8>4#Z M_1HF(B<,J+/HQXS* MGCGKEZQYS_P/J"1Y2<"4.C 9,>8O(T-FIJA^P!>//0# M;&(WUCY0/H%H>0BK&0<$ZM3 V)3OXXIMN1@W$<]E4O)9=2^R5XP9WXH))QU@ M0;63W6.GJ6>.HW+">;1I4MQA$W8CUA=8Q(N:]G7[FW!TP:K>'E@Z8\3P]?-, MV,A/I2R5NX*M($>5.&$B1MKQ+$%H:18:MEFDYZ_:SNK%J?U56,XFJT>&I7(, M]]73E#<>@H=-^)DC4$(1Q$/N3S$*)51%GJQ(*6].#K1&CW>O?[[QEUDCV$'# MRI0/7=QSU[!>[;0ZO\3&8UD&51V2!PS]BQQ2,3ZD7PK4TJH@93B\,1Z1B$1< MO;FHJR)ZQJ@=.S;%*]",!ZK4Y<:&[D0 MB&PWCO&4A;)59LF;I;4"TY^T74]6PB PQ_2)1**F5$2ES=IO,CP_PR1W[S ) MS>$^2?&^$2-B7>MQ.\B5B_IBH SO)P_3Z&B[<[F(C?'6"N&5?B[R"QG42<)$ M)]Q4BJI(F 7O/?G3)4"Q%W'!@B71K:'C+GEOZ;C\L^/YS U,;7F9WSYQJU.> M1T7W0(&7HWGM0XBXZ[VJST_U8/+TRXF6NXP*W_77J2:!C4@6- Q'K:H]_ MN&Z]#]DWAMB05>^T.C^K#;.YLE90_B R[A@W=XB[^9WPS1!&(^5>Q.KO(@ < M.NG4>1:Q&P.8SD48*^M!QJ3#>*_/NH+M%QS>>""V"/H.;5%$E,XA.B?<;?+F MJ-8.Y^!M'6*+V/(V< #LT1:;\HG+Q:K.!-7L^6+9G4,EIO)_OGB:A0U.B:'9 MF*[WD'E"@T_QK=_W*>Y2UN"*H>1[\(0W7;>\T -]+ZJ5;R0JLO\7-(X7.G@/ MO<(G&L!*:1TR]^5KI!QLWG"PIC?4CQRK<3OZ=RWU4CKG]VB4X^,^WQF-<,$7 M X@?)+1P@JUYN-$2$JLB6,9&PP];8?%Q&4NY$(E*/&&Q.)GXRK.(;*_SG?8P M^>UF+YQ%[E*J_[=9<)80Z9[8LD+LO)8)L2G1.F^Y" _\! MGX< R1NU,2"*J MUE);;BPCM@_87-YTDS>7W>1]:>'L%=Q;E3[B%9Q'# ),/4^AN-S&/_RUNEIAL;6. 1:"P&BO UCIB=5W[5+'L1.X>P]*) MY'QP6X2O&$JCN)!9-:P8!OI.-Z+B)2=?B&PBIL._WGOJ4N:*0]B.?]&W&)<1 MOWHV;=4&HJ\\M!=88X@0^1X3*G_P-02P,$% @ -(5T5];1^!^<#@ $\\ !4 !T<&-S+3(P M,C,P.3,P7V-A;"YX;6SM75MSXC@6?M^J_0]>]F6V:@BW=(!4]TP1(#VI2@(+ M9*?GJ'77_[^M\__*!:_W0SNC3&R%C/@ MN(:%@>F"L?$*W:DQ0O.YZ1@/ &-HV\8-AN,78!B5\L7E1?FB4C.*12^3&Y/0 M1,@Q>&[5B\KVE[:7(7*NC4JE5"W3?]6:T;RNU:ZK%:/_L)5\H#6O.KTNEU]?7B]?:!<(O-'VY4OKV<#^TIF!F%J%# M7-.Q0,&@\M>$/[Q'ENER1?F2OSUC>Y-!K;0M2RC!OA4W8D7VJ%BI%FN5BS!G>!"KK FE[,,;BPT*S$!$J'Y5UZ M7TC;7TEOTIL#S&WJV-@2"SDAR+9)IKGU/C%%EI(;8@<2R$5E@T'.G +<7 M&-/26H10>^D UX0VD44BE=41*]S'B++NKOK4Q-V6,^[^N8!SIJM'X!Y<=:E, MCPBB95EX <;=MSGC_G"5B_(Y8E7OD?,R GC6 <\;5;1-VZJJ5U:<(IYO1Z#[ZO^^]-IK;Y#&Q>U/=]@5(6]?(& MF;WJ152K7>;%:K5_5&K>JKM,]86CA8?Q-;F_SIQY#]!'U&3Z)$ M%K,9SZU(29MMTD\PFD5KSRL0J50>X3' =$I3,!:$U@G-67FF73!> 7R9NOR7 M$[/"?!0Z:K+_V,BY-&WFN[3N.JD1&+\CR% MN3TBTW+_1VZ MT_:"N&@&,-=%(K\2*?-!\Z% /;9K&K%]YRQI;1%>#IC":A.2I8/G@]"Z9%\&4?R'$-$O=H5;_E9,?X[PC_N'#KUM0 AU')[DP$@ M "^321>GS!GOBD ]ZC_I2CU?H9%QH<."^2!6$I?'XY5&_73<"I6 Q+@D^M I M-RU2QJ*A8W4+';:$P%F#[4*5(0M=HA 4U#YEKC,5S7HF]".G2US3ET696B%R>CI7/$ MHPI"#=WG =OM<\"X:V('.B^D95F+&5,^&%/W!%I0-)PG)\P1R0>"U=#=]@TS M F)]$OHPF':D3 *E8MD)J?1A5):9^$FO+$0-!U(^E?"AEYM M128(0F[6&Y=9+R.JLZJ(3L,&ZX_$2B0S6C@/1"H@TWM\C%_,#POF@CPY5!HN M1?G-CH>#<#><#Q*]9QN^K".:$SA5R4-KNN/J&-]D#\-]_/$U'"3)GGP/COK1 M=(H%<\"9(C@-Q\FH.(\$1E62YH#CU' U'%B]H'KI\54HGR-^U3!J..AN(O/Z MYHJ%YI!"E M^'[Z)DF+7M?A'A'26IK09K8X0K[]!F^U[,8DT!)@4LQ%OT:<0$JX\1X#L8:K M3-O8 N\TVPUPP$2XJ"^0UH_>8[ 5M@$5^(E<%[,BFZGDEFJ+>8_064#G9=>3 MWX )PF"+$Y#N&_4P*1;HF'AU1_7-%]Z8WXEL6K67.\<%&)!X@WF7$L_+Z$ZG M0@UGA+3V:(V6U9W!]!J@:'02R>MG,Z=F-V)@4U+6R19RNK.YC58 # !U(EDA M;0RHPS< DX4SWN,].8%^Q*NI?6]]1QVKEJ['VD[CV_*>5'Z(5 &8V">K.Q." M9L>WV=8P6,!W)#5BP?RPHXA1PP6U7A V&V)$&\=AR2#("@69=1Q ]@.EK)HT M=*"&@ /^2N8Z12(=9SV?<44>A\C M\;S>)Y$G'I-@:=A2VXBXO W@);0 &=)IHW!U491 /R:3^(C:X5)" MIV/K&X EUMWJ31GLSBR>Z&@2S.R-+^SH*ZK;.$';A__AS M@5W))-7/HE+R&3:0@]6@X;J:O\Z]R3H:GNJ$N5*BWB4NR1FPKPQ?PXG#5Q,Z M;&K4PF')2%:M,^+(;JV#1GP+@Z_L2 O Q:=^A^$*D8GH14 M9\#^(1K0\'*J\)R([U=M]9)\E%D3$R:\$\@QKY)@-PSJM!XHT 'K:4B:&).(#/0S &UC3&2U)[.EG.6P M3R!.XKLTC6N5'$?6,NLCYFD9+!L$FHX]?QV,RFPKW)/3*=N.#5",DS8%D6]>F.COO' MN &8;^LW $MD+P%F]:3]X0W"&+VR6_*CW$CE3'),]1$5HJ'CX ?COV!6T,I% MXCGF_R#HB1&JN_9^['-V'4@L&U'G%H3WN#OL#1GV[IU9<Z+?NP&@_#0;=QY'1&@Z[HZ'QDY?MJ8_,I7BE9P83.VH^<,QO1!!.V78B M^K4GL;*#,ZP$#!J>U/'JO)T0QM.S%0O"8Z]=S?J&6R6*XG$<_VB-T%WAM1DN MGHF%(2]&X)&$Y3X: VI CN\L""AHC9?,#L@(;2ZTBB(@+/4AU2\)X_@G3.+M MGU8+$H17MP 0CB*F#81D/R012F"._YK.^(5V@3\1)?(AE2^#0?ZLQ?MYL'&O MOE;S99MA7[8_8%=9C_[XV>C?MY@W^]@QNO]^NNNSBR%^-AZ[H\P\6R%N^CGF M;=*MB4N9][_U;G>>6NX@^BD*/OV6RD&0LE"C5)GZ]3BG,]>]W9P3*UG+%=K# MM+"^IB\+(UE'/856^WVX*E+_<-O?7:=6'9KGK(O:/*_BCYPG&H79)T^N&EW7SKOG*1? M,I:8+@>L'X91S_%Y"0FMQBW"P K"NQ M]6"Z"QP7A9P^V[-ZGWFF+?K8IG"<5YVKS(6TM)541O*7=23H(KOK[WU# ZNH MXI)4+6(\Z+92+$0)',?@*^NC?,9]B0R/(HCJ&2L;-(M&O?&IFE$3B5&XZ"!! M/ H-^[S=M7TRA FD/QQE*CA.%FFWMU<0U;9#(ADV;O&NK<36I'I&FMF8@"Q1 MOY "HXY[VC'0U G/%;,GZD*.W._+<1B;YN.QJ Y'?NGWO9W3G?_=FP3&,*CN MN%X*'->BL2O%0!/#9N48]JZ@S/98(SVNS4F_CG"#,BG9]VP[TJ@J\;"4/X") M;^'R4%B!//1IIBJL2#K=2J U=,:30*4TA&AU-.O-RWHN;2 6KX9CLA0>M-@_ M>J":_*SH%^'5Y4YE87F6S.Q1JD<&NQ+RT[OU/9K3[*),_XB1>9E\F> M\\.4I5(%G3Q0(-5$FBO_X =2'K@EM= ;45,]&F MR 20-R02B43B;__SLO,&3P!A%_H_GUV]NSP; -^&CNMO?CX+@_7Y3V?_\_?_ M\Q]_^[_GY_\[6MP-'&B'.^ ' QL!*P#.X-D-MH,5W.\M?_ %(.1ZWF"$7&<# M!H.KRW??O[M\=W4].#__>]3'R,*D#?0'46?OWUVE/XR3[J#_:7!U=?'^DOS_ M_?7@XZ?KZT_OKP;W7U+ +P2WM2N%]%S_ZR?ZSR,9<4"(]/&G%^S^?+8-@OVG MBXOGY^=WS]?O(-J0YI=7%__[Y6YI;\'..G=]'%B^#F !UH-HV$_! M80]^/L/N;N_13J/OM@BL?SX+]C8^IY*]_'A]25GTG\N : C5O3'T'> 312(? M,/1CWY(W2#PX-OA8Y+P,X&%(&'Q32'=0#L[;L] M N]LN+N@ !^\1+!VR% 3TH,A6$-P@0CBQ<_+4NNM(.6R: 6&>7 M"/4> 4R&C48=^L[2W?C$Y-J6'PQM&X9^0!:'>Z(-M@OP#0@LUZM!6Y.QNE$J M\H6UV2"PH4H>H5>;.'F/W9 P \'2(IIQB^!N'.( [HA1:DJ%N--N""&:3]3> M#H88@P 3Q4B_N'.M1]=S@R:J5V>,;L@<.F1"$\VWO*F_AF@738.F=(D[;9F0 MB85\,D7Q/4#++3']DWU]N8CZ:AGM:-&.G-$QW.W)$A'18?("D.UB<(]<&]2FKY5!>V%$NWI99XR^EN;:1,E[;)F$>P3W 6'>X\N MCKY#?$O,>629@3 MCQS-B,J&B+KG;:RB"EVV3,0=(#:D/L*%YFT;4K"A\R8CRUO7)WM?-R??6X@2 MP/ITU!^I;9+#1PS^",D0DZ=F%/$ZRB!L(3O%.?E8' '@G?4.A,2BT?]$,9 + MLKE87R3P%\\NV:.?^Q9"\!F@,RGMK+"&A]"Q/SK@>?('X='53^=75^?OHWC. M?Q;'8K"^^C)*/ ,+.=13C=SPX0O94,"=Y1*SL;9"+\!5UGWESO(,JJ%#E#Z< MQJC6%GZ,.!GB\XUE[:/HW04@X]%O:)^"'9IT13X<[%015E.@K;]8,+Q]T=!6YY7CVMR03E:.#O0T1L&WZ3K%M"->CK?@=UC7:/!QC7?;W-$MP0G9(>/ MX/S(AA;19?:>09HHB.N[\73SOR9C4+R:3MLL!8#".32PFGSK!G2 4_-!IOT@ M-F>#+Q&'<12#3K'UH)WKV*,!?HAJVRWZS1MT2W/PAL*:Y/ M8.H3&P^&CSB*.:0C>]8C\'X^:]!#PI-:/5RTQ".,@@Q_R%\GWI _?B>[#B>T MHYC+$J GLKU-EIX"%Y1@$WHEL&U15D'Z-X PFGAE26ASN(,H(2:CP'V\X4G;)Y:KK@V.&7$B MZI,0Z<$*#A21A8@X;S^?79T-]LB%R T./Y]=:M&A>((>Y[#$6DB@"YK#A:Y. M9]G3I-_\_IFP_0[B.'(,HUA^?*B$J7?,F@E5FR4DJ3>K.Q]460RK(-/+I)!@ M3J>%.L:BF?&W"X8C4,5!:'$#)'07/G[\>'DY.!^<>B9_I)T/2.^#N/L![3_U M(HXC:'0CXN-ENH)#G^Z3*7XRQX'5YO&-H*[.>3:"0GRV664B_3)3&A0F*'S;S)]H\C7+40S\)PY24;0)Q_M M.'U!,'TJ]<%5L,J]:.#6BO0]7P^=6,6^Y!:3 E-8H%S:>CX;V9YYD+[>BU,W74]]QGUPGM#S&K.+"E;1'"*F+HM_<8+L 7N0" MX:V[7\$)D5%PX.Y9*_:@Q@5Y'TWV>C+QP-I8]3:K!&30F5,3?:U+6>Z0F1XN MCPXCX-O;G86^"E8O63.NT59I: 0;4J2$WJ"L604VE!LV7<M],BH1E)V/BH3T[E@N+'_#FFRYWYBN4^[7/K%E[IX*O_(Q;KY'XK$&,D?I MU3'+H)4Z8P5T6E,P#.QW&_ATX0 WEACY/W.["QO-C18R@8 Z(D- Y, MYY@+-A[%GYDXM[5E$/,(L@?K3>&8V%&U8V&EU==8 -NS,(ZN/%#4)0X&#YR[ MBHH:&$*NT(/@-ZA$E18FDW &&*BEZ [#1M9X;@-PGLA8^ 3PZI+<$):Z:0DM^_%&MK0G\ MR.(E#L;*6ZKS@]VV<4BVDLA@9?SZ#\RJ$)2+S:H1HOM,)$*)'MVD2_GQ,KEK M$Z,B/AE1:"PZ&%!L;B1C9*% D6T7Y+:H<8NI>-8L8R5=+?@MUNEM>'95$(3JKU+T:B@@0GE :M/HE&4)X M!@. [R#QG8>^D]S_]#<+8 .R=-/B,*/#R/7(R!N:SQ=BR3QKVBT_!:Z%CO4$ M*H^(9=&2!2L%C40!2TFSQCES[4D75L&[_X2ZQH06 J$2 K6:@E.5+AJN30J1 MJ:2$%^'EZ>"L%CK6T0P:XN6S!,A?-9F@K66 "W@-94CH2_TN8YU;'YG8:IT+ M\>66E?4R#(-M="]%,!'8P%P-X8,;0:AP(O# *Q#;WJ20\AVJX='[O. AGIT4 M(H2U3@U::V;JXP!%=5L%TZ(,R-42-JAVXN@ACW Z\, 5"$$ M.E51J;EL3'__09\N&":WN8T9I?>.6+("B"Z#94#XMYP*0!I)$=_D M4O-^VO=;.%R$HC'[OW.50S)WNB\X8RH"33L0BJG3B% MS,X\J"*!;>=NU?Q,K)9!66#, MNU@\P+[NH8-]B.PMV6T--P@DC[CE,>)>.E-NRR2\4NLFE](DHH UT.GUFAH; M_^.M^"IX:[Z[[%GQ@W_!(;K%0]PS0B,>';*_"&\SJW8@R)VKTH5F)DF2!XN M2D2W>;.YAC2@#"L-=YS5R<@G^['0UQO7SS^+(CG[XT#SX[=\>#-H%4>Z>?!5 MZ&TQZBQE/E3$I/_X+P_U7 Q7A++623(*L>L#C(?V'Z&+8ZGQ)PD'FJLT GA# M:*4?B9\@G"S2=I7H+[5L.GGD0H$5,>I]$G%)R$XB)=3U)DD=HJJRI^-P4;(4 M"Y:?8L2#UI%)DSGN'_K.#-)GNM)OLCZ#L!IRQ5[XV3C5^VFJX390E,"=Z\FD]L0$Y0C@>JC2AN%(X'JDA8 M6S$V"6^A?/R>@VILA-.PF@C1WE7\.!^7-B +D0LY&LZ$8^H!%[(OBI)A'WR\ M![:[=@$[,UT(RZ9,!-U$Q67,A0KC]ZKB'(13#1%9:4,^#Y2:MG%B+Y,-K(J4EL-[#A6YJ*X2 M]GJOM_L!(<0+:;+_$M@A(H0"/'FQO= !3OPH]6X?!I$]F*\G%O)=?X/O 8KO MEQW8'8@NRW^B93GU L<9MYX%R=%C4PA%SA9.8WJ$1R>Q-800)0%9?>YQT? M^>RD$2.M=;K<07\3 +2CM: D4X4%RM49'K !) JG!QM8F MU9V!;E;7.6@:4'SU>#Q]!^-WXX2!16X+09!-V,80H]@A>GKS,'AP;="QR5@9SGQ@I< MD+Z< K,N+Z\O+P?G@V.?Y/-X/KN9S):3&_II.;^;W@Q7Y(_EBOSGRV2V6@[F MM^2O^?@?O\SO;B:+Y?\;3/[Y,%W]:_!=F [^7V<:$V-7].XP+_A8 -*9P!L+ MC.Z4H:^:P,MN4WV.*T^W+6F)[/ 1G!\G7G8:,..G3$'D0J9B<@H&0H.,"G@) M[38'MD.99$Q@,IBB0$0:EY4/AR3]4Z4W]L[=W \L378<1M>A?,^X:"D="C7T@+$!#4 M@9/&7872X0'W+I;KAF+A$:)?'B>'DN 799C+EOD,8(=RL#Q/>>DHHC/9SB^4'+ZW8/$U?WY+$"A+L^LZ$USY50&-,6, MJ4JL3,$>N='K%)$R&#!KHC*@4XS#T[:%5=3V"&**Q5*40 YWPW@_=/X=QADW M.*E^L8(KZX4^(TF5AIC76XC8U5NY3D"#'GN7[/=-)-N(5,,4(;(3L9+>A(B@ M'C]\\*OEA8 F+2/7CD(2-+>$ED&?@6"^)N2M@1N$1+]%!K11M[VKQ(?&YK81 MO:]#+V*CUKYB5.FW=\WXH0/-J$*P8:J1,7\KR-DK1>0]%JW? L35+\ 2H"?7 M!C$K%L"&FUB&T7R1+S =#=N[8OW8TBK4$3_:U;M@;^-(F2X_7E]&"D6_$5I. M6OF7?!,'RK%+>,;R0.IWT[O ?ZHC\/KTZ11@;.":2U#23^\B_-BV""4$&F;\ M17J8><+A^'P#=V=7O9_^ [R77;F$' I?AZQCA6U!V,*.^I=VPPA9=1(-$S=Q M/./S\3N(>>Y[ :9_(34*BA6PE_)?^_'_V,+;6P\^X^.I_SW1)S_8@L"U3[D5 MDA2 [R\_U$D!& ^7OPQN[^:_+;,'_X/OG+Y.GW(OOO)&ZX+=0[(5(S3%>;4CX!/ATB?A5I2+\_6I&P([ M.L1W0EG#"Y,37@'B/=VJ+F/'OFG.@3,L(>(5R/5D#05L[6@1JJH+E$U19)4N MF%MWOX(3XAUSJFC7ZL& Y WI+.#*2D:<'BF.MRY8W[J^Y=NNYC)E[U!-U+5(-4SPZ0/D=%LT#G$ =P#%A:A]Y\ZU'J-GFI5F=:V>3$F. MKFS+JY.J?Z-74-+X*>[C4J2Z]?NQO/4;SV?CR6RU&*ZF\UETO+J8W$Q7@\5T M^8^W_>#;?O!M/_BV'S1Z/SBT;?H8-5X &[A/5 O%EX*YX*]YI\BG2K^ WK:- MW\:V\:^VSVAE2]G-/J-S=W-D81?3QP4 )BC'YS"^LW0WOKMV;_F"R)2QI[I,/9S6 Y_3R;WD[' MP]EJ,!R/YP^SU73V>7 _OYN.IY/EX+MD[!I^*N@ZF/ MB9%)'XOA)DJ4 NBAZ3X7I7O+!3'$K9?IR/ EG4M$99ZO/4Y[[V$)_>KS+UAAQ$F%MZ_=: M?=-269$9#.+K3,N]Y](;#4_D)^JQ46Y<\1S3RMWH]DI;U9WZ;# L,IZ[4#-\ M(KYA%-"%F4ROA#S*.INC#95[T7T4THDR5.:"8;I B4L#YAQ!YT%TGVMT(L4\ MB;VD,ZY@8'E'A;ESB2%QRJ6MQ*"ZJZVTOS1S2>U%)@OP!#UBNZEK-[;VELT1 M"!M.=X63]J7!IM,P"T8340F)]#]T-7ZRO"C'-1A;"!T(F:+J)(IM=9<8Z<3F M*=*N/]J6Y)EDTD^ $S&C6DSMNAQ32Q-[HZ]/G0\>:>]-XF:=)B'5R#WJ[]E= MZ]\0I8D#K-+9/" S@F-5V']\+)=!C9Z[?/%+@3E\N'242C9>A\,1#L:T! MBT$-C:T@2W-2=5($$7#F9--%\!;GZ@C@=2\[M10T)S0^;48):AC<0Y<^Z%A% M6LQ&NE>T-D7&)%"_W#BK0&F7K+:QNM-],%:5+-6['*_VF"LA(G[HN)S'/O63 M&]$TH9W\WUE9+QR1U^K)E!E<1Q]J$6Q,:(C>0:>7 2/TTQUCU>C0>WYTB/0_ MP'2 >7TP$Z'> L1O86(WD)$;R&B?"F:]-H4/YY1 M'MKU<+9Y30[YJ5(SDK M1Z;XT?58.>J+E6,Y*\?:6'G=!BO'?;'R1L[*&VVL_+X-5M[TQD5TB:@;*BR%6[=9EM88#?5D$+Q;?%,F09 M(*=T\2FB*7X/5]9*MU]800USPI+198# OK&+Z+R2@'S0=K[ MP(K&&UB^,[#3[[S3D&]'3BT5Q*%W]C"]V$!EFSSYX&].%6(P\;A_?K-=!;++([";86LD4&;BK94/[_FBLG7+]4'G]A.#SBI M=R#<<_" 3=ETJ*EH5D \BKH*Z6<>.+Y'D%@0C--W!R0UR*HW-\5959=*=1H- M))0O %6$^#'?"#&RWYP_>FXLZ\G+'M@!<-(\YR7Y M%J_C-VM$&YFV.N\IT6M!7P7B)-=E?C-KT]&N -,I+N(@2X;RKF?C5@ MM\#4GAPO.PY;R_)'"4]VX8[+S\+ONCUWC@(<4T/SV&IBJ?4B9FG^=]V+N(RE M>6SU^\R-S9K,NVYS +U^>/NL8AP0-%Y?7JEOWYA\TL"%#N_(HKWN=1N85Z*- M1WX9%B-0(JR)$IES &: AO17&TN."WV9U .$U#N \6IK^1\N64&^^GWISJ/N M5NX-F?,:S<#I\+>)0_^>0I-*80< M19WHKM#7CVI4Y8K^D.7$0I0-F/ A>JUZLJ^86O&A7-MM,ES,IK//R\']9#%8 M_C)<3 ;?3>Z7_Z4U0IF^=T&D22O#C@YCS\+,MQ&46NA(G_ #UW&],'"?P!+8 M(8JR4N+'QH$3WQ_?[<,@B:L7)3LZL#L0959T.:)9\4\%]0%Q0?1YA(DS9$,#KCOU6U>2LJ 1D MZ9=19)<2*R4+3G)@-3]5)B* ]4(5TR2_TCA@R8K0RO3#1QQYC;Q9)FYC2L1. M6:X2>@S;+?U57FS@S%8EA?V67F7X#;B;+=G[#9\ (KOW64BY1-2:$H_G88 # MRZ?EF$32KMB'*3.XLJPKTFF8I)GD5K'!YL3"*TN.0X_A$KJACAQ1MVKK9:F5 M*5*KO6*6*#),;NIK0$))XU7SV(^IZR9'=>NMG$=J#9,[&(?:+ PSO<_"[-\ITI1_+=LI!SIM^))_)*TP+:%0!\!B@1Q8[[M'RW0WZ3 M)E&LV9WRT[ 04JO$/NSW?>MK:4A3 L>O5%]+_/R6]34-S6<"84EHK _5%8UN M2MCTE6JQB+4F*O1C2W27Z2T<1AUORZ3W6T++6P&T>R]2>!.P,^5"6L\3P@36 M_Z4G3*[)"&QM3AT9_TVUD *J/4N^K_9(3J:^.WJ;D>+52O_*%< M;E^0VF%@.4M9F'J($)5Y5#=X=#C!)+6$A\\65^>>=B75G MXJ_WU;%7\/+TU:L^&M:>5JZEZ"U* 3IJ7D0LYXX[<2* ML DW1U;"M,TBD $F1J1K+'YWG>4X^2,DR_LT>HG.?0)TV/>75S_PT^TD#73; M'+%^'!/G)%3HU^]X-DJ>6LO#:+)&O%/G+JU1@7+]XJI/XXD4WU$R:MT,99!I M9*J^/$C>E /ZE6@!<(!<6NHRB@4*BWUQ8$TQOUW.AWSU5R8;],M2R@ >_:48 M>=7IK]"QB?G-=5A3)9>YPGKS2M.6,Y4IQM;>#2PO/CPAJ[-T; :_9B=8-Q4M6HPQ,3CU3I\R1>1.AW#M6V<^..8G0OS-'\LO^HSGL_%DMEK$*9OSV\%X,;F9K@:+Z?(? M6A,UJA<+#+CZX*>==JLJ8 M.\3F4M65F[5"E@-.PV%^E@0E#\BLA%NY<>/1H8?M-)5FOL[AP[UL)( UP':)E2CEO("&KCRL=)PA MW[4J@>BV+4JJ<72D2NAWSJP<]<7*L9R58VVLO&Z#E>.^6'DC M9^6--E9^WP8K;_IBY43.RHDV5GYH@Y63OEB)W\EY>8+1?=I;CYDG_ W8;10] MP#O9&\""!IH? I:2(MX%OO+4V0(Y]V0O0+ZP-MSR,.(FNAV1EJ2:H\FP3(9R M^'0&@G&($."_AR1LHMOCJ2^N7=OR@Z.Q9JU$8GC=WE(U M,2@0I/\H^A[!/4#!@=ZG"89^=+2^IQ:8J$JUT^B/Y=/H^\7\?K)8_>N_!_=W MP]EJ,)S=#";_?)C>?YG,5O\]F$U6AA0/XG)!K3:0K+F.2] \E*1'"$HMS3J] MKBK(W&UJ%7+U+VE\PF2'#4HM#0CT1?(HO_@F%HMC6%->^IKP4J>S*5_QBV5OB1Z'# M$=W;$!$.$E^"8'3KOM!/@L2$:NU-<>DKRJH&I?JG'O&7::JF35&8^H3B#4%/ M/./$34S9"-2<:&+B],N+2Y8LAJ724&\L2YTT]@URF8/Y2J-<7+(^(X@K2SMI M9/QR*)2YC#K#8EY<=*,5@=9A!'? PF!!;R?-UP\8##$&P0BL(5DU;#O&.X@"]\_HSZIJT.;(QB_7]72I319]&PJI0Q6-5<*J;D<7 M2O@74[]U ) 6':PRL.ZS;CV*6(5#AFGCE/A_Q,]5ZX$$1 M.-V:%)UM,"$US)L\'H)3"Q:@68<4 N9GIPB+$/WV*X^5M! E']R@@P:^;O'E MT4?=W65@.3:D9N@.6OXPN'[WX\D]4_\B&C=GDPY=Y!I MW>DF>4U"NQ+APO(A.J'SP[O+#QD\;H =C4_:_<@77O4^3(FW*(NM.HF="FP! MGJ#W!%"*S<=K-C;7$J%5[L>4X$8UP54FT[1E3!;-YD+K#6%+B. O7J\[1)VG M96PA=*!GE3N:XJ8DP&(3,\UE!7D6"3)LSWL#U@ AD&[IHSW?#/!EQ8$VTSA* MQ,2AQ3 )9;>[9 ^?;,BCV,O\T7,W\5M/4]_V0IH,D*2.?K&"D!#A I[=;-ZM M*8'6"C)O3O2K5 YQ5G7%/DP):[8N]HZ2KGN2<2/AFA.R;%VJQHDS3V'JC2^L M ) -<@":I(2\QOYTMO)TMO)TMF'ZV, +H*]ZZ"-"@'3^,R01[ M=:<"3"IZ"?G32':]0+^@I9GQ*M7POH"PMX,T8P+[1A^D*4XATRX)U)LO;V^E M5ZXH*?&"WEX]KU5,[>W5\V_KU7,92PE3A"S-_Z[;*9&Q-(]MNRS%P'ZW@4\7 M#G!CCI(/)V:2/WZ_ QO+F_AD1W]@&%,FA%EU+"4FE4E!WTR.QV;N&6).^]"91#6']V('_>XM6S78UL!$: F8Z#D MR/++=3,(,4T.XO+<3% #+(=(WEIZ#(2JSH S)8RDJMX,$O3S M?P8#@.^M UVVHO?"DL_B.A325J9$F51E(R5(OZ1^M9!+4:+'N0*'J0RFR5U2 MRB+BNDME,LR2@-!58@$:Y"CQ-(G'_ZYW7+> 8&MYO\!=="8ULORO\_4(X@#Z M8\_"V+6'SA--&:7(\%?H6MV8XB/Q=>NX@->B3_^L>;M=\*W<+B#+**APLR + M;HJG7%N.66)ZJ1%\CZ -@(-O"?[IZ1?+ZK'A3/&-%?@MH,*P;$.*?OHN[7%S M&I].C"!"\)EN7:T]^24HOI5PE%O2Q("_!'Z))YG1P>4I26 #VY]"97G'"\ MH/FV[-B98M-7E#U?C3"C9]6W=B6BG6QZ/5T(%2B MA"OX&5F$,)JB%F\$67.Q;D^]2_%CLZE9E\Y>Q%FRYXDVS=?EUTD>R!;P%J(; M0*LEN7YTIX' ;38(;&@ )R$P(8#Y?DBGP_4?0;ELIAF=I_K3QGC]*U#]($\/[.A%@^)AXWO7P)GZRW"W@F/+LZ,B@L4-&[69 M++VHTTO_TJX?"JI-I.Y%9+]'EDL4[U?+"ZE:'@OB=[:.M#)B_[K1,&S5-4,, MVS9D@SL* 2X= FTW@F6IF(08)I9OY1[Z M53NAJF87T?4']1> ,H>NY@W"^J).^A=L\S(156GLQ0<:6WA[Z\'G*,PV7V<" M<"S_103=OTCJAZFDQ/3*^Q59LJC2NO^3^U;#.V+B#%N+DHI*D:?C1 ^7T=)HM$J6,PJ#&0S^!8)[ MR^75QU=OWK]0F^?5J%.G"/X6[G!E'@ M!8!3@(;]S+I:P_YE5S^H484NPQ;#!]^*WZZ)KTQ,,0YI5"P) W"60%FC_F77 M/ BH\DPN>4I&UG8Q_+CP#-5[],%H/9?#9^6"PFL]7@;CH<3>^FJ^EDJ;5> MW^E)TS'TB&9"1!:N)S!$B%93H#+#0]^A3.'\3%9$'UO1&[985.ZOBX$T3/85 MZ7N^SJ EN)G$@36K9F!W"I U QQ6Z#?>93HM-FG"ZX&5>S'H,?BO0@NDK>4&EE^S;'$+OY; NV,5^9[V]->F57D@; M$P01H81.K7&( [@#*'5,#R=?E:MTBJU-N:[6M68I,Z2?I+0T$>8&$. _0A"] MH?K@[RW7F8A&WO(BWB7E(BJZ3H)^3+GZUZFVU&.- M;ND/?3^TO#NBLPG0>&NA#>#>F6FA/U/N%NK2!@46?3,K%/OMJ/Z'-^6:Y*M? MKSIZYDJCBG(=;2T8F')I]-4K:B6'O_/CA^A=L8I'#=?EHX:[R7"I^5#A#F , M8GIN +:1&W%2=#H@;*%AVWV/X!Z@X'#O69'>'6\SC XT7BH(^BNU-.L(0$%< MV3VT$H7Z8WI<-"F2PFIF2BT-BN!74%8E.6;)-%B.PA,9:2M3PO$5U%1)>.8$ MU=EF118GE[;2&_I6)"IWCT!D7O6$I3FN=)0 $2$Z)"A'?EST5R83@N7_*C4S M)<)<08#JQ/6RT8DQ3QX3CW!(8D9)B( I&X5&IL1IJTI&@33#,L7FQ&23W9"_ MB;!=T#MC\_5#HED<>RAI8TK8M(9=E%!FF.RR>J8F.6$+4P*<->0FI.OU2&UH MV^$N*FG@#.-TT^AZ>G5APC(T&2:I['26R8D#:THYM(;&K#,9<9UV =GO($H *P;?/Y2#[\O)YR\TO7\ZNYTO MO@Q7T_F,?'L<=>">AAV03X-D8X\-N0.0\&$!]G1A]S<9+HT.R8]J2?X5>M+Q M" \M:AE%2$-,]!GC5 $$@7U)&[-"^@U$FDO$%-.L?V%+\!&&\PLP!@7NE=0P M_Z)2CI2W%R%+'&7I0W?/0@I?G!_:?X0NCA Q] M##W7B>Q'1326R6$+/BU@3D\P5<8J)5,MO ^1O;4PV?7>NB_ B7.X M68MKM?;&)&G46G2KT6I 'D?XB$%T!73R5#U-XP=&FL;#:#GYYP/-U)C\2O[5 M7(,Q3YXPP8()JB/(5D!$?"F2"VU8UH1 $+E0&H\<_>L2 S5Q<@0?WH#C-45M MD\C&G(.V G+"XP(.K.Y#-F5%$PA%;V[ BBX,\_64+'U/KA-:'BO$'8NOL5G)"-0W#@)@14[L$ 0R;5.ZZL9,3ID>*-2]S] M@#Y_P+!@+ #=9JN!ZJ6B*9*D?SFAE[]GUDY8CB('HLEV\8XY%-VM/ WFL%U< M1*( 9( 1$JD-B]]=IYG2F@7!8>K3DF;N$Z##OK^\^H&?*2EIH-O&B/7C=-8@ MID*_?@^?+>1(=G0%&$V&A7?XIFA8"D3HY_QR:R% 7]1VQG!'8^YQ0"U36FMT M.,&D]0,I%2=2?$?)/G4SE$%6CJG%N4U))QS0KT0+@&F-LP XRP#:7X6;3 ZL M*9:TR_F03YQ@LD&_+ N6K!32%<<,[HS)69.0(0K@O.I$-*D"\_0W=1+2EY-P M=%"^VEK^/&("_DRZ"/#4CU^BJVOD6QO>F"2Y*IK6&W?J'J$D7]-_'@D2?___ M4$L#!!0 ( #2%=%?&E2\>)VP &<&UL[;UM)V)>NIN9B4Q49B*12"3^\W^] M[@+R0N/$C\+_^N+]5]]\06CH1IX?/OW7%X=T>_&G+_[7G_^/?_O/__/BXK\O M'VZ)%[F''0U3XL;42:E'/OGI,]E$^[T3D@\TCOT@()>Q[SU10MY_\]7OO_KF MJ_??D8N+/W,:ET["<**0<&+??O4^_V&1D8O"'\C[]U]_^PW[S[??D>]_^.Z[ M'[Y]3^X_Y( ?&&];OQ4R\,-??X#_>60C$B9DF/SPFOC_]<5SFNY_^/KK3Y\^ M??7INZ^B^(FA?_/^Z__^<+MVG^G.N?##)'5"EWY!&/P/"?_'V\AU4CY#%?37 MQSC("7SW=3&6$@+^=I< _7;S_]N*[]U^])MX7@D4#^E_DPL _R,1Y__WW MWW_-?\U!&Y ME-FO7EH@5('_\+7X\8L__QLA8H[C** /=$OXB#^D;WOZ7U\D M_FX? #W^;\\QW%&*SBW0T$P6'X)/+A N2$=NC6@ M^A+%S1E(\@E-J/O54_3RM4=]KK_PAPOX Q><_>4?BXB9Y?PQ26/'37-*7(;_ M^D+R^]9[-G- CRS#U MTS=R$VZC>,?-_3^_+HE._;ES5C:,HD2:^L\X'UO&8OZMJ[^=_%,W!U=_:8#! M^*Y_.SAQ2N/@[8'NHUAFT$I(W*^M8/SXPQ^!H>F E ^U.A3@1,"CF'SLA(D/ M#J=5-YJ@R*Y P7K#+1S!X;D(*2,:=U' (RK(/8W]R%N&WA6+;#3"'<'AJH:4 MZ6.]J &A*86$"[5&"& 6+7@$P$^I#R)">:!//D0U87KG[&3J( ?#T08=R[DR MR&!.K@MJ)AJJD 6*)2P!X-,KPK4?T+O#[I'&2GFJ()@*T&2U_O'+WY$^_#$# MJH\.<$0 GOZ#WX1N%+-%B&].UBGS/HOH$*;QVR+RU(Z@!0M3+8P$JFN*%@5) M>0QX4NE3#75&.#*)8I(1($#A](JV<5YO/+;8^5M?)+Y:W(P2'E.Y6H2HJY4" M&$FAM-RH5(DAD3H6FJ.:>QZ;E"3[OUL_I.^5LDIA,?5&PWQ=9R2 2/JBY$2E M*QGD+/\# 1RR"A%\3<;!@OUQ%6^B3V&;E%5("_2DR;A42THP7!TYYJ-50P ! M5B1 0=,.OBZNXOLX>O%#5QWKJ, MT!.%"%)E.8+%U1@I,ZUJ4T0R.1Z:[MQ' M2>H$_Z^_UT;)/>L''S6/J*#2D_C/2 M29N$Q>*@K?+;Z<_9&H,WOC1?0@#FY!\6#NZ#^^6,]#XV!R,<#B$_<>:NH>8J=O[;Q\W?AK(K+D)@O/!5:SF'_SX]Y-_<#D# MC0_.?R/1EKS_]MWCER3'.N57W\0.5"RMWW:/D4R2H]]QOK>4R?QCUWX\^9>6 MC-[\S *&"" ,FUZ^NL^,(ZHX]I"#X=JVC.5C^Z["H-EXDXF& N2@)(=%.O98 M'.*8AJDXC@6M93N-0Z*,2%7@F*&]7H1Z<"^'10KO= M."E]BN(W[2%B!0K[P+7!.4%P>4C\D";J MU>8("E,%I S75: &@J0"$AY4*L!!20Y[>A58[FC\Q!:P'^/H4_J\B'9[)U1[ M P4TIDIH!:BKAA04244TO*A4)4 R#Q/CX;> <5(9'[Z_K981.Q.J1PNP@VTNH86XN$NFTQ$.=H\Z+! MP-K"M+*DW,AP3,)19T0@DPHV@GZQ8#AV@IO0HZ]_I6K_TH!#U2(YTT>*4P?" MTA49%TKU$,"$0Q,&?M(3++$SNO83UPG^3IU872VN!D4ZV6IAO3CE4L"=_L1+ MRTCS]"O+?PAX @@HU>-Y!7O)]S7[%]E61@F)>Z- P?CQG8(C,+1;!5(^U/<* MJNK!$?!T0UQQ,-..&JP-^B%A7JXA%4!D'6EPTJHEV264D^O)G#'A<<8#1Q;! M'OV.HP]2)G,=J/UX\N\N&;WQK0L8 D#C?=VMDSQR-@_)Q9/C[,4GID&:Y/]2 M?NOL'_[!J[B E]7VV@^=T/69MD;B0ISB;GHWU--K2!_10'FZX)U4K[HSU@Q1 M5G=7R[OU\HJP/ZU7MS=7\PW[R^7\=GZW6)+U7Y;+S9J\.X3.P?-3ZGV)JY7S M)*%ITJ)_QT!XFB9GMZI3=0@4[9&QT'1-'(C\DH/]?TH]&(7?E,8)O1W,]'K- MM-<&C:/P8Z2UJ%$%=^ ,MT9%7%M>%JZ+) M W4IX^@QH'VF*$@KC,&HM26&PT\SJK3RE!S\')(UV-.9Q0JO5&V$B+JOF@M46 MU78TG"75E*_F.I-ABLZ:.>Z,<&RK?,,(,HIP%=TS3"_)29S#3?C".(WBMP?G MTP>'?3_?"1(6[ZP/^WW@T^-DOCD:GELP%:GJ$]IP4!R"&5,-_2K09H0AD@*3 M1Z(Y[@RJG#0%<:=Q!STE!+%V.;@E]O-S%/]Z$]['D4N3A/F U?:!)C1^:3'"#R_V @77 MI%;I<[:4)OKP5 :(9S!JMJOVT81",0<5&PW-X(#D*-^)K.<=F7=K>8]2 M)QB%]PU0LN@$PB3A;,V)0^M) _X)@]G) K*V&BNJJ9&=1&_9PK>G=L]G'*SI5 AJ!X%3ZM-1*DJN0X>1>?;&6HH5(XR(QQ)--K/T7C,]17R M C1(J'TA%"V%TN4Z3V(SHOR#WE(GH0_^TS.+&3\FE-N_8A*T&'@68R!(U6 T MX"CVTLI/0[,R#,)1V)8?D"ZB[05#RQ. SC:%(,YU#[M#P-_,F>_@7O5O^BW_MIM^*O;YVDV_#YO[6=Q[]P$]]R@^*X&+MU0\6[FES>W M-YN;Y9K,[Z[(>K-:_/4OJ]NKY?C _6:UJL6506/JOEZ(8Z47PZ,I?\Z;F3: M _!$MAC@6T$O4>CKGH:3YWK;]TT=V;?@8%]6NYKS_Z:W8S-4NVK"5:*U%84? MXUE3%2YGS+@LO$"WQ0.,(6,E'!QD7.G>3;C%?//]=]]PJX%_^0<_R&FQ$1W@ MZ2VBG6W0?S749-KN98U)^.&C\10JS]5I KN!%[B&!V>" 4T22G^7$,]/>,#$ M5HKH,?"?Q/-VVR@61X001@$7"8'IJA\?SH@;.$GB;WV&["1Y<'(!MZ9_7QSQ]M^L\\%'S0*GR[8"+OLN^6&/F*OM%ZI$,;6AG%U11]3 M?C]T[T.@ "RN"G5K"8H[TD!,F/01MI9#Z4( )ZW2G4/).S9,58$( 2H\1RGL ML:1@RY([AKA:8_4883ON<([R9=FJ\@-I%=BV[*QQSLVN;*Q9%M:2[&N'K"OR M3K7;%K4HZ1TKLAYUR6VMN% !V[&(ZFLNY)#HRV)KR<)MX0RON/=?OKK!@;\ ME7O.#TX*#P+I5.GTZU\'N=I7M9-7ZQ:1=:M)M&+94;6K$4A5N2M!0:_>5?+4 M5L%;2<^>&U593DTJ]]3(" 7\6G%:%3R2:'QRODT["@* MXFIQE47VT5.<2GV?);91D:$]CK1DW]"R8<#>*;1O$>S9&6BW!-9L!>!=#3_E M^5O8TDMM%H,S/.J5D'JQU1*<*33J19^) ;002>!ML)OZ/K22' M]#F*_=^H]P/YPS-[-V%V4*.8>B4T8CFA7H!:,:$<%*>44,=+L_JN@"8 #NVP,@3L,L*^8NPS M,=P6,4YB! \T=?R0>DLG#IE))Y5+^U=TZ[N^*D@S0<0S#7.QJE;2CH5B,*9L M-:_X9X@DQR3OJDT9,F3U]N TAM1;O*HLGH"T;:=C'*C:M;,QV]%8LI,9OH.9 MU@#V_"&T9>AUV[HHQ+IT C@7.07+Z]2)T_-ANC7K:,RN2#XF-06B',&:5+GT MPF=[ME6!9D5272M2ESO'V.EW#5.&=XSM2<]WD:61L^<2V6=&E5TT\_^KF+]* MY_$-]3V-^9:W??^MQK0B$=,FF"(WHT+#3M?H^6K)X#!D$L5$H(M\#KQ.*I(; M]F1T^LF8"!G+',\[MK7THB!PXJ1,]" ? 30>M)\7^:;V>6EB6&%A*D$4EG4, MCFU1 MC$S"OO,!0W%(HN0B*(UBPJ\';;18,C00"IXMEF) ML4AU4XD,)#K1HS#0H[)X7+NEO$()C?GXBU: ^H,O4E"D1UXTO)B^8+[>L/_[ ML+S;K,GJFJSNEP_SS0T#L.3Q]!F-7WR7)NLH4$?R:@3, MT*5-C'K@HH)&"EOT[$A6^(3W>.Q!SXPW_W<;15 MUA+4(/ 47L)H5<,K/Z.H=&/\QD?G$$2 (!\AF#*[US-[FF-[&C!R3S_2D,9. MP.QK[NW\T(=@+O5?Z%+T_5(=*AHB(Q[O=Q*O=N1OA(E3!M"!M69I@$">D0R= MN_LZ 9)1P*YH'D7,IXJ83HT \K7(/04VPB>QD;IE#D$Q#U)(Q(N0:L9K-R"; M8#A7'U5\-"\)YI!$@))W #QUA5CK(X;&_,-/HL%6)'"B$'_38LZ^.$&/BH\0 MZ)Y,'M!=CM\%%=S SQF7=9Z]$O24Q%N6,:P4W>4E$"D, MZ@K).]W"ZB)]?=[P6]( MG\ AZ):?CFQ3*P+?D9D>L%8N=_L@>J/T@:;,S3,GOXBIYZ1&,4:JH7&6TL-V&K&5,]L.2G659I18"MI1H*XG ;[!R""M5+VD2S'(042 M$5A$H&&NG'WD$3_RTGS)9TJ=U^Q3(>*)JWQUUYZ^3S0B=BW$I!/9 MK*>89#C$FHP)Y9$$H95,F4@^E<.2I9Y&- MD42![_'TQKN SV66_LCFS>@EWM.X[=-/3Z9=/6;DA-Z?"9HM7Y"9[@R>O,LP)@Z$#++DO42!3<&[QTR$4;( P[<' M-"W=P_S%\0/8T6RB2M5I=AONTDE\5Q48=J6"N)7H)W!M@]&-!,ZVHP^/TE*Z M>L!0D(*D?K5T.J,V(YP>Z"*+G1W9IHL2H>SVV[Z$\'\NP M9RA=.5J=Q%!Y!Y_=#[:[R%!9*&@N3G'CG#P"9M?;Z*=:*4<3TRX+O_*#0ZJ\,*R$ML?*CP30 MV7D&:H6EUW@QLO4,PS)KU\NAMW=/X)Z+Q0\0%=?F?Z;^TS/C?,Z$=I[HW0%: MKJZVC9NLNM6^(PT\_]!+V*K7Z$0 Q9?TX+"AKCD-DA$A@@H$V%G+C@HA.P*- M4<5V,K&;%[/)1240$3_C^Z()9;?2-V6^UK270V/(C]VN-VOY]< $:GU MKS%G_9IOK#>KQ5__LKJ]6CZL?T>6?_MXL_F[/6TX"O$WD"=MFZ,,R (%K+$K MU30.@:M2%18DG:0S(/(+!U,_,?U^&WP"*F$G7,UQ*),D"<-**: MDU:-(;\(<&25J1PM?^"/_ZA/TX[AK&C*5V=:T8E/ &&WWZMRH>VY1WX1H-C/ ML?7BW:1-(.;S4%HM;\&Q[JDHM?9K$6QZ-DJK64>/1UV4CT>=R$8,-M@CR&7R M*!;*:U):8U$!V_-JE-H\Y)!6O ZE59SFBU"6K!4#I>CVKM5IMVFWC%5>\-^V M?Z@ 6K A:[ MW8454+A;KR,V=%MX "4<%EOGNW./K-'M/>EM:43?UGT>O>6\ M07OV4W:6-WNCK)WG[*&OTYU@F+Y4-B[K)]J _,\A$2^]/XBV/YMHX[S^[*?/ MD/EFZ]YU5%2O40\R S1,9+T31J&(N7D9/!'UK4UO@U0R-71_[EAGG4_BSJT/,6+OGCI _'/5 DS3V73B>!:CY)R?V>.DZ MFXPM]=-#K.SE/IPL\C.F(TQ)X]'3 33QGD@=S+3"- 1=(@@307DF'E6;D9)Z MELWC](O+'I4QT$/O2::H(C]_*H0X@&REIQ 1T?BNH@M=ZWQ%]TDQ+<@F4B2J^1P\'H=7#_#0:^*G-'NK0,S7 M W6CIY!3X:ZV/:R;:%@K-C.33JEBQS/)F-C;H@F%DAR]%,/"557U24SFY2[X M\*0Z/OB]C(/\D9',,Y(*$\@>#VEZN0?-YLRM$)VBLZR MOCY'D]6?#%(7T $B%[U!>]# ZQC:F]F&9HIWH^%)';Y0BW72TNU=1>]#TG1]5';)/MYEFYJOZ38/#![3GETCEJ_MMJSQLJ+K.T MN_+DN3L=Z])/[4*;YJ:E1&Q*+[5QV2<2R0I(!3U2$+0S==1S D1^*(S"HD.Z MY\?497:)?IE.X\5&,&0M(>LLV4!LX\RQ];;0I/'MUH&I3BH M%BGB;*198><)Y%X$0W9:?(]IXB8?90XM/W@VNQ]\^EZGBMDX@K&D3ZG,"FL M^#U&S3N(8K3/Z]0P5"-*_L19H'UG\-3WP1=.\GP=1)\2\VO@$A0+JG@UHB@N M?3?@L>]Z*QCJ=\5[,5__A5S?KGY>VW.QFYD!R'@?1R]L@^9=OGUD3OXF+)Z- MG!>/^[5H8Q]"J/ZXI]A'3KLC%2S/WHM-J<\$2B0G!7'2.Z#&7.F7I'S M:1( M?LEI8E>\CS8+%3.^?EA](*O[Y<-\S T@[\&!UZL>1_%8E-Q%!_9^>2*D:SX384KY\(P MC\R:^UHB1DTBE5E(1,,B9V2;YC N)C?,/.0_'EL]F?^(?:5J94] MF(T<)ES1/1/ Y^DO]N> PA_FH3??P>KUF^XZCQDJGE_K(EK5-YG@H?@7<\8: M.EM%A?LU&3)_Z+R*CAR$C"0A%\LQ$>LT,4N%D]7VV@\=YB_"IT64I*K@7(^" M&"L8B%);YS7P.&MT*T--?U]!@;J&*_J8\I- ?E^38V(72PX7R@.A^,D]<;42 MG>ZJM^FU4OMNC)I?!K7HGF>/*YS-$S3LHZ_.=RTEM;YVO./WH^.'$+6N0JC! M@7!T0^,=,VV-);3@X!F$D3!5N] BH)B' 4<-#0.1: M/,,I.1QXN[E(?-_#]SH)>KQU1;DZ1 >1BML/!CAXEQV,F9-MF@\AOQHN(COQ0E?T MF+4#A$FS[HY#?VFKT2L7[<3W%]K=Q$ !RS!VZ_@Q>>$W[":[8C5X;6;!!>^* ME'='JIQ=9!=B6PXQNQ# 6Z.[BUE=I\VQ4=;JKNPU=#8G0-[E)."9[,I17=%@ MV):BF\$B"S/E]=65 S2^A/-$?^ [CWY@PV%:4]2YZ\*2D3Q0E_HOFH=3S%!M MLDJU:'I[;.)98HDJQDQM,,A92+)"QBH(EEA5@R-3.ZH@6F@U[6+]',6_7OCA MQ3Z.7)J((#%V/I$=&RSVG< ZRUFESS1>'&*X-\4=@+D!R5!MLB.U:"V[M@:> M)5:E8LQXIP;X)",@EB8;K9=(48^Q8Q\&PH/C O4B9;NDQ ]4R2U*(UFI,1WCV MV).4L0XF!?BD0L!&JS*3,14[8>X5BQ.4/LNQAH)-JW*KH 8;2!FZ)6MT"W_=MI/E\=_) MK-#@?MYPH85T(5.?;']IC6&:MQ)03$X7 N?0)$-FE>;8EC?%&*\9QL1+8Y0Z M@8)N>-DC)XV6D+6F:N!V 9FJZ%BD_FVLMG5C N"Y]33IOLL M'/>TN;G[:;FVKJ>-2ZG'2_UNPN00PPW,-4W3@/?JDLBLF+0^A%![Y/04^ZB7 M3DK'9T.>(E/32LETDN:10>$DM#3O2)!8/X:)#N@VB3T)!/$&!US]7 M-0.K;KV+1%<5WCDT]KEJ9PFNRQG/OP3R4BO:'T18VN9FP>T#GLK;?CK-LASMXXW >.]IA.UG+=[#C[5SM3$!U$YE'+PB+\_0Y).6D'6F:B"V@2$NN9M4DC\&%?"N"R8K8"A1JT-/M3A*8O4 ';27FS= M0]!V :[&;+JFR,)4\TD/=%_P]D!?HN"%QL C"XLOHSB./C&3E69H>A!!RM[T M%K?(['2F@)?UZ::+QH%>@S0Z #'XE M5Q^A%M5-^K;8QMBR2:]Z0- KZ'H(\9AB!M3@>#ZA382J.U#!HG@"/3/&3@!0 MT.U]D"Q!(8NGD\6RK-7@9,!Y9*F&9:1&1>.[0RZR?2L7 MB O_A9.L%R>@O)E+DL:^RUP5_,""^/H_5"#%6[#-RNSLT:KEJ\N[+3TPM[?< M;JDR-7UJ)O [QO]40!$-$ ML1N>8O[/UDF.[O/. MSX5-ZY&F]2KBGNLRU&Z3IIH=J6.8$Z9,?AK#, MM$_#:9[T.>SWHH39"8!O>%+[)MQ&\8XG[MH>.C?%1GSTIYN M5> S%!QG@7J MPEOSC9T*MG!+@$\J!.PI9A@HZWJ_7'A^7QJ^\W=]>K MAP_SS)H5/<3?H;#C_M@J7%VHHN1*PYH_-\H]KKC/E/O (]'Y,^M M5)\&F\>JYQ8HPSF9;FHI\Q M+IX%S5YSJB*3"O.B+7$Y[HP4 A#QGB(7@=Q7*RKJ4I!.M_HXYB=.*4V9_*QTR^\L_FG/_ZA_G0C1PIWBZ>?9H_J^P$J^W6=VG\@>X>:2R9 M!"TTCMH9")"KF ;TY.K4RHODK1B&00H4DN&07P36Q"D&S29K5''L>%YULACM MU@_I34IWJE.24S* _^CKZ:99]G[L]*.C/D5[*O'4;[^>8K= ?@%V".=GV/*I MN&3"A-A%(7]0_?X0)P])+)09(2)=(C,4I+HVT8N!=$C%D MK9FA3.%^!V-)= " IB&<$DF %-EGM"! BS@UXG!R6)<[^LHI\ A')#DFV41$ MX!*!C'EQ8X!D>R=\,_QN4_@%P62R?*6QZR?0 P72QP%-DCN:EDV--LSK)5!> M)]?@/E20/$=_@0M7TIT$GF_IRZN!LQ&ZF1":TR9.PL^Y@3H_;4@*^B0M!\!R M/Z--14:(%)3(/"$Y+3@HJG0P(Q5RF!YJ=.%K7]TQ^>ZX>Z)5_.2$_F_<4.#I MX2CP/1%4L@!1J#7_ZZK<_ZW9OU 11.IK'T:BC;>3&75RJIN440BC[#]&Y+RY MM5BN%P\W]U!B ,4'EQ_7-W?+]1KY=HF3'F*ZVF:=AIG(BIF1 2+>%E&R7;L5 MTH#"N?VA8*-98]7MS>+FR6RKETZB9^LMM4E@ZT@:_\I]+>^"QWO&A,! M9LZM7#%UPTCBZ>L84U'5Z"'T4'1^.,--JP"2L$Y4B?),8X4L*>F2G/ )5Q.# MRK8I9N8\_<4#?:'A@4(+$.GKT_J%RA@;\TY\)P'K5^2-4)%NS'?@K7F@OOQI M>?=Q:;7JM2U+YNC6*I]VN3'%M5']VIQEAB[:)16/K/$#KIR$70O&4'EML+>; MT&6\;IS7*S]Q@RAA.ZH6]Z[%0'T:KDV0HZ?@5.!83[_I^6DFP^\6JP]+LIG_ M-W:X(.&]S4_K4:S2(JT_UL';HD=M?DB@$(9#2B2;$CU]9++&.)9.#!'A_X>H@;+KJBULSQ66D6Y%*RVU>(X7A4. M%7M)FG#Q'FN%>'KG.Y0H8AGH*--1*^T<1!&G7',$EIN7MS:KQ5\O+N?KY15A M,<7]\F[-LWAGHOZU.M2VI6,PU3,P /V$]+( .4F[34#'<_, M=P61-MZ+7)& M6#35GV4UQX_UFF.+MA+3S(^=/N+!3WZ%TO./S'CBU/%#@[=D6G 0DZ8FPM0R MI3H$G/1H.T?-XMS5W6)YMWF8Y\4+BX?EU 65 "Y.DLA@8S-$2FO-[!Y>S_"]Y2LL M591YCU7Z3&/Q2NCB$,=,X!:7WHD"YO/5G06MOUMMC([T8'5'_II%SYN_L WX MXN/#PQ)J!M;KY08YM\>NONBBS_]O'F'KKZSE![YCB&V[E3IOT%T+\@%SUXT/3M"6FM%BH+X;VB;(T?NA*G"L=T3U_#0T M:[Y8/'Q<,FWZ;\CS89<79#7)229'+@;U;GWGT0_X0R3FCK\W-?0+*'TG0'([ MI2LIS*LK_7AMZG1&C63D^"J1$205BM;F?D:>#JM,'-X),Z[.5 %C=BC2L5_O M)B2#1.K\HV9%LRK@K9%2?3'LG)0"]2D]1@5'D6V,^+N* BZ MPO,$D=2WM[5),$!$3D0:B=7(1VJQ\-*2!FPI\5^HG,.'K(:Y8A[R>AM=;%'XYN2X,< ^'9C)S= MJGG4(5 L0<9"0R5NE_.ANQQ%:S<^_&I[2Y.$TG9O:8B#U+;-5)BB25L; EY+ M-C/.FMW@GREA9'WF"[W2+8HGZ($2_S%]^UW"GZ3GS^&6O4H3XN>O/,[(XR$E M8922P-_Y4#^81C/B! '4%T)?MVT4!-$G!OD#>>=\]26!@1]%FX&0?'KVW6?" MOA9CBK>S(::>X_"B]E^2+T9>?>8D:"O?I)2]I5Y@@, >-\"AD\_ M,0),CCV;ZF=X4C+O+ > -'$=T6R@W$\SP=2C!-XZ'O&Q]X>8KXD M91.*U;BNI\)P-/X>N] /NQ;309(-]YDCU.#MF/7D+887N4&X739$'6E@5N7U M$+9>GM>! %*=7F<.):5L'S[<;."4:\T/O18KWEED>8??5L1(O/;BT6Y$+%?8 MEH+2+A3L5=GV(M.""%_S:F0L6S/&%=Q>8UW3)Q#N@>ZC&$1K>WI5"8[X^EN+ M"+4WUQ2P."^=:9EI7C]9_@@J5'TU5!TFHBB/N7LWPK1'I0P=N0&:%8IF[KDR M3%*@6NJF!TC8M"KLM[$?$_K/ Y-F^6)PF5D-COGZM5Z$^G/7 M>;Y<+__V$=0'FCQAER(?<]_JA-7P]NB.WN&J@*W0GE;74\ 3@6"51^TJC%VV MD'7Y/.KE^2;^U[#K;2LR>G];0_$DG6Q;,#%[UAJQINY.6Z+/1 ?:-_)+]O_V M6-#\ UP(^0;5TFJ;]S4JKJ[W\,A&=0XH?\[(A?MKT_WGP/3]]@P4R=9CQ.L%5 M='A,YX_1(?TQ8K:\$,<^^K5F*#&LP]&AXI>GIGTI(1ZG#F.Y>;B4TR,5@H13 M) Z0))PFR8B2O3#@% SX$>ABG1+^:\U#R\'B9),!*WI-<.17>^BG2KP21R'[ MHRL<;9?@NCL9Q!=_>HI<>P^H(PV$V3/%!H61*\D;D7[5/J81_0'G50V2JL MF'3C^87##WNO>7S%N7R[I*'[O'/B7^>OOFJ7UXYFD3(I1-*JU1&.'0HF9/-%;(7H- /"YI,EH[("E_QCD2.1Z_>6X $):YF%L_I#9' FTYZXX'#8;?.<"_WO-6(U:7P+L10DQ7.LO>"VLZTX&)_SKRZ=2\Q/1 MFKZZ]H.Q,SHS4'<>!PB*]EG^^+/![]'%CD>)D[?VB:E+_1*4S( MI^ F[S[:*8DO39"5@T]WDS6KI[44*-VOL* M?A3.=R6#%>?WXU.V 4B;3X?.1)M;ON 5]$[N"LP"[9$FHNH,BC7>X>UT[5CE M5]OCQZB@@LEE@E[YP8$Y(R.[[DT-?[7O.0&R%;\C*=15OQ>O6O5N/KHV(YPF MM_>,JKT+__@3PE9[IH;,5Q2A$)1&A0?F3,"@Q3T[CX;1S@_%/S#3#J@+TY35 M43T6\^=E\T?S6=ZS64[XTW9NM-L?1&&,-4ZE?,"G^L3/.F4SMQ*W^N=NZK^8 MQ@UC$+;!U0R=%KG7Z4L5V0$-8[MI>I5WKZH$9X23)!E-%H1D5&WV16//S6&W M<^(W\$%^R'87NZPLF==OY6TVGF(G1*]_:)T"^-=D?DB?H]C_C7H?0X^YZW)> MH%]UB3[A:9F<#<+Y()P1&S=E>+,N=YXQO%<(I61I1!(^M;DC M94X5BDVARY(=G5$SY4MV&C;SDFK&G73H53V]9NQD80>2(B^QF M(MN0@%0^,--FC2:(%KZ'I+6^=BR[WCYJ??I'^^*1=:;66\YZ>G^WCT+>*H#] M;5_,P+Z8 9J3G4&!@"V+8O.5CHZ+8CL!&Q9%4S'EBV(;-O*B:,:>5GUE3\U8 M9ZBC2NQD$E/Q(*PUN7-X"**C"PWP?\PI\37#J,09>NGRE-;\IDS /D8JBW MB42O=:WUC$X=Z;;_^!-47/\?CS1>/X"Q96@V8G<>#X$35[NP,S-)*H.11S$: M26"X9O*0]UP7CY!#=Y>]IT#B)CO3LL$]]F2Z>\@9OQ&7 MC46V;+":LD,NTO'#[+C:%O8D[0OSS9\!JIVNQ.(OKA<)QXU&VOK-V:QYE&/_XKKNGS+?NQ0 M@=F-F@V9[EX3H*B5[$(*NP"R.Z_ZJL;&FQ85BKQ<,8>PSNY'GI2RZ'!;=,^M M1G1P1S01M";9P61=L*MMK.>AM_:?0G_KNW!.7N^/G9_ R4*;_K20]BY#A2\V M+GT)X>U:AG$L:_Y0V:HT+Q\\YOW2]\?]TI/2 I)R]/R6-+B&?38^UD9FY*FZ MG*]OUM"EY?YAN5[>;437%GB3;'WSX]W-];O MG!W5=@E4@]NB+$T1U"I3PEJ@.,?,M*G/C #&..W_5.$&C7]-GOV8WD9.*+VE MH ;#"A+4+)?K?Q/FI-]?ST1S"Z )"6V*L+_N61,6WBH:%(] [G^BX M,0E#(N3;R;LA3A$EW[8TZX/?B0\ )*99-%S9^V4?!9Y8<8.#)WH$."2%R.\K MLGFF^9OV -M 0Z). O-#@LH4&7[4;YKKL7A21*Q$>"LD'=K\;B3)SMN: GQ M*.-!C!8Q!J$SD1.^$>>5)D =NA0('LXG"&_[$@,"\=M3=;EL=9H630MRDA+N M9CY'@<>T&0K[T[>[**7\7]?[P$\74<@F,X%#%IBF]ZKT3F D(GLQV4RV5JS>1G#ZJ@$ZO.7IV05?D$"?5#AT+S7;/&(1X1;=PCU]]>'@$@!3M2=DL MPKS:KWCQG80-26"1G5(D_!1 ?=T@(X85Z)G(DL%@MUSKRN\49G03>LQ:8]\) MU);4A$$R)A6SA3T= ^"9E)R3_E;E%_2P#,M0HA+,"O/JS#7N5FGC[]@'7VTW ML1,F6QJOMC]&D;>*US1^\5VJJ;,SPL3;.'40K+I_,D!#V489\]5,D'%,V$7E MN/!GP(;3]@S?B@J^%AFUY7R&N-;JH[K0SPC11IW4ANR&6FG%B\ YAS'U5B\T M9JSK&QUKX!'UKTV(FLZI@''T3,]-4[=*>!)!:A(PL(.#OL( T$7*H*RQ@7EZ M'_EA>A-V,00IDA76H!%'81(2#&R[4+*D-0XG)1P-JN\LM1%SP3C\+)D%C)"AW+V'V_CO"IFH14M% D&KR4 ..DB1LY:>I054, B@$,*RH:VE( YQIJUFT M&!9I55,0K5:5X'9HU3$_YEIE15U*L2LXEDM[*-^*A:A?9@+5=$R/@J-G)CQI M=F]-I;/D7'Z@8&Y-L)CA(;=N@8.3["SFCJ9:JU' (C9AT3%?Z[0B \1IIZ+F M1'FX=TE#]WGGQ-;80!Q*!21B**- M12KP=@0C#88,HI$9*;&PUX:A\L!Z +ON-G%.8BE9^[($.AXE< L^F8>>>'K! M#Y\>J$O]%[B*G%R^7?H!&_EIG3KI(6G9+0XGBV=Q8TU)U2J'TD2QW'&8;O:_ M$[!$ ,_LV;Y6):K*H]W!MB%AUEN9B%,OK=)A(%51M;,DB:D*)%+7-DLVM!_# M1\86];+P*M%&Y"I@/,W2LU_5*#DDBB;I6&EH4 Z<%[\FMD3EO:28XBQG[OT/ MV^[R9U/NX^B)"9O<.V_\[Z7YJ<]Y.J$CG0'U$+$X'^J BW=VU)G)?B>V3CD, MV6?CD'TV$-LUYB-AG3@-GX8*!9*3(#D-4A+!]B(CB=L0$3MNX[[P@>Z$SK$- M&5=%9MVKQ\ 7EP26KWOJP@.XV5W.-?O79.NX\)NN7]98Q-'K[D>:'DDI_D#* MF-7YH["NRNG-2$&>5.B3F$"R'?[1;SBMGAK,Y:V= MBA].WLKI:.2F3L#O:(V]^.C2:*SQ*^(7;<921S_A?%5]!"2^ZW3;RK:&?^,89#';TUI%=C.:1KWI=K/^.U3)2 MPF39+?(54Q>;HS<_KH"Q0A?-V3WS#<)MRX7V,0>[UT^2/?YHR/Q:[TEZNPE[?E/"^]EG4'" M5U_?Z44(]86> 1SK7M2"WF_YFA%#$U GX HIGIM5*'CZ[*3DV4E(&,'K@MFP MY _?_#O0+ $3Q.> QIROO#RZS;F1@B0!F@2(LEE!?EMHBIF(VWQ@J14!S$0J M9N+?SR B*2MIAZP=52J61RE-@3O'*R4)>R.78QZ'Q##6U(&/+'F;6<^L*1F7 M=7*[]9U'/_#3MV)6W.@I]'^CGF+VNA)!O8#10]RC*QD=*&!=TNC,HNR:@[0U M84%H1LKE/*>%=FM_5-'+Q3D')(]O< ]03$B0T?,']B\<;+O+[9:RD/.%WH0L M3* ;Y_6!!9PP!7YX@$P)#;;72K[^XS]0X!76W7:>3^>OFV"!A;NH)?+0;B-?AV06J7 MX=7@.%?BV_AIWBG/,/@Q%.! 1,6Q)BR*[7)SEBT_GA\<8%U94_<0\_!N^0HM MK:DG6E[O]@>165QMETX,N[N$+:GK9R>FEV]R KI+M5..B'C?=OJ)K%W%G6XX MG%NZ4\O3S&%7$$B)8<4=7KDP\,ZN]A9O.YIM]M$4J5W)2QR+-/68*5-UFQ' MM.1"[W*W#Z(W2OE"M=J#J6GO]&K@$7?-;4+4-LDJ8)P]L9Z;9G !KN_BT8%G M,K)+;&0>QU#+#W^>$4$#N\JVKW@"!#GTYK%:%N_=MA30*F 1L[XZYFO)71D@ M3@Y7S4DS5% #I1PK!GA>"S, MS3#15X4>8@D1F(G892%7$-]1KZ.--+#LL1*%0#H[.4*QPE*D/!G92H9IK[68 MB9:+@6XQ=S05QQ^W49+,7QP_@!S8)F*;^UT4\L7R.0H\-@L9RXIIZ$$'SZIZ M"UVUL\Y$4"RO)Y?2A_*R8[UW0.I+4A"#LD)!CE3I%;:*;*!CSL"[@(ONP=&PT-=YHG<'V+=E$G!'E*P.:9(Z(7\(L>C-HIBDWM3PC'C@!%1- MN2Q&M#J7-J)"-'!+UBF144284D*6DB&_:X,W&5IP(I/]7G]V_X)C:R M(>DQ,!LORL.GR?3GM&W+9/>]P#=_*2'[8*JL=,O,#3)QL;.7)QT1K.X2CN3 M53?MI/PY2QIZ_$8M^Z-@U2@"&W%JUJD3IY9.SB-]\L,PZU31<8K.PL7_R #3 MY";KZ_%C'"6J*H-)1CI?-Z^9N#$=O628LW3U2CDF=?9B5,*,58P+_\)&GLBK M?2^F,:1/T(=@2H]F/IO+5QJ[/LS19^.R?J()Y$-#K^A3%,$_G2I8-1_^?)U; MURD>T^.9CGV6;K";<)/Z1L$*8:.6O+N?:*,;)&2.<,WMJ7JWY%"TS]B_AE'&_T;^ ^T7TN9^SH[7,NWY>1UT] M)M[X ,QC;MF)*_5)G]U9V#BSISLAZS"'=JQ52:>\^Q3KU9@<6+QFC3_1G=:M M\8:W<^T:6[Y>ZU?2_Y0.=14SN&6-_P'JYWIGYV@')^L1]@I#F;+8'9_D?G[XV'37R?\]*17:[B6:VA\W(3IK$?)KX+#8FIHG_,I",A/?C+G3T\Q+T<^GHSS MC@ K<71].J;/FA^/=[Y17NLD3G046!_L+".Y%FE.=]QG:M7G$ZMUG=KJD91P M\ZK [',[OQLV/8ISN_->%_)POLBL;Z+4"4ZR1)@-?;ZK19>IG2 AH!WW+-<0 M<\$4RXEAB'PA"9&;J0!:.W\[Z;)RJL+H/C-='+.=MU]L3T<7&X63.,L!_)RO M!QW\$4Y[@*9@YBQ][4!I+3DVZ[Z9/P__//;7Z7%.9H%[?VR?P,?V_'9]@M[K MOMA$ R([Z$FGL>&!)QD-S\5.*,[ISK,L=(ZGG->.QU4VGDL='=(5K\3GKTT? MG&!#X]V4!U:=63C3DZR>4SW:$5?'\<_O[*N7@!,>BC5.^PN.2(4E CQ])@=F MXWP!PWF[];>45P"\42>VXL+T@+5'7:ZFFL1O)UH%>W%ROI'H@(D?,T3MP<99 MQJZ]Y42\UZ=VVV<>\([W,4SN^MEQE<2*Z?K@O/J[ W1J+_4IA3#@[^(W_F<:(:"KK3PKR/\UF1_2 MYRCV?Z/>Q]"C,7_]4LS;/1,]N7RK-^""*=^ _*IO-?&@B![X)--9<[:3CHCC M5T\@4M.%9H."<:K9#"1]_!O[VJ!,?9X+\PME0GP @ M%L#UGMGYJ]_MF8N!(]E6M#;*Q+67HPT:QJ)"LQ'D4%:6UFT-$,[7U)H3#N/M1K?U46ZP8N!A)JNHHN$CK$+Z@4I: M[DLAD&I0Y(P6)2+UGR?3-2]R#[!+XI^V?;84NB(^*X.:=G^H+#?IQB3Y1<"A MUF>,-*]#+67S*6JQE H$IJ4T&*U;2O$SLJ4<\:'XH@P*TU*,F;3'4H;/Z_F% M@;=^2&]2NIM@TZ4=[#,)!AO3-UD\6(QT_B'AD2@GC0IA;,('M_,1@ZFF=+-: M_/7B7I'%ZL/]\FX]W]RL[CXG3Q9]HG$V&3O_N/3\-$-^+EY-/I73^;;Z M>)^!AY,)=$(_-R.<@\SI<1X^*V]G-+WUB:E-R6?D]C[N]Z=V>XTA/Q.WIYC* MR=S>T7CG[_:D IW4[7$./E>W9S:]QVZO,B6?D=L3[RBNMI7JN*S^XA1?0C?Z M9^(,VR=X,K^H'OK\762;;"?UEH(9*%2H7LC(^/FC:JT MGM/1G(9)+A$B<&=;R2S:!VHOHSTY:Q:5UB+)?E+G+G'IYU^&:\N'DZP/XTSN M9[B8U% N\^:FEPXCYW;L@X3%XK_*LF+VJ?#6%CU__P(+C,D$6+C*G/+=$LM6 MEEY?S&QY,9S5\TWN5"[ ("1W9*-_9LD=]01/GMQI#OWY)'=4LB$E=ZKWR#[C MY([QK.?>M8)@@?,<:T5J3H-N13I)_-V9I<\DWN[Y*2:+KSOR<_[Q="^!3^JE M);[Y7RI^'N<+23RZ[?%RR]54DQ?+A]R,[D#?WDO0G2>IRWUG8^)67FWNR'VO M6\S5IA")MBN$'5>5P07=.3O='>,Z")[FRUBM*F_U=Q3]:S+04"$ (0!CQ>79 MG&'MO==C('P%4-\VK4.@*H'VCF=%#2:\DKG\Y\%/WV[8O(:I_T)AT&^_>?\? MZGMG+0A(U]",Q"ANI6FA\2ZI&;#5T)+-LY^0'8<@/.69D&T4$T&*%+1X,$V MVE=(E]OZ"*>6PHK+;WU$XLP#)*Y7%W$,&T"SIA_!X/ET*;-5EUX#0/'H$@Z: M+Q?SB Z K%C8^\>_I;"A9Q0>3#.4;6<*XTQ=IR?1>HQCT6G!&(*HUHQL^S1& MY#38TAYHDL8^] WE>1UI;-4"BZ?K6N:KRBH%1-$V#2?-N^D%;)9\1 XLALK MLXF6+RPJ6[_M=:>^&V&+%PWC:1GEU=11?'])#3&^2Y !E0(IIZT$'SRWT%KKJ!3H3 M03'ZGEPVM%?0$>OUC&2D\C/%G!A/@PAR)*>';,YCR9])&F=H9[K:Y^4GQP>@ M8_M"]3AG& NT3=HHH8%JD/.*%/123-'!O:P<:]0WG&L@T7$2RQE(Q RP/[G" M6R?@]CX/5_7B^ $[/9K^0%6DL;\9#)9I<\TWCP[8588QFAZ'/YCYQXC=9<042(TCU2ZC37M1%H7"!5V^%**ZD MCHN2\-C.TX@\TOSY,K8H44:*."4MK%HNFR9.K,R7ABOXY8 5?!.12YJ_P+H* M"?!'*@RB+5/6?9/&@O7)#P+Q8&JNQ=D+?%L_AI=K$\H<)/L2\%I?^NS'7D7+ M_8'GV8J%;A,['GV@+O5?8"^7J"M>59!(2X6>\<*7R\%.&N.W\M'T@@!,*M#8 MY1@CB#"%\BX.+##>,::_4JMM$P9)857,%JIZ#( 7$<@YD13<[.'P3>SGME&\ M$RO.GL9IUK>(K=P.^RS9\;V-\TJ55R9K((@WYB2LUN[+57['N2W78*!Y5TZ $ Z#GB[LP'"J9?B4 MJLHV@(=84U37!$-7V0;+$K4M8#!5]X@)I384<,B' QW9]EO9'A"(98.L#X^) M&_O2;F8:.*3 2\=T$7#)@/ "+34WS8MLN^C EEJV\CI)0E,(EQS(B;$0*:FB MDTP[B..]@'I /BTE^SAZ\=D6&5(^T' MV(/[Q(C[ ?9_1?=1PK1C<8ACVJBUDH,@6;V"U<+@CW['LW4I(QHS=P5A; ,0/9Q5<-1GK8OXD;"3$21;2AL!+G+4:2IL'KOE M\ 009N+,&]-R>XI1^R0S\9TF:944I^X#W1Y"#\[U%C'UV/HLDT,!B-4:2<=V MV1))!H78"DG-3A_;73YL%NSO.3WB"H)HO9 Z2,=9+X%)!HW:]Z@K^\V9MZ6) MZ'T,.83T#5J+I/.0%\/L03/->H2VH=O0 M1,1'F'3STN<@-/$^8DBX9 FO$F M7"FO."H0+6FWJ9+K\JVE8Y<1)F;:WEBP>B:_%0TIN6_(5S(Q7_TTT8HF6K>,-6WGK"H GF8UV:PJ4/DKBIX< M#]]0!P# +@'KQ"RN3EX>_ #>F&(FE__Q9@?G6Z*GG59=#7'Q-+F3<%4E-T)$ MT?\.G#6T+4?@+K+X2Q7=%L,934J_@C5%0N6#XS[[(8W?BA7G^A"'/IS],MZO M_5?XDZ8POQL^4OJECY!%5J8+,EZRICN7NIK-74Z-T#(0V>8$N6)N,Y(S\NG9 MARM1\.]D[\0\"[0O8II]$=,4I+!2/B/,44&BLF$MB!!&A>1DL#W1^!++5&%6 MTP7LUG7\_I0+)G(3LJCZB;&D#P#T*)@-Z=I%J?>>4\,CM9EK8TC24:Y$X5?T M,Z03&9)!3>E H2[\\&*?(5F:4[AMZ?YJ@FAA1J$AEE%"X1:U.ZLI6UVSJ[?6 M=%;M+^'#ZG[YL/D[D_!V?K6FM>/<91T-JT, MR4*SJHEC9%(+S-LEPC8@'KB&4>MQ2)Z$/\%#B M:OLQH7,X<;ZDVX@%MR[;+AWXT?,5[&I<7]S$#[WY+HI3_S?9/NJD(UMHSN-/ MK)%/&&]8NQS+V'*U>:?9T4KO\,TH9X!P#@AGX2+:7C F".=B1AXY'Z3""*ER MPJE4>9DX9H!&5+V2SO>$]LH[R&K.ZXSQ+CXGA*S];+WER__CY>49\GXCM M#+\76H0! _0\4U@OQ. MVH.XNW#K.X]^X*<^5=Q_[H"'9Q;&0E7MHQ4)Q5 ,N5+>-;S(+Z54,&>GN9?< M:CQ]96-K4WQ@(KF5OJ/(M:)1DBRB$#I#T-!]XPPZP3Q=.''\QO[Q)RM#MS8D/&,Q$Z=J+WH,%),Q84D9 MTE2QLEORV#UD1I%K7Y4+KLU/TF:FX/!_J"NV9+(Z42D85J,9-Q$GR%OR/3L#3;,DSI2GQ6.C/.ZX]!OZ3(]JX^2&_6 ^M M^>/H\/0,Z@/#,>>;H!54FTM>,6;.-8?%[0'5G?GJE".O2*/J;E@RJZ5A)22#Q;T#!> M-0 )&(K6*_EHOA*4=8V I>TV"I\NF.[M".#7GOT9H_^#ZF&UU/'<:,.&O8V< M<)Y^]]4?O[^G,324S[/65PG&W,B,="/S$F@4'1'A ;2^JLMMQ06Y22=A5LZ"\NM/X>8>G#"*2YG^XZMO_E 1YHJZ7 B& M]T>U@^M. \FU]16V<&I=">"YLWZ<]G-D?*RZ/<-XQYJ<#PJZ_$G(4^$30F,VY:;V4IH6Q(9#0'4R8Q;U(O76EXD;P34 MTAF= MY'9T1Q,P$D,4:GL,$=L:MA0._+*J='X^=4?5AJ" QK0!K0!U]9>"(FF^AA>% M^T^2 S^^Y< S>AE->/\IL:J/"2_"=W@ )WSLL.I#TYZB/EIE6*2AI/%+$$=9TKJU:G# M:"(5KH[!M'PYVQ0G5'!31UR"*HG.2$$U/ZPE)5WDFTX334NY/%IP7?*=Q1IMZ<^20F0U4^S81HL7 MST"@8W/3H*#96"M/4L.:D1R/ M9(AU\[+ EKH+5HCD9"+Y4UF4224$G&7VJW_08-I0]= JF+S608EF285#"W^C MU#7,LA-N.VL9.L^ H7#M)WQCV9RA@=ED32:F8Y6=C&44?,,!1^16Z'ZG4AUK M3JP[<%],]WBA9$+=KYZBEZ\]ZHLHDOVA#![97_YQ2Y^<8!FF?OHF><-."G%Z MF]0P"N8H^?FDP9YR?$E:G4$1 3;Z8W+M'UL,+'TCKODSSF>6L9A_X^IO)__ MS<&;_42R[SK&TVRZM?0F=%N6T0H$Y@K:8+2^>!8_(Z^;1WP,63(9J:]F; _S MZ3D*@C<2?0K99B2"'O_M\[;APAT^V_NL $1_#4;)=>P*G 87S\(V"C>9=< Y(S6^* )@K%&>;*0Y:[&XN?%4F*V+X7JSCKFEK MZAYB:._\F&K7,0D6^R$_C*C7T M(4CNG3=HJ\$;LV1_UC^-VHJ%I_"& E75OP4%Q1B,>&HH%\B,B/Y!.2:V MXQ]#M'T&BFLT/SFQ#VQ =8,F4]($PS,+%/V+%?F1 M*N/:[(@,T [%4&=&FE#HRJ'-BARIQX2G,->4[0V"]RR 4[46\!>9)#VB -$+C:1/6C@[3)[,]O0RXP2 5*B.@&( MP5&0($B0C>(+R/N7V$EEJ['!E[#GXR^WEY8(XF82Q[KLBE.U?.R[M<)NZ M"FY+27Y3!'4!?@EK0;G],3/MQ?6 002*!;6_'22YC_W0]??,%S@<#'S X.O4 MBI7Y/HY<2KWDFNE,7GHELW$Y'-+:JF.Z6#QE0'BKHYH;22<>2EPG>8;\:Q!] MXFUX>8ZU4?[D'[IB@X['5ITP_I:GMTFN.\^KO#[C** MX^@3G/4X>_9+^J;P2-U((%[@["%J[1IG!WRQK[D>>[]\[;3OUD0@N.+:JN$$:M]4<( M%AB E*-V6\C12(9GE5V8R?0A"M/GX T./D0'?+8:5A:&L'P7-5LEIJEB^>?! M9TO:!S^$E0GD6-/XQ8?60>+RY@/L#N0'_8:H:/4NG42K%,$8X6%6QG1@L*EV M DMT?4H$'G$S1$A>^1&\4!1G@V05,E!9PS&<.&;4*#"(5QPS1/X*5;D M7V5SV9<2DN<:)GCAR/J1P?-K0_A5;K7*9.1CL:%\A-9!A8-CBOX$-$4)79;% MQ_)MD\R!H$96V\JF&@B2PDML(L)IBB.X M3!Z8B_5?("?P,:'>=11?4=A+^2&W'P;W]!33)RBER.8HFP/I0X^3#H?D)4\P MA84KG7 L/'\[N5!MI=K[8DBP22<;E%EC/BHYL&'Y48)7'3B_7^GDPU?75IP^,G]AW@DE7G3'&LV[9&6\2#=:=X8/9N/", M)56WE8=FH[+M\">RR\9E1O["0*+X[5]B%9ILYO7+4#XL8>.2?.#/:B&:=F*5 M*Y%%;9]LVOM0P7K?OK? Q6K0 MG02>C^_+:_,5=J&.?D:)_8$D;"_/&Z'#?MW-:1YOZD'-A0;#/X'73;#<[MB3 MD5-B?R",%J1O"FJ2 @H@B.D%BA;L,O'KVG#B',Y^'SL^\[4_.<$!UH!_ M'OP]KZ*<+(TSRHC6A=1C3J1),F>$X6P,J\>3JUM@78Q+7F!@'I?D0W_N ?6$ M<]Z2V2DFG8_,H^QBTC^3H/J$DWN4X#G2Z%6K1D\66 \NC,H[>2]?]S1,* BN M*&^10N(506D8KY8^24F3?17G#W0G&L(, MJ3G7$;&KZKQ=W+:Z)G2:ELI8)*M]3IHI&U)NP#%ED(-BK<=:..IV6\0KF_QRUNB"C"[ MP)=7C6&%V/WD Q1Q &I>]ZOM4-Q"8Z""LWBVT18K-I:JM.)-1,3[>+99<3=9U-]D^N0DE R' M4"M'*Z7#?Z=.O JE5MT%VXJDH8F B@2@#M669%X[CVV)N8#6*OS+--J6OQ0- MAX-N-@BDU=\8;1*%:.YBL/C':9RA.Z\!"Q=WE([Z+T[S2]=WQ/L1,R1T=L2]Y1Q%JK M<@^4=1Z&!_"JFWRFF':M\PK!VM;X(S3KUGX*8%;; M_JZD*UVK'$V_26EQ0]V(VN:D^G#?YL+2C"81O*=)._R,71V M49SZOXFW+&Z2Y !52%E=AV(3W(:$EV,Q$Z>:6=%CH.133%B2'.,72.),)$?+ MZX:0$R>#A>*'(WXN%&T1"J&+V*63^,F:.7+'6X75UO7O%5-BCFY+;[%V$=5M MQM2X%G0<:V.NO?D8IT $"<)V);4G":SJ1-995B%:4HCVDHO&8Y-W3D*Y=$6G-?SF[6OWF7J' (J]HH#Q$,&FXX7.R[Y;R3ST6,3A M*GYF>Z8P<5P(7Y,-2*>8O2D&0GP-;;)IJSVG-OHH..^Q321&\[RGBD\J!'A_ MP^K?Q8-6Z3/;;M>1?N'TD5\ VC#:JVV%7\W;4 I8/-/0,E_5;BD@BH)J.)E$ MQRQX9*II?([6/06N*FQ'$BBJW(O'291\PJ>RLDZW58-]BBG_ MP\]^^GQ%]TZCL4E.U RYQ\E,IX S^ MS'@C&7-H+Z*<9GJS86IN:C[.S%GQE-B)IG&=.IX;_2XI-;$^AS!%M_.KG^^1 MR_N&;REN_9#>I'2G"K'''0*Q3'""J:J5$HY('Z?<<'0!)HFL8 S"!\%^@?D$ M$[;:_&7Y0.Y6=XN/#P_+NPVYO9E?WMS>;/Z.[7?"-&8R@,M=')(TVM'XUG<> M^55)D!TJ-Y4O?AAC8WJ+3@+6'8$1*I*-=^!-8KX"6RR!.?Z,%!1FI*2!;IR# M),TPR@=#1)-1ZL$?HA@:(CD)U YD=$B0TYZD@5O>U^**,N!_'B#J";V/X=[Q MO=4A35*'/Q4@NFXDUU',0Q_^/]EEJ65 W33VW65(XZ)..*EE6[D3#(K8B.YDTJG:E=6:P'@%%SR^.' ^2%0RDK6)*8H8&21L>Z V M[1,P-1/_E]\=G!&:\<(@@3\@^S4#+OX9^>(GYOP7LWY5GW4Q.JD,GW4^2O@\ M_RSF6>Q"U_D\YV.293G/A$$7_V[!S50K)MM$XW@>96Z-HUH82*P MZUQHDWTSDK]Z5Z%',H*6IO"Z3L 'N0H(4=.(/$*/4N_4KDO<1KQE7C8#6CP[ M\5.EMK7CK!C0L\^5&4^"B4MK)6:E:S/DNJ7)B"/NMO*&N[E#"F3'\@A#/]Y+VBMQV;EFB8[&?O?RYH-GPAI94,_&+;G$]R-?6H\O'L[ M31)*;ZD#+><3-_;WX&9T%YJT&(A]V=L%J35A5X/C=%QOXZ>Y_^<8,\)QX F# M LN.RSSW<025O6_WC&LPM>+Q$.W-BE8L/ TS%*BJ92TH*)IFQ%/SQNK!#\3* M#.7"&0FA>]C%P2,*ML\%"^C0U\PF\LRW+36[K5BV>>B&0.U>^A:U6-:(IT[> M^M::NM:>LBWGZ^5ZBJTZKP7F[,P98[R\EO\M+^?SY>V:C-"0-L4=1"IVL@8X M>-M/8^8T>\:(UWQSITL<3H6[8_$/04F(>(>8WQ,2+9W\R,/:T?676M2WBY5S M7LHJ_J&"CKE9&BI=\TL:R#7 3PB_=?S!DK:UU95[R4]1XL)53]-RE0MVP/$%?^?*((,/,(X.\KB7'QG0#?47[ M#@!=%&PE1#:"T"2@!MP%%S M6^S+9D.=CU:RIHG.2(4@J5*1UF;;N\G>8= OC5H,.VQ,(8C*KH[ T6U)RD^;_>1(IWF%J*.]=)-( MV$C^*HA-\>3/% R?>O/L<7BZ$QV*^8\;&N]4+Q!U)V-+/&DNLCJ>;*=A03QI MRF1[MC"G1#)2I*"519Q S:I,8F_9A3SP[BMY]T:=./G2YBQC;_/M2L2.9;"? MZ7:C@+Y8]E;=H_7S'(QV%+FE)EM+C5J\XE[YB0O9/GA9+&N%TL?!2<24T[%MQE4SV6'%S6OQ1P*+;C\UKKKGTPH#YDX#GL]::&VY7(E:NM89& MVXV";6NMN,U=I55G$?H@W8EA53=O]!#VG!ZM=2+-]8XY K M_WL)L7"29ZB_\H@?5I8J>.OB9?BMGTDJ4!A3N5!7!SI_3/BC 1WJ$50$[%BG MS,1L*V"18Z.O3R;L&9>Z%!8W(XP(^24G,_%EW(Z9U5XB?W#20RP*)&15$_89 MY5M%MCOZFFX^T>!%W#I2K5G=R=AEH"8BM]:9:6A88ZSM3'8P6='A^=[QO1GY M.W5BL@KM.@D9(#6SE-_;;9HPXYM/4<]I*+#M-<0C ;O87X9JI=G5>!MB;8R( M]=:F%Y;I_!_.P,C86";G\RWXEAM:5 :VYK\,6=T$ MNN6V5A&QLZTQ7'MMK6!ND*TQ*A:E_WL(RQ3_3W9;VGS+YF"@N1W1L-?FI,)V M,;P: 2NM3\)A3Q-T@-+9&**)W)MG&E,NEMTVV7,*;+:\/L9FI7T-.C] NLLW M4+;J!;]1NG8I[LU*V;O9[0\I]?+:\2/).N AW;'M(E1Q\]8$">\^KCEW)FU2 M#J&7U5%0CT2/@?_$!^:O"]1TCO]+K7@B6Z[X P5.0GS!0G%G@"$$0?0)SIKS MQOI;-A339:AXQ+H#/&#V:DZF]#$DPRYN?Z U3!HJ(/04_*'Q'4_E:Q0-@Y6@ M%GD466-@!9Q=?D/=+/9>-/@D+TYPH#6/8>@O$@*39DUO-Q%X MS#"%X2YW^R!ZH_3HB33E3YK)1;3@R/X\3$T%?J'E*V8R=)/D70$?PQ"@^3;#%,A/W) M-#RP68V$7XRF8L8@MFP8PY>>6:3A)PNV*LBB0>HLH3&/_\0#,P4- MBRA)'Z@;/87^;]13)$T,Z)*&C!!V^_RU^TR]0T!7VS5] KX>Z!Z:FH1/-R'S#3ON!R[? MLA]U+P?VHH1G= ,$KYI@#S(H!MF;SX8*YY1@1Y^!DX(8J5";D<>W L**1PO7 M*5O]@)W+0\),.$DR[I+YJZ\J0&_!051@$V%JJJI#P%'*=HZ:ZI>!D%\ "%NA M!#-7$=S:5PE9AT%4&!FS-06I N H1),#C0((L&$JH-AF,LWTW&CN_O/@)SY_ M)2]PI2^;MD(C;1?;!2BVA&I0O$QS&T^2R@ _(3L.0?AKS^)U:T&'5 C-R.WM M BN+W%FL)O^$H6"_R3I$E@D<=A*G%6?-_E8Z:O:7?[! />%[6&"2OW0I6>YU M@*:=E4.ZF.M!;5&0YM*N@[- 2;0+ MO51-QECSQ^NZD,V\(.-%TWJA#!GM>,N\KQQ) M!HZK_;P$)&-E&?@[/^06JK6!%AP\2S 2IFH/6@04JS#@J*%351Q20;+&1 8+ M14LD7'-91/$^@LY!=U&8V;O65#3P>&;2*D351)3 *.;1PHTD[,C@^>G7(70" MKA?4L\4T1A/(BMR9+ ]]ZX>4QWOZ-%$+*GJFS4@T20).BX>9ES-@K+GK7_[X M87FW(3=WUZN'#_/-S>H._03O1.*Z L-#_2::1H_K7?< M]&<_?5X3TPQ7=Q]3U\YHW@Z>EM!B895^M@M2+O93@2"5>+?Q("KM*C!EA?PMH4658 M19\1MK/9QY%W<*=_,JK5L(;)R84;[9THQ6GUPMG[J1/P9WD\'^JR$_ #]VPN MGIV$KK;7_BOU^!M7T@M2W?"13K3["%F<<7=!QCOU[LZEYGZF*X@Q_UU2$QY] MG]$#J"U0%.^J)UBGXB.(G9$@51H$B)"<"KP,R>F(5^E0;V*-*'#UZR+G20 &TI7@ZF" MMD=EC@30:4T&:H7BU'AIUQV MZ/PLBF'O@A3#6^5#FF*,U7 MNB1OFA3KDE6 M5',QU7\]>?&:;/CFSC\#PE938X8O(R?V8!^80]NUB;AM.PA6 M@EOCD1LB:)SR+>XAKY89 ]<,&*).TS+WW"K*Q\OU\F\?X5QW^1/[W_4Q^]6_ M,V*__OG?\G]A__/(MNQ__O\!4$L#!!0 ( #2%=%?>BN#Q,4D /@&!0 5 M ='!C&UL[7UM<^,XDN;WC;C_H*O[<+,14]V6 M[;*LB9W=D&6Y6C&VI)'D[IG[XJ I2.8T1:KYXK+GUQ_ %TD4"1 @ 0*$'3M; M764#(#*?!T BD4C\U_^\;>W.*_!\RW7^^J7[T]F7#G!,=V4YF[]^"8/UU^LO M__/?_^L__NM_?_WZCYOY?6?EFN$6.$'']( 1@%7GAQ6\=);N;F99M M=VX\:[4!G4[W[*?+G\Y^ZEYTOG[][ZB-&\.'=5RG$S5V_E,W_<4P:+A?F"]@:WRU'#\P'!-\Z<#R M?_&C']Z[IA%$&CJJ_O;LV6D#%S_OOX4M@?[U-2WV%?WH:_?\ZT7WIS=_]27N M(D7[7U)AT ^*Q.GV^_V?H]^F17,E2UJ&O[4(Y?<*^N__Z'1B17NN#>9@W8D^ M^Y?@?0?^^L6WMCL;-1K][,4#Z[]^"7:F_Q7!==:_.$-R_Y_;A$_I?P?.:N0$ M5O ^=M:NMXVT_J6#VG^0&"9 MABU2QI,/-2#P_K?^=#W= 2]B$&] 2S_2L*"+P#5_?W'M%5P41G^$OP D!>^?W%3EW: S-W"U8&F]5-)JIS+EC(\-S(!+^#'B+ M%SA21KL*'2QLA'-'H\D[LNB'[G8'YP V:ZVT'<[=A?.3">D?+[!P6O( G(SF MEO\[>X\)37'N]!1.D]XP]-"$.?!]: ^Q][:H#<[=G'DN-%V"]YEMQ'8W7,MW M:/Z?@("]P^36.'<=SGU>"%:C-\2\*G-!K@'NZ]ES!1W&M42P<0+)'Y/IWC*> M+=L**BU*I+8X=_L>&)603>MQGXBV6RN(K"-(;CB7H(47.-76=F)CO"=\L$$? MJK(U)[;!NYOALP_^".%71J](+Q4ZF6M!OMG7J/DGV@Q<&L]V%5%.JHNWO*IV ME-!4(U98U7Z36VO*(JO:^](&A5MG57N.;ZE!2ZUJYVG:%&NU5>TYIAD!%ES5 M'A[7%6(65>U8MK9P2Z/RA(9M2?Z2?@L"P[*;6='WWQ*SH,,?&)N-!S:Q_QYV MK[)PY2V*$0%.5@L#,N/.<[?#T _<+?!J2T%N5(P@:!/@&6:RCB2[ O2#HSU6 M7;F8OB%&S,$*+NZ0^89]-+CKRD5N5)P+LG*_B]H0;Q97[BZIK48,X^BGT\BM M/S #Z]4*WBL+P_Z%ID7TIV& 3NM1/,?-^^@->*;E0WO-,H$XJ6D^VH@B^,X0 M5;[1U(:ILE#E+0K?,E7N.Z&I!C=-E;M/U:C8;5/EON/:$;!QNG>=S1)X6_3W MROW%-B2@PWQGG?(6&_/QUQNHY":%;&TK=_BDNI#.14I9A#M8%0WZ#+;3-1DG!ZL)5_Y+@XZ[J$N$:*NAP4=O'8<+]N'$G=M_<&\_ _E(J95%; MMN=EFD*!TWT4.-V]BO20_4+MGD(# 0XWX=T]_DS]/KMP_FN@ST>?.>KS[L@) M>0]_D'P.-<@E7OM8(O 6 &>%@B:3GUH!^LH9[.]9YVLG;>CXKW ;VHE;[1PW MB_J?2F"[9N8K-HKV=[V\XGPH2J0U'Y@_;=S7GU? BFX?H+]$PS/2%_S'T]!] M!=[@V8]\8FE+-E+>7[\4_/YGT?U)];&$+19TY_C73U<7UQ=7W>YYKP\GF^OK ML[-O)QT\AGS@93MK>&;:/OQKC@79JP1)B9]W44#H5_/%LO?8KCUW6ZBKY&LN M9<]=;P6\OW[I?NF$/NR+NXLMZ2\=*,4:0(,TGCL(O8RZ:!\1OPF@_AX:7@ \ M^WT.=JY71"%,R:P2^KWK_D4+X*,1(D'RO !)RX7VTGOTN^:&DF6?98!)NGX&'1?)0I(THEO0^0?!* M\O28VMFFZ\&9/#G @=/&$$4->.]#=X4?:<1:;82,7: $Q9X2*"Z-M_$*:B * M_4 =*1E?F/)M1(Y%E 2S:R4P&ZQ64)E^\A^X;09=+%X%9=N(%:T8"4Y]E7 : MPK].O:7[PRE#Z5"RQ1B5")'NJ,]4@BB:MZ?>S'-?K3A[ Q&GD^(M!HM&DA2Q M(B>(-,1FKA\8]O^S=D1KHZAP1L;N6:]_?MIY9=$JER/%2K:; TT" P\8&'2. M?]TN/$I[GB(@VX>!LL[8LQ?7P>^83HNT"PFJWJ=H%'DMFD1C 4QT*/O>/7]> MHF.' C1.B[0+#:K>IV@4N2":1&/I&2B\Q$: M&P6C-_/%<#8 XY,K*M8N%*@E2,%0PQF0A$/&#GK$(JC-T,=:5\7%VX44LR0I M8D6N '7]X&,G $A\ZQ7<&H&1R$OPTA45S^JC>WUVWE<>609)4F35N]$]W=^U)MQ*=<@/3@MLAAH.Z 6VP-VSXD?L+ ERG51OC*!4CA:TL( M12S7: N\#5P(OGONC^ %7=DP'/PH+"S=1CCI!4EA+7(TJ OKX@78=AF:QX7: M"&)I_U/LBEP4ZF*'XH&3FV+1Y;_CBV)X$Y50J8W8,LN38LTI;$/&J?\0H"MF M]MA9@;>_ ?RX/2G72G@I1$@1Y13'(=X5')O<=Y9O&O8_@>'AXZEP1;-Z@']> MJ'S PB1%BF913(?RXS,-'CN(>@=_4F3N8DJV"U@6(5)N_?LXIXA[^ M@,==EFI)^X\AP-YMZ9ZANRW[#\"_#Z>3V]%D,;I%?UM,[\>W@R7\Q\W@?C 9 MCCJ+7T:CY:+SIS#]T'_6O.ZR-OSG2*VA_W5C&+N8K\ ._/0G!^(F/WC:]W>Z MWM^+F[EQ^#CF7@SLR!-+]:>+^KZ\*J(E.6^*A2@NI-3HK*3GP_AED)#3W9O@ M]+:<#+S31!,TL)^4S>KFHM<_.S7M&D2? 3X-X[W+#_:MCAZ3:(J:["U*!!.<^0ZE)S8@RT.IY=J=-%G'O/GP,3 M0/F?;90$KOBXCJ:*=@QA%I9P[Z]-4TF2(.\W*WA),P%&:BQE!T5-[4A256;" M]<-632)C!Z5@<+WWN?'C 9IH'K3+4!*-*.5)E)B[D"IEU;3C226!.=V#/)Y0 M#EZ[2[E\^_#P3)=SR&@WFLY9? U]64-H\R<[E^J1)PH1U1& MEQB>Y MJ1PM*$0EW.%MDC]!@KC?A+]?\.TH>BQPCN1>W2TZT:*LKQ0A.1YRU9-?#6#Q2 =T)*+Z" M4@SA C&1,332ZW%*FI[HS(QW=)Q#=]:5+:PZ-VC Q!]U4') M4%Q>6SXPB*O' E)TDICALZ V.G)CZ.HU%0ZJTL+JPZ"[CL3NDE%V!\REYQC@]X]JMN M*5M*:GT$VE11@9:G8]%!P)%RZ0Y&"BM\!-XP2L_)R%6+,D?BEQLD'X$49>+R M,D>/#!+9'""\@X?U?&!K? 2.L(K/R8B5'O7-?#A'JVD]:<(H/:]H/MG^U'W^ M&.+MLY-B68UE*"15@]3ECFZ)U6!ZQ&AN? ==(?F&:X#6V4>. 6K"W3PJT>Y17UI$A%N94X M6Q%@8U#;%GJR@5).7D#50P"4Y(9XC:N]#H@O#I5BS6*I;*916"\@, R M#U9(:5Z;;W7SVG3^E/FPKGENNBC3O]RM!M3SU(LZNXH,[1GPHNR5Y;L/7,WL M<.GU^MW3"Y JQXM&D!#W(TQRZQ']E4MM.@B#%[A/^O=A].-Y9DS)Y[39DY<+.%_'D83:%U.[SK3V6@^6(YA \R5_EK944S49Y%CB2"/+C:>#Z>T[ZZ[BG;!P'NU3. O7!N_G.,J MZ((ZHX1ZV'3?/=?W9YZ[QGJ7CTKH@G292+Q,-+D^P@6P;?2"#'#@PFM#2@]6 M6\NQD&K0(URCMQU:KW%>8ZK*NA"BAK2:9 F(C3-G$RONWLT]E44HJ0L+:$43 M$-K$[7).%*L7]Q]EPBD_B.MCO;?0=@#N!>&/5L"#MD!7.P#IU3R[R\ M0MMQK2@AK\,ZA8;UQ'7<[.I$'N#8\FVG1#4!$T;4?81$LD%_,$ONH/KB<-H0 MRG_PK-V M>N!?7XKX(_>H!:A])9C>.]CJ-HH>!_=2G8CBS>=,;'KA+ OZD+$ MIE64NI_J/L*K4F#]7C?)&+Z!^S"\0P)36B]"T8F7DJ'UCRU,0' 82(-7P[)1 MHI6E>W2$D@3IW!B^9>)6/;96=&$,#[%3)M5V9\I=(M%CNQYX@>/&>DVFW"@= M.!Q.^%-)7 U=^,$J8LJ%EOL_T[#@-&*'-',4EM4%?WKA4N1;[LT\%?C6LL, M&ZB"*9U54+_7/Y,8"\L1?9)X*?XM3R+R&T!YG\%J .T:8P,FX?89>--U+@B# M-",PM:$+5^H+G3)()Y\J1BO)0*(-?V)L17-*,8F=DHKGE<\\J92(DLK?1V"- MEKJH%BVU6$Z'?_ME>G\[FB_^;V?T]\?Q\I_JO#U+?:,:$[M'N#5R<2$GIFK? MNR7:K6$O;QT74G9.8-!TP>%[N8R<8JYLB;?U$AECE: =F>M$>1'>+-Q).[&. M4E1@0)( /[686#;(C8-^ &AI*P]^CLNI#2 U%H7>!@I)]8BBQ%Q2)S*!6$=; M5K!+S2F^4KIK^_26.I$6BKW+G[PS3DS=NB6(T(1ZS97[E%O7C$6Q%U#?3!60.H*'J6P%(;O?& M&IX#T]TX42ND5*RB/ZL7FZ5H2\"%+FY7>TBKS3XU-CH@]JU5$CI>=.&G0C-9 M575[_>[IB6<;B,55>DXYI+F^4<#&FWA9J$\<8COZ,X==?$ZWR]1ZWH(TKJ+? M32,Q_=$;\$S+Q[L_6-O1@V%\Q>=U6TTADXTX^C@0C-#0AV 8J_S<;I$IQ+', M-1B:&T)Z,:-<-%ZWQ50"G=MQ3-OAIY2/USVOV$L_[/YCS25Y6BY >#A:_=.[NI[_)SB=Y%&V[UP%;.'2NVE/O M_$+6HHTZ,_/<5[CM6MV\/T+$Q\X^%=/ #*S7.%D_^0DM]H:RP^:\=]W_IEPT M-0:HPM6?A_AZA&7&J?T(9N"A@%(DX QFGB4E<@M]84OZ60%*L@&U&JVR2Q?Y MDQW3LD'&;EZZ?&8CT9_]6+25HDU=XH]O >RP:45$@'^W0<0(9S78NEY@_9L4 MLT)354DF2B%,GK>5]:?',GPLYCY]OK-!>99Q"S.IRB?3"#,DJ]XT"<9EB<"C MB2G[9%7.R4"G,3VN9WPW+ FP*\DH8F*8; M1O>73&"]$M+WT%15DE$U@:=A$J4FZKK"5+'Y\PI(=SWHYML0+BAPN? &O@_H M)REL"Q^54VP*J>L#4Y=:8^<5@@'79.S=*V*=CTJ?,A5H>=6T0*_H :5AZ"%$ MHM%#3Z)\U8_*)4I-Z.+2PJ_O,^.]DH64U/NH_*%1@QXNJD+9O1!VWC*>+3O: MM["PYZ3J!R80C294OC*)-_#PU*"OJ#Q=7RO@%&_*[*%6B."[E')X1N^-JQW*K"3+A'DC:^J%5V86N:_:8)2 MMJX^CX!Y0D-*L4U0P#RK^'K$44$MF "LHM.DL>.'GN&88 &"P([46J 4?& ] M8T-*D8HS.?*LXZ0?]0+U,1;\+=BYOA7TU1!YA^AY8%,H 1ZQKTD5(6^@8]!*DYZ$>+Q5MIJJFTM?2Q^U=2+ MUC;Y/@R_KDU.:$@IM@FRR5G%UR/L))VYI^M[UW!(EV8*2BI%"\[PXA>Y,@4( MB24YF$Z5WA'#&,['&X4YV.T%G(-7UWX%'A(4KMXWKN>Y/]#3&45&-7,C'X,V M''4C8/LO.QX@UBNX1_[]0VLY8/Y@9B%@GJ[AOO?[9F8:DJJX*+:-* MCH?4O>MLT-6>6_",,WQPQ3\6=YBT("1RY$";2\4MZ=H6],>B5DV]\(HTD;M/ M0QI _X]\'J^&#:+HXS2O.OH%7/"S/S@J&2=:S)]XFG:('JT8O9DOAK,!$*SGJ=SP[;USU^I=]!6;*$@H6+)KM5#2G"=KFZP;RO>!H5,)_'48D_,=3 M7OPWZW3/@"VG)M_:R9[#,&!3MQZL0UA$K]ZB)UI>K-W2'3EP'7^/G[NGX2.Y M!:68R@9P"3$JR-U*R@Q?+) F\#3LZ7IMFOD6!,Q.8ZH!2+M5EZ%<&14_1,Y0D:$WL%M;%UG>A!I5GH M^:'A!$LW?E8M>G>Y,-:JM)*23)9,@).8K&HZ;,UEF-.7^08^VBC:P/RB?S2IG'2:F-A ,*]%S>6KYINW[H@5O@FYZUB_/)WX0^ M5.;A-1VB/[)[!O^O\[5S: O]8[08SL>SY7@Z0:['F\?%>#):+"0X%Z?>QG"2 M3/D'MZP5OR4QQGI\I;@:+<70\,9N/%J/)1Q(&>]+U M-.%V+LUH^MKNP(9X4H/^)KJ:#EHWO_O :U M 7"9'^'CR7#Z,.HL!_^0LJ;O93ATBF)H$VH]G9^&\4@3I&SXDJHH.V3+5%\4 MA<0H9JNM]Y'A.>C^X@QXD?=DM*,=G-_R@W,TF$^@T;WHS$;SSN*7P7S4^=-H MMI 1)70J%\4HQ55YZLG9;9_VIVQ\8LLK.SB)&L^/3#8!!4<*GCI4?J(OE=/BWKW S'<4 /LQ&DT6TDY8P4 _]FJZ/A8N.?I&\?N!':#]G M_+KEP[E>PT_G<@8]=:\S;NZRJ:%FJ]GQ=0W'ER+..PX8%QQ["E!6JVT$N%,Q M =JLQ'[0(>RM%H2">H%A.81L/)D-(:G>TU6EE!_U+TH=PX5Z2&_BTU15=C(H!R,_UBL+ MW/*]./X1CY*Q?)T?R]/E+]#<'S[.YR/D>U\L1DL96_.9!W:&M4K>[H0\B&2, MA4LE+1_1#*T\R7'"Y:$K&]6$&LH.9D8<\B.;5>A6K]#8M(U'U\M*!G8_/[!G M\RG?.[#XZ5IO<=D9_?QS/T"6A/W[U MY#DC9,5%8ADVC15.J/74E7-'_.1]IK1GF0=WZ =WQ=:R7.]?GZOB]RL#+#_$ M>6I )\?@<=*TDA%?&'=W(V,)1YUF.C\KKO#4E;._SO:FU/567%K9L4G0=8&K MC$&X1@*QF]L\H[?=X]U%PGZ'O@^ .6CBZI.AFF7R/6HP,V48C7OKXI4DDF?T8/N:%E! M>O4&A;A9S@8X]$'?W8*8K^'TX6&\C#/3(!_4MH MMC.EXQ-7/LO8+F3LJ1M-2B)),C+9;*(LD@D=BQ=-CL4*M\68+EQ"RIV=<[MP MV?E3^G$9X=_<[U[*B?5((#_IV'O\)^4ERY+*2DT'#&CDYX4:\HJRJ)MERR/R M/(S\P()V-?8)E&PA?="GD$N)U[AQ_C/KC]!:P44%K6X!G,PMP[YUP^=@\.R& MP7<7*B**5?0<\N"OUUC[Z2! ?@$/1LI^?VL"?AQIU',=^%G&5G-=K,?*WB7$&_P]S?;_SI[@A&89CL_?XK^7$&^:BWDD) MOXL+9PE]WKNZ4.1]"E;U%WEHJ07&VHTJ@'KS?@,<\V5K>+\7I+.FK:84T!4@ MHL"71F*UD4Z[7Y@HFK9:.Y"F 8L&>=QO=O8;#STJFYTE_;8<*:XQ%U>MQT\ M(4.=YTIUT86Z_^58[VE^FX3+ M1B73O<0S+57W2M+[I_OW+4Z[AD[@3$CB6\L. ["BFA4JMI8=$!?79Y>*O+U+ MA@N_]/"0OQ%C1V+"*Z89X2H_(^#27LF<$53-?]6]E!/R%:;PCPVH*_=0?A,$+[.:_P>H13EC>D?I0 MX@+_YCU]7V3F62:8H[=.:G.Z]H<_.=^$0CGM&Y6XDH[-%L>T>O?RJS.ZWV3=]^%\-JS0G$&A\6K'P7R7-LY/BJIVAGS9ZW>O%'3CX'&M>X:< M2*STT92(,V15D:8!J^X9LH*8ITETYL $UBMB._% &5>\)1A3@)/'F$EF/:+& MA1U2J\J,6O,\658A=OS'/F)4E45D(@@X8A0\Z4A*.\RT*;S.;PJ+D@_+W PV MGX6X*^FE@H.K!(,JO?.JK &E9H1:.)$\3I6TT.KI@)2VF&EBZ.4N=4#_B17,8.D>Z9Z8G(%?ZTH- M43)T^]0,@J5O)/,:7XY%V_YC9? A5^5FV\TJOF(+CLNIM$LO)=30\%_N;/?' MJ>26LZE").;FVDT@/N(*OIHAQ[US9SEHEHZ4L+^G\F $H4<;@\O00LM8Q$M" M?7+"Y!/],MFE!1=Z"M+]RC12.>7]?9*3 NK($#OIV!%B-^_)+QD"D5E:RPZ! MJU[_FPJY2 E D3:8]277)V]PA5REMR P+)MN>K@\*WA"IT:JTN3;2FK(!@4:1PK;:4G![(^C^Q*[E*KE(L(?*FC1TH=QB==>%C@_,%E4*5/TKY M)8)2!:V/'L_*.3&V@!A+C"NN%#\8,2P#OT1*CB,<-ZT#[W?_Q?+ O6LXA>&_ MN&(M@*5$NZ=S,Z6,0MX+E;E.WV,"?&NWIQ1%1,[L8C2E3?0PN@_YXMI0&A]% MM03O$S>(K_0O=K85#%T']M%'GC6DM2YF?6!M1@OVD1E2L/WDH23U3DTX9+B& MZP+7/3\5G)U/=%:E&8#0T'&5CXD WGH2&C>+#D$1&I, M;S_C#K"/BGQ(ZI0J0+W4^Q@K;.D&AKTG__[]@2(#"U/T0Q& 61&-'(OP(,(< MO+HV7''1GF)H[ P3PX*B]=&OX+>@$4_@<9;J^"" MDF!H>-X[5.BOAAUB\R[0U,TJLM?KY^*)-:)3?!Y\_2)CNC'A\8[SZAUJ0/6BJ>?OP\ X M=E90?,\R;#R2IV7T I-*.CW>QEA:6VB@3]=+SW!\V.WI^KOKKJ;> GBOE@D( M,084-95B!8=ELJ[H!,K(S:5:(A QHH"JKI),J HC,R&:697KLR#I/9RZIG!' M#84BYRK#EF\CVE2K0S7)]4A9=B3S()BY%HHR9Z%(0:6/Q!-:\?4P*S"+['U) MEKNR:DH2AH-!44EN >=T$IA2XG0:.Z8=KM"% -\'\'^KI?&&(4^%EMK$)S(9 M\ISBI8Y6W\U/E# !0?2$9:2,U,O"ZI8_Q[OE8?L='WV@@Z#LF.DG/I)O7L[. M1:AO_KK7OVKA"]O]PA>VF<66[>GEXIN7#&%EY;/YYA5!3(!O7C)^#,JOY)OG M#QS&J;N?*/ ^W9,BRN' IM(3ERZ-<$KLTTOPNRG'[T9G_$C"*;%U+L%O6([? M4&?\2,(IL:$MP>^V'+];G?$C"2<@7I0[?J-R_$8ZXT<2CE.\I_2K4 5/SRSA MY]C>4DIK*$4##MN)JB(K>W:9?VH$?HSM/:5##2719H6* NP2B54ZE=Q;#J2FJU ^<2E IPKB"U$KL>$7,^_T?T%.&)F-F_7&ZL?:X$W@*>TE,$[TI@ MT6!.(;M**T%TA',XT2'._X5ELQ+V>_VST^1-2J!+ 4L>77J!]9CP&XDP4(0B M'";\2G(KL:'G=0Z*8T3ZZS8A3X8-&PM 1%EVJAW^)L$,>.@'Q@;@LIV0JNC, M!V:YA>:*2/T&34:$I(?H\9MOZ/)J\H.C!V18 T1RN7,/ 2)IZQTC^E['<%8= M,_V9??AD"P-&F&NK8RSPB1)19&I@1*]::$CYDB'7&9@^)8WR,?DHP0$:VG%Z M<,O9'!Z8]N$6RK+AES<+"%+HE_B'ZS:K)&&84<\31XA>E"77L3S'TA ]#N1* M2A)#"*I%1BFS9E3R1CPZ<-&VP2JUK8GNB.+"2J)? 98\M@SR*N&.P)P:#U;_ M@LLGRG+JSSP7SI6^/S/>HW\?U(0_46:HKA\5N&A B9">3U]5LU9%'5^5V!UJ MXPZ-O!F/]H\3$"1/EN/]&F4UVT2>"NZ-2N(+3=%P*<'+,5BMK%B&HW=16-T: MEWBWQJ']CG7X0 N=&!6O6ISGWL=J5,@Y0.LP2MP&O$C[C@FFS[85#Q_TX+>) MGMY++K0NX$_]->RYE;P*17;DU&P\,\"^G?7ZEY?RYIM^0Z MQ]QP-D5>DS61(/0MBT6Y+$KL_2M>3GPCXWC\^[;C6"J+'MOTVJM&V8:>WP>48E2C MJVY#NM30G5!;8[""Y:YPL12\FM>3VF2V": W29M"_1RG&504(G<=YF85V>U= MG5]]TI)!54(G5)YOL%*).'2W.QM I=X#WU^^&,ZWLQ-RU6KK8Y.-O^J$/FE3 MB7S-3'B'L+XZ4]^AE8_-2YY*$_JVCAQ&%GE3TVC*][W.3'?C6/\^'#10G%SA M&_GD(R>=";GZ+>D=EOAAO*7QQAK!>YE_>64\&4X?1IWEX!^C!?RGS(.MO5B' M#I9$Y!)K2)@@]OU!Y'=\< ,20I\#F>,"RB*;+[8S1>@TG/.OU M,#SG1A"%X5M.B*; '8BO(^"<9_0-Z$"1FM+JX9"]3?H*I8_O::"'Q&+0;-O] M@5947.A4>4T=6%)53%&9EAI9WT>&A\PJ']I5BQ>HT=&.<9W_EE_G1X/Y9#SY MONC,1O/.XI?!?-3YTVBV^$^I*_ZIH!2Q*[@J3Q!].7>VS1>P"FT +5ST*/'- M^] V?)\4?D*HH=20I5=[?MRRRLC)"+"ES>0#N&ZM+#M$*]H"F*$7W78;O:$< MU& 5Q^)L=V&0Q/V=ZO/FO;@!TI4=<5]4BH95*94G9=,:TY34*$T;\4906;6L MLN"?5Z?GA3+N!#5,#EIZEJBM]1P;;7>V^PY -*BG4?>)%XVPY5O$JA),"S9+ M3$(K''3$XFU%TWLRV=^7Q)T4EE62$/57,7I9.>V1Y7M63N=:P[?,$M<@L8Z2 MS*#'M6!^8)96CSEB H+8H7#O^O[@%>YCT4!:NG"IWKI.I,H7UX:2^I%&,%QA M;$5)]K S(,\B'GK0Q9O[&[ V+P%8#6!/C V8A&BUA:,3Z=:?AH$?& YZ7(C$ M*Z8VM&55?2UHO8ZQK%_:

6DZ.7=PY[K42Q+A%.P8X8MA,G)-:2I*%IY%# M(Z\>QT3T"W.BD]J&3M*.DARJPH,ZQ@Y)%^J]>2_&\DETD%NT#^DO6&R@\M8T M)AY/C>@QO6$L1)Q.V*QM7"L?C6&,FA!L9YV>)TFUL]CL*XV)PR(QI_A>M0A2 M\Q!HL$5IY<2O-X/%Z+8SG#[,1I/%8#F>3M"OT.(Z1O)!J0%#AYY/ MU\>*F0/;")"N_,"/>/&,5);] M4"3I]>"'X:UB$AU; 7/7MN]<#_T2%[\G^'!0-_G-R5_^ZY M/BZ"0L"7/@< [P% J^2Z;J%^/ 0;\"'^V(G=7^9J*+?M34 M^D#[^<]1PWO4U-*\$D]V2Q\[HS?@F9:/3DB$#I+<=SY' ^_10*=B/1Y&TVGO M<+KH?O)>B(XYY0F(=P\C9Z4%^4\.E)(I!,P\RP0(R753?B/*CBBU:K3*IU1' MP7H<1C>D3+EC1:D!HAB-I8VO3V^6S^3_$#&\^/7@RD%_VKON?XU"F4YL9*TX^/PU&YY&/ M5,(PI/SZYWB3Y#:O.K#D^Q0Q"<'KZF;L!)[E^):)DK/ADG@)_))2(T&?9[,2%G=B=_V9+^G%,N;YJ+0C0R%GH6YX60_*\)I701[U\O2#=!CK V, M%)I/?PX:$580N\J%/H[23N]:^0YND+P4#1H93I7[\SG&&M[9L^"@D1'W7*[3 M9_*\A79O69WAWGH3]\'/T9(?+=H:$[1@AQ3-?M%Z>-"H6$O@;<5Z;YB[()22X7B?BT>JM5H<:BQHN)=\#BEG@LRHBKT1*DA MHPRQ^9M=O*#1Z(YR#6TR'^;BE"QJ.\.O@Y\#M)D!*A@QC6*]^6P^)0_0"CWY M'(F->RAX##E-\QEE,D&_9V(J6%,1WW$,?.L_O'9#T FUH3?"9^*A@ M*W=U>1K5WOBK:X631O13?Q &+ZZ'W@1^A%SQCN@VLPW'/^'9' UHRH?;!'PT M.^B_]?I=B:G=>%.D8%IM7IFM?RN)LZ8(C\L)^))2_);(0EJO+W]E8_G?+BKG M)2:^1B?@2VI2N2$6<>4ODX8Y\A=SQA#U8.J PA?H"DKH1@0F.$X\^!2:4<+; M1X)^^<,M@7Y?XA/Z$^C)FM'(8<1+O_8^P-X MB>JV%BZ)NLA/JCDRFB.EZ!%!H6TE# 2UQL7C;M?TN#CYY.>X$#HN:+3]N5[D MU):^:G-T;I"<)#0Q1/!?_QPM0D<+H^)U#G^OJ,&\YH2$>37>N\^!1W=RK08P M.L=:BM)PILH-V%B.$[V;#)LS&6^RR.GBYQ"5.T0KH,/IBH *XY2W"7(4V"/! M\LQ_/8O?5:]_85!E.5E%8?U0KH9/%FE9[3M)_- M3M\0+W"1YIG?*86YC%F>K G"\6^::>/4D2H84.S /OJM4J"6*[D D"I#LB$4 M'HPW:QMNL3AD?J\F$H2^9;$HET6/N"'D%9D86]*]G.,B2J':]*1)K1!L!(!$ M@(GW5;*%E 2Y5.EXG)JQ8#$Q_J,_0KA8CAT3RF>] M2G\[/N%3[DGU@A*T2O MU[^Z4@<:*ENTHHQZS+;Q5 ,_0)AN,V64Q+OI^;9<(]C(#F7.?6ETQ K0#DJ77&= S_P+)1[)SK6*5QEB&65A+\Q*/,LHE>2'BM4 MY7PX]Y5NEK$TK"8U&UX+!:E1CY KJ))MDN%G:.RLP+#CH XB('W"E9WKG<7 M!J$'QKX?HO@S#%>9VU&3FF*HDNNR;3-.[K-*:%]]R*^\[' MYG,SZA3Z/(FD#%EH"D"#'*QN0\]R-O&#+;$ZCA.OI3%56$(S-_3!&_4,. M'044SFF#F0TGD6[O5$4Q/?_P R^,7 /3X 5XRQ?#2=0>34_[%^]X+S:,G\\" M>GU]WC^-/]9^!,G2LH ;/8=!6GSHCPWP9.(X%IP'? M\-Z+CD^E=.1CCA#%],WI%@YNB4GW+XUH>0>[(43 M6(#F,@VQWM-5[]3::\H5?00@ZB+IXDMQ8:4F%4:-%SF)J654\\9)'?!OWF^ M8[YL#>]W0N1'636E"%$!5PI2T$BLTGE[7H"T^\3 C;)J[4":!BP:S"ED5PGS M@6FZ(;17YL $UBMB.S', E>\)1A3@%,0L<4BLQ*!$YAMS=(S5N @A8\/VRPN MF16X?WUQID H;4V06<75(Y%@P>Q7$LA)J-$.6M1ZSG06>ZD?6U8IY!B4GT6,33SQ=YS2 M3@SPYO%)$>5P8%/IB3%,(YP2DV0)?C?E^-WHC!])."5V,27X##5QA5XM2F]5-!*:%X4I)L0>^#X(?+:8O.M\3-YT M^CR;(S6"Q&RX746+R9!W:&M1J]H8!.E#LA$CJ6-A6]/#*/H96G M?/1#HY(NC3> S7]V5$2IH5Q+U_D9O%1.(2E!95\03*0>.W L$E("G!;[ $0@ MRZJR/S018!$^^Z9G%;Z3@RVG([!LPG):J@499K=@Y_K67N0B6$^*:(LHC9Q" M]N[\# M(+[S0YB:"Y1CA^75A;'$\@5UY 2CM+Q>H'(# MP^:]8H^\P)R#=>BLD%^AN2 M6)E+;U50U%2*+%SP+O+15%.#2G'Y>$64W;^@J*DD":JBQH!_B094PO_><%;$ M*QB' NU"LP2#/)HE@NIQC'X30DU:S@9J*OWK>+OSW-%$@J9 MJ/-C!^IV Z4FSRVD*IHRIK+HNH3[855X7Q(*6EY12N^ A%B%4%F8 M>=DU#37"^(K1 HY=YP3TP?#!'>5:GZT@/U[7 M716:^,<.5 GP@Z'K!W[R4!3A42-<<;WIQB1U(Y%?C00&P)'BA2 -IF"[4=$] MR\<"#(;#^>/HMC/ZQVPT68PDWZ8PWJ,<>6C<(SD-FR:O,:'6T\6YG-L2:1SB M'$23VKUE/%NVA=+_DF.V2NLI-:B94,@/X6K"ZG'&&X%+# MU=")):QB*G)]@\>M:V020/'7P/=3;H.4'T=S9W0#?O#K@=W2SA?U";7R&WMQW4JE2?0"36P?U1 M[ X@%WZJ]'X;EYX?7NTB!?<7E,QR]:+7/U<@O?E12"M3ZR/TLX(2 O+S M!94%F0:X,LBQ FJ&.$HF2(S!QQ5O ?I8#,O +Y%2?*;M16"L3!>MB_>NX0R" MBY]Z_20)6WIR5'" M%,9V]&0+#R7H$9B?5>5]29@UIG0+2%+=LB1+J<2\P9D%Z4'78(M2AU)1(5NE M!7P@HUK&"0IQ!9@=L@.E;Y..)_%5D2-\ O $*2RM)3?H)1627EA%'E-LY$&]9C6DFA"5\+)D"H,: M568D^?B"J8T/RS62_"IF.6R(6K4XE57F)?RS]S'(5"BXD&-UV2S*:C/=?,*!ROXF-: AFVH*KV&>1J21WP"Z[ !6 TAU*/JQ6@@D(M32E#FL M$O,ZM)/TZ&[DD!BX:AZZ,X? MS58#(2(/_.AAHZ$%E2-E- M42[JS.]:@"R-#5TN$V&*/7V(L2%H"D?@R6^SHGQ#3Q_+?:6;K.0"0 AR"-_) ME*#P8#G6-MQB<_;SN.I;*H%VKE _.G MC?OZ\PI8,8SP+P<$X3^>[L'&L$=. *?A@@6KH(12*%9?MF@EPUJ5PI&).U;H MU3G]M5*8T&HVBT6I..+=-=%&8^R8)=NM?0GEM%ZJPZ*=%5D<(?E49:3WCI[) MNC-,= 6V:*;#%U0*YOJ^;DH!L=LOZ> 1_=Q%194$D!*&,OR:F3!K(QA?9T#Q M?IG>$]/K$^MD);Z2^W8K,S1Y5-F%561FQJVE1_=7".MIKI0NN+*(I]ZVH=*# M?L ,/92O]#D@#NM<.5T@9Q-0EVQ;$S< ?I*5),H[DV8H(9*@I)9NE*@B+J]$ MOG)GA5\-ST*2HM U@M5]6DQ) E2WN:G$(T01"W"35\20:'SG"RJ)(Q4:9! ) MTHGW4]P!^ 7#_L7=1F=H-X;S^W1]X_J!ZPQMP_\4$_QQE>%9I2' MDX#+B6W&2WJ%??=R+UDKP@Y>08%D*?5(GY>5&%HZ@.&"]:%X5D.]Z[-SY7A M1K.,"R6B"KU87*$WBRL])X>9 M9A)K*]Z6(4].8G7=H"?VD@&U=+][!E0ANCL4.W>*9IUJ+6E$'=Y:2#ATK>+% MC-S"FPR&Z7I@FDAT?PY,8+TBO]&C#U9WKG<+4"9XRXF A.4V&R]Z,3155:** MPD=(!'XNJ_IK]&>K"=BTJA*6]MO%TI%M;:S(^?WC 4KJ688ME*;UO_=Q>"I( M5ZE[\4Q%IL82Q.G=P&KL+,+MTAT:MAF]9GOJ$D&+21'_V%O1C56<-)!R1@E0SB2TE=QQ2V_'+ZH&P=0KON48LHA8OA5V, M^UO.NZ3I5CMYFAII$(-^04D-24 K9C2-9?"-9W?:OSZY;Z[_BJ("47&+\Z3S]GT/#?[FSW1_1TP;/LB26X>F>)P<0PAGF/' M1'GR5S=A,'&#?X)@9E@KC&5!6UTC)G$1/0T=Y.FY;72N<0UGZ48^'VS,!EW- MC'IZ9]?=J]/>MX89=:5.2=$"%VTJU](SH#'M;.(XI3O7>P &2I*,RDS7U5G" MUN['X! 'G:0,4_+IR(GKP%^'S@J=XP[=[=8*(D'^WZ(CA82#R/&>"%7TH@P-01.R=+RR\=9O=T8 MON4OH #&:NH<7QKL4L4-XJMKR)E:HJ?L$?4>DISS'"EDZO:N+A5(5B2#3(GH M*9G$>&!3*C7RMDV4^0&NX&;\(-T]E!SYI"W@LSUN-\/IHL._?CPF4:Q_HBIGAA;49)M M]*#G"<-#?ME4PN4/B.\G'NMEXX'H+[]9PV3F'KA/9TFCL#T,_<+<'H_O]L"?%TI>JMI+,%$Z0(DY65Y?0 MY$$\CXCW@?VW !;^(T0KC+-Z=':&M9J&@1\8SLIR-G'8OW_G>M$R$_V1Q.., M;& &GF6.'.!MWF'EJ9?^B!#)U,1W/SJ1Y2I:O0Q+[/;O YP"7NQWY/8T[ BE M).4KHXV+;>>3HCP5)S3]4D.4&SA.:-CW%9%PX!+X/8KW? M_TK(@\I--I0@TE)X1B)#+7 M!1DE(GAJY";5@7A87U*K7;B7H,6 .T%Z M/8Y BR?0LE/-DEI*LJ7^4E%%:J$N;9YI!.)H/"3; $H9;9>B?QT%Z!7M."FJ MM8@-9"Q/=GY516_-05^LHSO+0;=&(M$2WWKBU2PD1&DE7>E037#UCKSJ1W[# MI11BYVPB) M@9)(J@Q,,]Q&25)7@_C:8X0P.X,P#7U,8K$HH^Y!33_FFQ.YTU="31OR-%-4 M1$/XJ<7D=<" TC(I,I%D%]Y]C!Z5>;(OK2$GJD@L]*D0^>M,&3D*RVI,#7IY M!;S_(6JG2\"YH(2&Z-)*R>NU#.):T.!A<^3%682[G1W% 1CVV%F[WC9)8E[M M0/H<,??:YC';[7<=>=^(N?9]=U'0W'UBHY+PQK,XH._K)3;BYB M@F9;2AHN8&KZ:3!A.]!QB:Z2E#.(@I #79],.D&/?1_J$ MPI$/A-7W<8'U?1Q_J&/"+W76\%,9_\>GUX-UE<"$XI +MW2\,@BC7HP5UWE] MYEF.:>T,NP1^8IV6LH!=)B%.":E.ZP-,:98 FF:4Y%!-?E">8;-JY4/2#KV8M?QQ^K8+8^U/DI4I MHR&;14%NP6_1G+$0ZV=5>GW>_W;V4?F%58>0XYHV,.S.#7&W(&FK?_*K5!N< MCG1:2"_KM<[\A:I_TJM4&^HE!1).KL$:]K8FPS)M?-*,3B6:'Q(5*:4BO3X9 MA=4"KY,B?GKVSGD;\J*>&NL'R#=Z> MPFB,EA6YB_$?A@@XR7D%U!@O M'T:3Y:(SF-S"?T^6X\GWT60H^[$SDM1E[Y[!'CU5:N?IJG_ZJGJ=03W:[FSW M'8"3++9';\VZWEV('CY?&+;AH2Z%'NP>P/IK'YQ;6ME%-[.JM;2!V<4I4+T> ;E%JPM!T2Z]*SG M$,F DGT-73^8 ]/=..B59,RNAZJNGF2JKP)QMP(:L6<68(-4=Q00%]MU5N:B M(!Q-24%&*^=;WLI9C+XC$Z4'37]WM6E ELA$D#YV8&7 MU+)?.ZQ/) A2M-S>A#Z<+WT_G14(J7>)==0D!R>X"XC$K(OV4R:6D)B8-U-& M34HP U< ?JF4LL'&)1,R'-<;.R;^+=-L"341+-7^R1:#0B:5-Y^0L2O3'9A_ MA)9O11:B30 07UH/,!GE4WA/Z'O!T;0+_W689WA2JU4HBI\3&E6P ^ MU?Q?14PE%O;:-(B.8Q/WRW MDM% ) 6VO&Z$8!-40*IJ>1OT(IOJON29#)JJ2E&D 0]/597HDEUH$J+Q,EW' M&D":2]=;#(GP%=2D3E6 \UQAE%S#.]]S\ J<$-Q!#4=';X89_&8%+\/0#]PM M\$9OIAU&KTOZ/DK^N5H:;Q@656A)=WKQ4HG.3WB,'1/JXM[U2Q-,'$KJSAM: MD56\8(6+Q/$" &)+M$I*16H1G1@$5?#"T*'M2VUCRPGA)I, M%C_7\6\ U"F(RT'3"/BC-VA#0558CN&]1RJ.WEN'EI5KVQ$(A9='&OCB"6C7 MW7/=.-JLZC1\\.,6P+Z;5AH02Y$$G%!#=[ZQBMZ:=T"&QLX*##N:ZZ&=%T*4 MT(B:A9[Y8OA@NKZSWL J?NZSR&!BJ:\K2?@H0I\;48OPV0=_A.@(Y94]0/BJ M($#X\68Q^OLCBA$>_1I=AI(:^7LB7EGD+[:X#-=^MC/$P-Z"HEGBPC^_J;#O M+<$CXXRG%8K@6DW'E*3([1,)X*=(H;;%I=N (QZ;JA>6;0N:!#Q*\21(JG#@34FXW1)9--/U&)J#K]8J-&Q, MW&5AN5:@3C%#LPG8RK#*G'CH3&T.[-@/\6+MEN[(@>;M.S;:DK$%I;C!!G ) M,2K(K69H9@EE;BT/F+"IPM4@7T!]P"L EZ4"A< *KP0,]@"Z1#PQMB2C_;B( M4M!SL-1+9>-TABPOU#J5D&B[9PLI"7(I4GAP%9ZN<>$ ?X0H:96#GKVQ7@$2 MY/RL>X6_'D6LH#2>5%-R11GUF*('/PQO5>)8R911$N\:DW2Y<)PB/R1>0GZ! M"KPQ?)3A8XO.N1-H/,/91-=Z_9OW0YDD(5JDEX-RG!757"_B4THRKIPV!8Z MII0C>^'A$!GK!YYE!F"U"%SS=Z(CJ;!L5BT7O?Z5 IQI#/\\]>B5I,>R=K(@ MW)==Y< 45Y-&W,X.R'(*C8&3=.Q0-@)Q S U#^$H"J.1&H42+E\,9QJIQ?\. MFPC\L3,#4$1#$P<2YH M=&WLO6=SZLJV+OS]5-W_P#O/.7>O565Y*H $7N&6 )%!@!#IBTJA!4()%$B_ M_FT)L,'&&8RPM?:> XFF$DLHZFC,#V)QAZF[Q%;S$B@2#_[O>8%5W8@6W=[1K> M8H^;Y+9/"1IAV&\U(Q+^%@X@31+H M+8ZGB,SQ'W' F6LR2%1L*5'.WR6D5#*)4:2$B(J:0I(8*L)7:1Q12 5'"17( ME(CN]03_^7OL0\B(U&<_O-K['G3N]^_5=&5;FUG]'O[14C(KVUC M0[/T^Y:+Q>)V*3E&V!I'4>)W\+4$F;5KOG2U@]8+8M<6^]VOUSAY#$P1T2S7 M$RWY_E?>5'8/?N8!>7P[=<"M;)OA<- ,@=X_ XY \>[;[P\H]7OSY:ZIMO00 M%\@'?0.6@:?/N E@^ !#?OW_O_MWT)=G*ZM^_%6V><+V5 ?[Y98K.2+,0SY[>$>C4 M^PL^]3?\^J"-HKE30US=6;8%@@;:\B[H#3B;EYJB "M\"1L4'%$.:$[XEN:U M XCQ\(7 018JHJ,(/)<7.C5)+W527 ,5"4;J+M9E7VZT(&O<.TLS((F.#VD( M*5IN^J!=@56%C$"@0@ @(;.R?:7O^K)>U0KIM.R9LP%8_$I8H@G'N[4C=SG; M-#4OL,DN;2DYV!^TX]">:\#]E="4?WZ5PJ$+)"DG&PW=)QF_K3$CLJNW1J5% MP(E#FKZ"1D(@L V-6B^O-560'/#5L24E&2Z+V%CKHS0V*]UU-;/0)&;F&0A3 M:_/3'#MZGL8&]&6.)A^,,.\[(9Z%I+ =8\?>$THJM6JMY6%WQ,RZ/2?I3VRZ MT[L?,%3^.P:.SEOEX& =T2A;"EA6P6HSS(XLU%O#:7]$>CX*K-PZ4Y"R+7)& M"[B _?H7A3I)X&DJ@^\&O!W@6<>;\QT'#K:@N;)H#(#H,):2AU[W?LAX=40N M!K3.\+A$#GA01>=>L@6%"(>,("@!3?A7CC>_#4$>!ER G[CWPVW+P]&L/90U MOC=7EH7< +0&8!0\[M>_\!')RXVU"1]@*X>CU?427UF5DZ*^6K4-GNM+<4##@2KA8 UQ=#\^JD;5]94[9GC2-K%E15:;DR0MD,'X5-%PP3-# M?,U\3'T'"%QSW9AWR@C+BY/UH"[R/=$H+GX=IPL7(!D[PA[>M/6YG"Y,&WW4 M[#2MAJ>/DB4"$J8 63/A /_YA3\V)YQGR_K8-J!Q=QGH6;Q5P_9 ^"DW-30/ M&IAMY-@.'HT=V!@C*U:4@9B;HKG9>#@O3-;+Y1K:&!A;IMYC9QY;>QCH"&T1 MFC5ZJ;GAN[IF::9OUH$I 4? Q]@4TQ<"P>2&7&5,-ST77XX>D]8&/H>(IR<\2\TG6:D.0F47\'0-] L+C<(UAEV@VW7YKHO)AVY\52N="J+)^X MO[,0/""19K?>:$KQ7-> D0O+ T90I5ZX>A@*/?[SKS@6C8("; MMPI\V!(:+UGS-D-+*!K\-LSQ0_/^B .__@UHNCMDP=^_CW;UAB?LP/F4=_L/ M.F3>LT_[_8B^W\>8.0U1?,_:,'_Q @=/(&@&(=![OFV_V;W?_>[W 7">Q]%# MK'I.'&44E6P'#7*LC=;2L,KK?HFTI:5^Z([H3'UV1MH%C)O,Q' MSF<^) LO4/GKW_T2Q0&9YT4$BKT1$?NN\ 2(>%\2=F:1?H!S.(*_59?VFWZ< MK!PBW9I-4Y%+O:/N#:3$9#OR]J<%%!'59I9 MD_>K"M676::-M*\][+F0-I]'VDZUF"[Y7:'%<#0]M[ ":;2MLROB18E_J&Z< MQ)0!?[5JI7RYRA1U5VFS,XO%[-B47:+J\#GYOFS*AG4JGUN5EQ2#I)=R3RAR M\X88F[*+2WL7AN*GT>94MHS5_:5=TD&KC]2E3K\WGU][_/FEVHR?)\UXKWQ? MUF:S@Y5T3AH,>$UNL4HU0_7'Z-F3]V^HS2>6-GE:;2:TQ3(WESNZSB[PSFR6 MZ:_%.,UXIWS/$7B>5ILEM%DH2Q5LJ)O)A2(T!DM@9F)MCI"T*U*>5%33FO.@ M+M5&^KHW!;VSN]6+$K\+0T]DRFRUY71: PKCS>)")["T8/G&M6/\JTW9.=*, MTYJRI9VE30FC 9J3&NGY@J%&,ANG&1>7]NFF DW%(=IHOT2M5O#I8U MS&FB*#=6\-2ZU+&=[K5;XR^4:A0*/4^E*JC](:=I@RF:LX;.E+>-NMZ.=?6J M$OZG4NUJRTZJV^D#M$?7!;363)GV^MHK=U\HU2CD/D^E6L2+:YZM#3R=K>C< MN&]FTZMI'"U]<0S\RD:;>R&/10>$6YP#RB%SPA^%G[JT[XUM1UL#A;<4X(3$ ML]-P;;XA6FYVQ2R!(VLN:#J:#!ZV#.R6#X] 9V%O0:$,AF)+U/ >DUMTJE*Y M-3"05'15_?1<>5@8O,>64X+H\1JRY,56WUT2<:P%MHA+UR1,9]R)B\[RK7%# M7B5Q[/SUJX@B[IXMWPIQS^;Y7V34T%EI(0^Z18_/]2M2UT_I,WD2W:CT"HW: MEZZ%_"+#U!>3PTZUN;;1WB0U4HN?RIJSF*8SH&:5[S;:YLF\]6&34E6 MH:%7BP,2'>$6LZ C5Y8(-JSLB2EX>T#&M_(>CR6*!Q+=*T29N7:Z(K,*B@_X M7%HO8&U"C\(RNP/&X>]BW'YJ\5FW>[@S["7L?WC_E\7R(XO+#9E>=[@4*OJH M8K&1,Y0?UIDWF^!+[O(Z-*7[&[=.8$HQ5, >C.G>NY?W&N8U!\B>_7A[(;T0 M':6SFH)'<[.N![V/!Y2#*O$'(7D?*_B2"V9^4#:8P[^>//71][M?-Z1&?NE4 M#=TL.#,W66X7&V+D4I)7-C0>G:5!98\-D5'/]0NT0"[11:CA=;UBP@] MA4-5%H8\'GLS+G*!U4,9\642]U#Q0..WCKH^BP5:EFW?\MPVD($V%R5CEV8U M[(75Z=11'=UX)7$#5'#S;OB MAN%BB70]B:900HHI&#A&1B1NN2=:'<0.>S0YH.3TQ=9_ B!*7GHSF MOS3"I?YVA_FHP<(B(3 M-UR3K _CAG&97!5KZ[Z*]E24)P?5XK#B7U> ^&5QP^6D_/QL5,ZV7-O0E+!= MV0/FX1[E,NS,V=+,&('A#!MNA;]:6J*X6%H":DYRHU*EV9@RT3L_,KQ+Y"B9 M#V;^13I_TMS5IS&1PIP4HBCK,3IKM9IVSLPX!AI)@Q!93%Q\S>#]&G_'AIUX MJV!AMT=;2K#>>QJ0E5T]6;=?$RUE"P%6'RG%JHVD&+PV2>=[OC5=3R,'@?MU M[:\3^8")!RI/"8"OW*OY'ID&&N(Y?GBI8-F"OQPYP-TM'V=;%8JJ4&B2(?VN MH^2GHZ3<^1Y2?HGNGR#WK*]!"JT1;+9[63:GCCT/C_O8 4"<\E:Z4BV9#%M9 MY5=N:SZ*X"5C'P+ FQCPG9$01OIU41YK%G!6]RT*OF-IGN\ ^+."M@Q>[=" M<+UUBJ1L&N72[M0@_'2GFXK+(N?GSWL-Q,G\?-*=SQ2,;@#=%Z2^5**3@CW^'F;^,GX^ M.G)_FY^GIY9732>["W157O=0S5S4JM'+\J_1SU\>">_W\T9/,)OKM#'7<^)J M9!0)B52XZT9#A/S\Z2\D_EB-AX4/@U]9(VY#RD[Z3TXXS/HNY)KK[MH]H HV M462;EB$[W?! [)JQNT ;2Q;JLUFG/$#9.JX+1(.<(FCD H>WU(B>X=.S 'DS M<%]D\!:RSW/X>U8L+XGF1U? .R[5-495U>"UMH]75F@F#W*1*WY$'L%OO%7^ M9Z(V9SM3&W8"&K:UY=T6?44D3Z?(H6+S?FLL96M"G9"1R.7:;T'?LS1^3RQ\ M>,[EO/XXU5L/I[UUBF#(H2C2_-RIF-%;\A-Y:W89?QS%O0I?[H\K"&+.LH2^ MU($R-;-.N8+-B3BBC*X_OD+4/N^/5755S'39:5T7!R,* [GZ>AV]>XPBZX^C MM@_GXOYX7L>;6A611;[GS 21LAE[OKA*//TT?QS1/0!?[H^;!%%T)-E#&)!! MFQC'U(N3:!Y?$&D$?Y$_OD[4OI ?LVIKO,YY*=V?LK[0GA'-QG7:SZ_WQQ'< MWW)Q?SQL%GK.N-",S,VI(?(SBZ_O@*4?N\/VY.^FV+<\T*7QSKT[0E%F9"*:Y71Q\++Y]T^+9K M[IZYXGO4&&%IW4^G4%^BNU@QEQOC5N1BM"?&X=)7?$=S+N.C5PL_@PTZ/]?$JIC'3!'\IM!V%$S=#3R1+6-*.[6C>:2A69Y/BC-PD_@XTQ6:A,Z+YH M\IIN+G $X[19]*Y7B3PVWA&HG<9N/+?T,^< 1?,*HJP92!YY7 M>T#2HRI !SCFWF\T)^7[1;)L\:S(9WH--U.VLI'U Z<0^)L? M]I2-^WG_(1_/ R^,1# : _:@DNU)\^4HN\RC'*MJ M1J'H/QN , 1-(WCJ+0!ZU/0$ I,5I"%4^%URO=O7@AZ M[NMN0/;AMP&7WVC*CF5:4H-/\;T!,-%J%5VY#=ETB[7(0NI8J'1?G'O,CS/: MMS,G=OOPQ(*Z+X*C;X#GXZ:?C<&#$A%Q6.Q]CY=DG6$E/\WC3;1HK5C&JRZ[ M+AW9*/SR)1@<#TLP)[BM_4%\Z,?%IW2S)B&ZTS:1$=_) M3LNY@#-8II**+%9)B?>;59],5@:,%-V3U7Z(,]BKT3ZR[Y]%V$.\>L:RWIE" M8;N#D@UO8'L\,LG8K6QZJ9MFY*!Z7=7"[Q#9[]GC1\'ZB MI2IXWE^ET%E;5%S>5>:K<>1<]665X7M[!O*TD\-OG[W[H/FFA)PACRI##^*7N@/?(63>U1GP=R2![LBMI)OSC+V1E$2O$: MY:P+R]Y(M+G(V:OWI19OH/M;RGT_O@AXD"&.\X#8Y1A^ME/7L0+*^_J(6)"4 M6LA5(U<[?YOLWTG[=H]K+EBJ#\"5ZG\D;/\%Y?Y>VS\9#X=U4T^Q/)"& MWC)?(D4W>E=T7)GM/_')G5\[H[GKMBLZFB@9H"UZ>^?#%H "'-$HV6:8065% M2V?5K.UZMI4S1-?59%J9BY8<_FS;XYRCBSK0-9.I2L1,I5(Y2QY?GWTYL7=Y M\X >"V([G ](XEO-USX7&M.R;/N6YS9L#[@!9]SPS%X+LD*S1FUH!K1YP$XW MN\IJAA'L'O9$SW>?G(C-6Q+\'BC0K #+OS_TF$?+1J-B2X!AQ0KOT2MGU)Q$ M-E/Z+#<>JC3'V7$= ?094!):0UJ90&4/"'1W)\8WQ57X_J&++6X8I\)G9KE2 M7P?"8@9:IE(SY,AZVL_C)C12[V#0=2#I:3AV;GLS;7'+<2&5'#!T H>T;&E,3:[3#>Z8 M_!4Z&#[XN'B^OP9&<3O7:QK(?-0+[O*"(^G-Z;204P%/:YGZ$/65T:*09@9, MJQRY O6;M)#Y>D?XG(AB38RB)N8BK8F%?MHTIW*!9HH=.\E[;91;NI$K=KU) M$W.Q)L::>*75F9(S*:@,GV;YE96AQ"'AZE7N.L/2N#H3Z^!55FJ=?,\%J(%R$U$E]&F& T2LAG%$ M&EE-?/X2G=K2*]J"9^>)[B2S11DZCB+#5&6%34>GY*Z:_1X96622\P51%K MXC5I8K0KI>5B3>DAE=8"]2MSMD Z54E#KU,3XTKIC]/$;U,IS99+RJ+>TRV] M.*!UN5U=FR5PG:NZXTIIU'3P*Z\8ON)*:;_3'"%L$LB,5LM2N#QJ*;7.=;K" MN%(:Z^!55DK;K) K=&;B6)]-)^D94ZLW_,%U^L&X4OIM=?"Y\RF:AF@U1'-O M[_?F@M-RR!)M#H(&P2FC6[0;XI3C%X-YGZ\.\J.:V6ABF>BA?2?A?>JV6'^1 MO%.*_/RGC$ [.N+7DD+G-1[!C&1G(?9J6O7LY>'W$8^?YV ,7"@46WE'S>77 M3"\)J$6I5!W;Z2A<[7U(_(EWZ1]?_[93Y_<<'5V>]Q137=9*?"_7(.J:ZTXU M*;*J'(4+62*QWNH9R=.0!D4S_,"HA0==:YX&7&8I&[X"E()CF\&=U;X7]L6J MNPNJF\#AQJ(#LJOC'1R$0HPY->P5 )QGRSH[#7K:8JE.]5H6X]IUE%.36<>O M(.5R)7+S5/