<SEC-DOCUMENT>0001104659-24-001787.txt : 20240105
<SEC-HEADER>0001104659-24-001787.hdr.sgml : 20240105
<ACCEPTANCE-DATETIME>20240105160516
ACCESSION NUMBER:		0001104659-24-001787
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		13
CONFORMED PERIOD OF REPORT:	20231222
ITEM INFORMATION:		Entry into a Material Definitive Agreement
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20240105
DATE AS OF CHANGE:		20240105

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TECHPRECISION CORP
		CENTRAL INDEX KEY:			0001328792
		STANDARD INDUSTRIAL CLASSIFICATION:	FABRICATED STRUCTURAL METAL PRODUCTS [3440]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				000000000
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			0331

	FILING VALUES:
		FORM TYPE:		8-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-41698
		FILM NUMBER:		24516221

	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
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>tm2331591d3_8k.htm
<DESCRIPTION>FORM 8-K
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:us-roles="http://fasb.org/us-roles/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:tpcs="http://tech.pre.com/20231222">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html" />
</head>
<!-- Field: Set; Name: xdx; ID: xdx_02C_US%2DGAAP%2D2023 -->
<!-- Field: Set; Name: xdx; ID: xdx_033_tpcs_tech.pre.com_20231222 -->
<!-- Field: Set; Name: xdx; ID: xdx_04F_20231222_20231222 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DEntityCentralIndexKey_0001328792 -->
<!-- Field: Set; Name: xdx; ID: xdx_06B_USD_1_iso4217%2D%2DUSD -->
<!-- Field: Set; Name: xdx; ID: xdx_062_Shares_2_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_USDPShares_3_iso4217%2D%2DUSD_xbrli%2D%2Dshares -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
 <ix:hidden>
  <ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:EntityCentralIndexKey">0001328792</ix:nonNumeric>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="tpcs-20231222.xsd" xlink:type="simple" />
  </ix:references>
 <ix:resources>
    <xbrli:context id="AsOf2023-12-22">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001328792</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-12-22</xbrli:startDate>
        <xbrli:endDate>2023-12-22</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:unit id="USD">
      <xbrli:measure>iso4217:USD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Shares">
      <xbrli:measure>xbrli:shares</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="USDPShares">
      <xbrli:divide>
        <xbrli:unitNumerator>
          <xbrli:measure>iso4217:USD</xbrli:measure>
        </xbrli:unitNumerator>
        <xbrli:unitDenominator>
          <xbrli:measure>xbrli:shares</xbrli:measure>
        </xbrli:unitDenominator>
      </xbrli:divide>
    </xbrli:unit>
  </ix:resources>
 </ix:header>
</div>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p>

<!-- Field: Rule-Page --><div style="margin-top: 12pt; margin-bottom: 3pt; width: 100%"><div style="border-top: Black 2pt solid; border-bottom: Black 1pt solid; font-size: 1pt">&#160;</div></div><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>UNITED STATES</b></p>

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>SECURITIES AND EXCHANGE COMMISSION</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Washington, DC 20549</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>FORM <span id="xdx_90F_edei--DocumentType_c20231222__20231222_z69qPmI6HoN4"><ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:DocumentType">8-K</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>CURRENT REPORT</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Pursuant to Section 13 OR 15(d) of the Securities
and Exchange Act of 1934</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Date of Report (Date of earliest event reported):
<b><span id="xdx_900_edei--DocumentPeriodEndDate_c20231222__20231222_zrVNfNxsVc84"><ix:nonNumeric contextRef="AsOf2023-12-22" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate">December 22, 2023</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 14pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b><span id="xdx_904_edei--EntityRegistrantName_c20231222__20231222_zI1cqbHsmMLe"><ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:EntityRegistrantName">TECHPRECISION CORPORATION</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Exact Name of Registrant as Specified in Charter)</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="border-bottom: black 1pt solid; width: 32%; text-align: center"><b><span id="xdx_901_edei--EntityIncorporationStateCountryCode_c20231222__20231222_zEJmZETLRTc7"><ix:nonNumeric contextRef="AsOf2023-12-22" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode">Delaware</ix:nonNumeric></span></b></td>
    <td style="width: 2%">&#160;</td>
    <td style="border-bottom: black 1pt solid; width: 32%; text-align: center"><b><span id="xdx_900_edei--EntityFileNumber_c20231222__20231222_z6Gwsgn17iql"><ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:EntityFileNumber">000-41698</ix:nonNumeric></span></b></td>
    <td style="width: 2%">&#160;</td>
    <td style="border-bottom: black 1pt solid; width: 32%; text-align: center"><b><span id="xdx_906_edei--EntityTaxIdentificationNumber_c20231222__20231222_zFvMSC6WaGxk"><ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:EntityTaxIdentificationNumber">51-0539828</ix:nonNumeric></span></b></td></tr>
  <tr style="vertical-align: top">
    <td>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(State or Other Jurisdiction</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">of Incorporation or Organization)</p></td>
    <td>&#160;</td>
    <td style="text-align: center">(Commission File Number)</td>
    <td>&#160;</td>
    <td style="text-align: center">(IRS Employer Identification No.)</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b><span id="xdx_901_edei--EntityAddressAddressLine1_c20231222__20231222_zyqB6mTdvbe4"><ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:EntityAddressAddressLine1">1 Bella Drive</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b><span id="xdx_90A_edei--EntityAddressCityOrTown_c20231222__20231222_zaBeYYwpSkSa"><ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:EntityAddressCityOrTown">Westminster</ix:nonNumeric></span>, <span id="xdx_901_edei--EntityAddressStateOrProvince_c20231222__20231222_z5jnfIqtELH8"><ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:EntityAddressStateOrProvince">MA</ix:nonNumeric></span> <span id="xdx_907_edei--EntityAddressPostalZipCode_c20231222__20231222_zgngaKgQ2Tak"><ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:EntityAddressPostalZipCode">01473</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Address of principal executive offices) (Zip Code)</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Registrant's telephone number, including area code:
<b>(<span id="xdx_906_edei--CityAreaCode_c20231222__20231222_zTX5YxK3xQNi"><ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:CityAreaCode">978</ix:nonNumeric></span>) <span id="xdx_90E_edei--LocalPhoneNumber_c20231222__20231222_zxdBcumEqaF4"><ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:LocalPhoneNumber">874-0591</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Securities registered or to be registered pursuant to Section 12(b)
of the Act:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; width: 32%; padding-left: 0.1in; text-align: center; text-indent: -0.1in"><b>Title&#160;of&#160;each&#160;class</b></td>
    <td style="border-bottom: Black 1pt solid; vertical-align: top; width: 2%; text-align: center">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: top; width: 32%; text-align: center"><b>Trading Symbol(s)</b></td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; width: 2%; text-align: center">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; width: 32%; text-align: center"><b>Name&#160;of&#160;each
    <br />
exchange&#160;on&#160;which&#160;registered</b></td></tr>

<tr style="vertical-align: top">
    <td style="padding-right: 1.45pt; padding-left: 1.45pt; text-align: center"><span id="xdx_90E_edei--Security12bTitle_c20231222__20231222_zR8oxC4NC53a"><ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:Security12bTitle">Common Stock, par value $0.0001 per share</ix:nonNumeric></span></td>
    <td style="padding-right: 1.45pt; padding-left: 1.45pt; text-align: center">&#160;</td>
    <td style="padding-right: 1.45pt; padding-left: 1.45pt; text-align: center"><span style="font-size: 10pt"><span id="xdx_903_edei--TradingSymbol_c20231222__20231222_zKYeFhLOvqf9"><ix:nonNumeric contextRef="AsOf2023-12-22" name="dei:TradingSymbol">TPCS</ix:nonNumeric></span></span></td>
    <td style="padding-right: 1.45pt; padding-left: 1.45pt; text-align: center">&#160;</td>
    <td style="padding-right: 1.45pt; padding-left: 1.45pt; text-align: center"><span style="font-size: 10pt"><span id="xdx_901_edei--SecurityExchangeName_c20231222__20231222_z4BeEocT7ZCc"><ix:nonNumeric contextRef="AsOf2023-12-22" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName">Nasdaq</ix:nonNumeric></span> Capital Market</span></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">Check the appropriate box below if the Form 8-K
filing is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif"><span style="font-family: Wingdings"><span id="xdx_90C_edei--WrittenCommunications_c20231222__20231222_z9T7RhKik2R7"><ix:nonNumeric contextRef="AsOf2023-12-22" format="ixt:booleanfalse" name="dei:WrittenCommunications">&#168;</ix:nonNumeric></span></span></span></td>
    <td style="text-align: justify">Written communications pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif"><span style="font-family: Wingdings"><span id="xdx_901_edei--SolicitingMaterial_c20231222__20231222_zxCLpjNkUNhg"><ix:nonNumeric contextRef="AsOf2023-12-22" format="ixt:booleanfalse" name="dei:SolicitingMaterial">&#168;</ix:nonNumeric></span></span></span></td>
    <td style="text-align: justify">Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif"><span style="font-family: Wingdings"><span id="xdx_90A_edei--PreCommencementTenderOffer_c20231222__20231222_zrks5pJKHBH6"><ix:nonNumeric contextRef="AsOf2023-12-22" format="ixt:booleanfalse" name="dei:PreCommencementTenderOffer">&#168;</ix:nonNumeric></span></span></span></td>
    <td style="text-align: justify">Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif"><span style="font-family: Wingdings"><span id="xdx_90F_edei--PreCommencementIssuerTenderOffer_c20231222__20231222_zi0118Nrk3gd"><ix:nonNumeric contextRef="AsOf2023-12-22" format="ixt:booleanfalse" name="dei:PreCommencementIssuerTenderOffer">&#168;</ix:nonNumeric></span></span></span></td>
    <td style="text-align: justify">Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">Indicate by check mark whether the registrant is an emerging growth
company as defined in Rule 405 of the Securities Act of 1933 (&#167;230.405 of this chapter) or Rule 12b-2 of the Securities Exchange
Act of 1934 (&#167;240.12b-2 of this chapter).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">Emerging growth company <span style="font-family: Times New Roman, Times, Serif"><span style="font-family: Wingdings"><span id="xdx_903_edei--EntityEmergingGrowthCompany_c20231222__20231222_zFWnAmUC9Gga"><ix:nonNumeric contextRef="AsOf2023-12-22" format="ixt:booleanfalse" name="dei:EntityEmergingGrowthCompany">&#168;</ix:nonNumeric></span></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left; text-indent: 0.5in">If an emerging growth company, indicate by check
mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting
standards provided pursuant to Section 13(a) of the Exchange Act. <span style="font-family: Times New Roman, Times, Serif">&#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<!-- Field: Rule-Page --><div style="margin-top: 3pt; margin-bottom: 12pt; width: 100%"><div style="border-top: Black 1pt solid; border-bottom: Black 2pt solid; font-size: 1pt">&#160;</div></div><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p>

<!-- Field: Page; Sequence: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 12pt; margin-bottom: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 1in"><b>Item 1.01</b></td><td><b>Entry into a Material Definitive Agreement</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.55in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.55in">As previously disclosed, on August 25, 2021, Ranor,
Inc. (&#8220;<b>Ranor</b>&#8221;), a wholly owned subsidiary of TechPrecision Corporation (the &#8220;<b>Company</b>&#8221;), along with
certain affiliates of the Company, entered into that certain Amended and Restated Loan Agreement (as amended, the &#8220;<b>Amended and
Restated Loan Agreement</b>&#8221;) with Berkshire Bank under which, among other things, Berkshire Bank (i) continued a term loan made
to Ranor in the original principal amount of $2,850,000 (the &#8220;<b>Ranor Term Loan</b>&#8221;) and (ii) provided a revolving line
of credit loan to such affiliates in the maximum principal amount of $5,000,000 (the &#8220;<b>Revolver Loan</b>&#8221;). Under the Amended
and Restated Loan Agreement and related loan documents, the Ranor Term Loan has a maturity date of December 15, 2027 and the Revolver
Loan had a maturity date of December 20, 2023. On December 22, 2023, Ranor and certain affiliates of the Company entered into a Sixth
Amendment to Amended and Restated Loan Agreement and Second Amendment to Second Amended and Restated Promissory Note (the &#8220;<b>Amendment</b>&#8221;).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.55in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.55in">Effective December 20, 2023, the Amendment,
among other things (i) extends the maturity date of the Revolver Loan from December 20, 2023 to March 20, 2024; (ii) limits the use
of proceeds from the Revolver Loan by the Company or its affiliates to $1,000,000 in the aggregate for due diligence and related
professional costs incurred on or prior to March 20, 2024 in connection with any acquisitions; and
(iii) makes certain changes to the amount and methods of valuation of equipment securing repayment of the borrowed funds.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.55in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.55in">Other than in respect of the Amended and Restated
Loan Agreement, the promissory notes made thereunder, the related security and guaranty documents and the previously disclosed past borrowing
relationship, there is no material relationship between Ranor, the Company and the other affiliates of the Company party thereto, on the
one hand, and Berkshire Bank, on the other hand. The description of the Amendment is qualified in its entirety by reference to the full
text of the Amendment, a copy of which is attached hereto as Exhibit 10.1 and is incorporated by reference herein.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.55in">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 1in"><b>Item 9.01</b></td><td><b>Financial Statements and Exhibits.</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">(d)&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="text-decoration: underline">Exhibits</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid; width: 10%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Exhibit<br />
Number</b></span></td>
    <td style="width: 2%">&#160;</td>
    <td style="border-bottom: black 1pt solid; width: 88%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Description</b></span></td></tr>
  <tr style="vertical-align: top">
    <td><a href="tm2331591d3_ex10-1.htm" style="-sec-extract: exhibit"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.1*</span></a></td>
    <td>&#160;</td>
    <td><a href="tm2331591d3_ex10-1.htm" style="-sec-extract: exhibit"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sixth Amendment to Amended and Restated Loan Agreement and Second Amendment to Second Amended and Restated Promissory Note, effective as of December 20, 2023, by and among Ranor, Inc., Stadco New Acquisition, LLC, Stadco, Westminster Credit Holdings, LLC and Berkshire Bank</span></a></td></tr>
  <tr style="vertical-align: top">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">104</span></td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cover Page Interactive Data File (the cover page XBRL tags are embedded within the inline XBRL document)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">* Pursuant to Item 601(a)(5) of Regulation S-K, certain schedules and
attachments have been omitted. A copy of any omitted schedule or attachment will be furnished supplementally to the Securities and Exchange
Commission upon request.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p>

<!-- Field: Page; Sequence: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 12pt; margin-bottom: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>SIGNATURES</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left; text-indent: 29.7pt">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 hereunto
duly authorized.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td colspan="2"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">TECHPRECISION CORPORATION</span></b></span></td></tr>
  <tr style="vertical-align: top">
    <td style="width: 52%">&#160;</td>
    <td style="width: 2%">&#160;</td>
    <td style="width: 46%">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: January 5, 2024</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</span></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Barbara M. Lilley</span></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name:&#160;&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Barbara M. Lilley</span></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief Financial Officer</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p>

<!-- Field: Page; Sequence: 3; Options: Last -->
    <div style="border-bottom: Black 1pt solid; margin-top: 12pt; margin-bottom: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

</body>
</html>
<!-- Field: Set; Name: xdx; ID: xdx_08B_extensions -->
<!-- eJxFjd0KgkAQhZ/Adxj2WkrFIrwrKYksQiS6XXKMJd2R2e3vkXrLViUaBoaZc745Qvgio41qkOG8KnIose0aaREKrJFRX9A50u0uATcLvCpjWWo7rD8wJcegY2aThXT3wflQBqsEgvk0XEyjEII4iWNY7oXX6ynpWlWorZINSF3BkaljhVbye/xQyhdpat9D0gnZKNIJhJNglD8QBWEEB3rIJ/HNQJ6nwvOH8kTGdO/6mLux1MK6wdZlmRH9t/cF2upJEw== -->
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.1
<SEQUENCE>2
<FILENAME>tm2331591d3_ex10-1.htm
<DESCRIPTION>EXHIBIT 10.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><FONT><B>Exhibit&nbsp;10.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><FONT STYLE="text-transform: uppercase"><B><U>SIXTH
Amendment TO AmenDed and Restated LOAN AGREEMENT</U></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><FONT STYLE="text-transform: uppercase"><B><U>AND</U></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><FONT STYLE="text-transform: uppercase"><B><U>SECOND
AMENDMENT TO seCOND aMENDED AND rESTATED pROMISSORY nOTE</U></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in">This <FONT STYLE="text-transform: uppercase">SIXTH
Amendment TO Amended and Restated LOAN AGREEMENT </FONT>AND SECOND AMENDMENT TO SECOND AMENDED AND RESTATED PROMISSORY NOTE (this &ldquo;<U>Agreement</U>&rdquo;)
is made effective as of December&nbsp;20, 2023, by and among RANOR,&nbsp;INC., a Delaware corporation (&ldquo;<U>Ranor</U>&rdquo;), <FONT STYLE="text-transform: uppercase">Stadco
New Acquisition, LLC</FONT>, a Delaware limited liability company (the &ldquo;<U>Initial Stadco Borrower</U>&rdquo;), <FONT STYLE="text-transform: uppercase">STADCO</FONT>,
a California corporation (&ldquo;<U>Stadco</U>&rdquo;), <FONT STYLE="text-transform: uppercase">Westminster Credit Holdings, LLC</FONT>,
a Delaware limited liability company (&ldquo;<U>Westminster</U>&rdquo;; together with Ranor,&nbsp;Initial Stadco Borrower and Stadco,
jointly and severally, each a &ldquo;<U>Borrower</U>&rdquo; and collectively, the &ldquo;<U>Borrowers</U>&rdquo;), and BERKSHIRE BANK,
a savings bank organized and existing under the laws of the Commonwealth of Massachusetts (&ldquo;<U>Lender</U>&rdquo; or &ldquo;<U>Bank</U>&rdquo;),
successor by merger to Commerce Bank&nbsp;&amp; Trust Company, in the following circumstances:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">A.</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">Lender
has made (i)&nbsp;a term loan to Ranor in the original principal amount of $2,850,000.00 (the &ldquo;<U>Ranor Term Loan</U>&rdquo;), which
Ranor Term Loan is evidenced by that certain Promissory Note dated December&nbsp;20, 2016, made by Ranor in favor of Lender in the stated
principal amount of $2,850,000.00 (as amended by the First Amendment, the Second Amendment, the Third Amendment, the Fourth Amendment
and the Fifth Amendment, each as hereafter defined, and as further amended, amended and restated, supplemented or otherwise modified from
time to time, the &ldquo;<U>Ranor Term Note</U>&rdquo;), (ii)&nbsp;a revolving line of credit loan to the Borrowers in the maximum principal
amount of $5,000,000.00 (the &ldquo;<U>Line of Credit</U>&rdquo;), which Line of Credit is evidenced by that certain Second Amended and
Restated Promissory Note dated August&nbsp;25, 2021, made by the Borrowers in favor of Lender in the stated principal amount of $5,000,000.00
(as amended by the Fifth Amendment, as hereafter defined, and as further amended, amended and restated, supplemented or otherwise modified
from time to time, the &ldquo;<U>Line of Credit Note</U>&rdquo;) and (iii)&nbsp;a term loan to the Initial Stadco Borrower, Stadco and
Westminster in the original principal amount of $4,000,000.00 (the &ldquo;<U>Stadco Term Loan</U>&rdquo; and together with the Ranor Term
Loan and the Line of Credit, collectively, the &ldquo;<U>Loans</U>&rdquo;), which Stadco Term Loan is evidenced by that certain Promissory
Note dated August&nbsp;25, 2021, made by the Initial Stadco Borrower, Stadco and Westminster in the stated principal amount of $4,000,000.00
(the &ldquo;<U>Stadco Term Note</U>&rdquo; and together with the Ranor Term Note and the Line of Credit Note, collectively, the &ldquo;<U>Notes</U>&rdquo;).
The Notes are governed by the Amended and Restated Loan Agreement by and between Borrowers and Lender dated August&nbsp;25, 2021 (as amended
by that certain First Amendment to Amended and Restated Loan Agreement and First Amendment to Promissory Note (the &ldquo;<U>First Amendment</U>&rdquo;)
dated as of December&nbsp;17, 2021, as further amended by that certain Second Amendment to Amended and Restated Loan Agreement and Second
Amendment to Promissory Note (the &ldquo;<U>Second Amendment</U>&rdquo;) dated as of March&nbsp;18, 2022, as further amended by that certain
Third Amendment to Amended and Restated Loan Agreement and Third Amendment to Promissory Note (the &ldquo;<U>Third Amendment</U>&rdquo;)
dated as of June&nbsp;16, 2022, as further amended by that certain Fourth Amendment to Amended and Restated Loan Agreement and Fourth
Amendment to Promissory Note (the &ldquo;<U>Fourth Amendment</U>&rdquo;) dated as of September&nbsp;15, 2022, as further amended by that
certain Fifth Amendment to Amended and Restated Loan Agreement, Fifth Amendment to Promissory Note and First Amendment to Second Amended
and Restated Promissory Note (the &ldquo;<U>Fifth Amendment</U>&rdquo;) dated as of December&nbsp;20, 2022, and as further amended, amended
and restated, supplemented or otherwise modified from time to time, the &ldquo;<U>Loan Agreement</U>&rdquo;). Any capitalized terms used
but not expressly defined herein shall be given the same meaning given to such term in the Loan Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">Borrowers
have requested that Lender extend the maturity of the Line of Credit and modify certain provisions of the Loan Agreement and Line of Credit
Note, and Lender has agreed to such modification on the terms and subject to the conditions set forth herein.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in">NOW, THEREFORE, in consideration
of the foregoing, and for other good and valuable consideration, the receipt and sufficiency of which is hereby acknowledged, the parties
hereby agree as follows:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt"><U>Amendment
to Loan Agreement</U>. The Loan Agreement is hereby amended as follows:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.1</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">Section&nbsp;2.2
of the Loan Agreement is hereby amended by inserting the following sentence at the end thereof:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify; text-indent: 0.5in">&ldquo;Notwithstanding
anything to the contrary herein, no more than $1,000,000 of Revolver Loan proceeds in the aggregate may be used for Borrowers&rsquo; or
Guarantor&rsquo;s due diligence and related professional costs incurred on prior to March&nbsp;20, 2024 associated with any potential
corporate acquisition. Borrowers and Guarantor shall promptly provide such documentation as is reasonably requested by Lender relating
to such expenditures.&rdquo;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.2</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">The
definition of &ldquo;Appraised Value&rdquo; in Section&nbsp;2.3 of the Loan Agreement is hereby deleted in its entirety and following
is inserted in place thereof and substituted therefor:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify; text-indent: 0.5in">&ldquo;<U>Appraised
Value</U>&rdquo; means the value of the Eligible Equipment as set forth on <U>Schedule I</U> attached hereto, which value was selected
by Lender in its reasonable discretion. <U>Schedule I</U> may be updated in Lender&rsquo;s reasonable discretion upon receipt by Lender
of any updated appraisal reflecting a change in value of the Eligible Equipment.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.3</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt"><U>Appendix
I</U> of the Loan Agreement is hereby amended by deleting the definition of &ldquo;Revolver Maturity Date&rdquo; and inserting the following
definition in place thereof and substituted therefor:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1.5in">&ldquo;<U>Revolver Maturity
Date</U>&rdquo; means March&nbsp;20, 2024.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.4</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt"><U>Schedule
I</U> of the Loan Agreement is hereby deleted in its entirety and the attached <U>Schedule I</U> is inserted in place thereof and substituted
therefor.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt"><U>Amendment
to Line of Credit Note</U>. The Line of Credit Note is hereby amended as follows:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 2; Options: NewSection; Value: 2 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.1</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">The
second paragraph on page&nbsp;1 of the Line of Credit Note is hereby amended by deleting paragraph (a)&nbsp;in its entirety and the following
is inserted in place thereof and substituted therefor:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&ldquo;(a)&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;The
Borrowers shall pay interest only on the unpaid balance hereunder until paid in full, which interest shall be paid on each Interest Payment
Date. The aggregate unpaid principal balance of this Note shall be paid, plus any accrued and unpaid interest, on March&nbsp;20, 2024.
Interest on the unpaid principal balance hereof from time to time outstanding shall be a fluctuating rate equal to, at the election of
the Borrowers, either (i)&nbsp;the Term SOFR Rate (or, if applicable under clauses (c), (d)&nbsp;or (e)&nbsp;of this Note, the Daily
Simple SOFR Rate or the Base Rate, as applicable), or (ii)&nbsp;the Adjusted Prime Rate, which fluctuating rate will change when the
Prime Rate changes. The Borrowers may elect to have the interest rate converted to the Term SOFR Rate (or, if applicable under clauses
(c), (d)&nbsp;or (e)&nbsp;of this Note, the Daily Simple SOFR Rate or the Base Rate, as applicable) or to the Adjusted Prime Rate, as
applicable, at any time during the term of this Note upon notice to the Bank at least two (2)&nbsp;Business Days prior to the end of
the existing Interest Period, if the Term SOFR Rate is in effect, or at least two (2)&nbsp;Business Days prior to the end of the month
if any other interest rate is in effect hereunder.&rdquo;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt"><U>Conditions
Precedent</U>. The effectiveness of this Agreement is conditioned upon the occurrence of the following events, or the Lender&rsquo;s receipt
of the following items, as applicable, in each case in form and content acceptable to the Lender:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.1</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">a
fully-executed counterpart of this Agreement from the Borrowers and the Tech Guarantor, in form satisfactory to the Lender; and</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.2</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">receipt
by Lender of payment of all reasonable and documented fees and expenses incurred in connection with this Agreement for which invoices
have been presented to the Borrowers, including, without limitation, all reasonable legal fees and expenses.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">All
security for the Loans and Notes now existing or hereafter granted to Lender, including without limitation all security evidenced, granted
or governed by the Loan Agreement as amended hereby, the Security Agreements, the Mortgage, and any guaranty given in connection with
the Loans or Notes, shall be security for the Loans, as amended hereby, and the Notes and for all obligations of Borrower under this Agreement,
under the Notes and under the Loan Agreement, as previously amended and as amended by this Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">All
references to the Loan Agreement and the Line of Credit Note, respectively, wherever, whenever or however made or contained, are hereby
deemed to be references to the Loan Agreement and the Line of Credit Note, respectively, as previously modified and as modified by this
Agreement. By signing this Agreement in the space indicated below, each Borrower hereby affirms and restates all of the covenants and
agreements made and set forth in the Loan Agreement and does hereby warrant, represent and covenant that, after giving effect to this
Agreement, and except with respect to the Existing Default (as defined below), the representations and warranties in the Loan Agreement
are true, accurate and complete in all material respects on and as of the date hereof (provided, however, that such materiality qualifier
shall not be applicable to any representations and warranties that already are qualified or modified by materiality in the text thereof,
and provided, further, that those representations and warranties expressly referring to a specific date shall be true, accurate and complete
in all material respects as of such date). ALL OF THE PROVISIONS OF THE LOAN AGREEMENT AND THE LINE OF CREDIT NOTE, EACH AS AMENDED HEREBY,
REMAIN IN FULL FORCE AND EFFECT.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 3; Value: 2 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">6.</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">Borrowers
acknowledge that a certain Event of Default has occurred and is continuing under <U>Section&nbsp;8.2</U> of the Loan Agreement as a result
of Borrowers&rsquo; failure to satisfy the required minimum Debt Service Coverage Ratio for the twelve (12) month period ending September&nbsp;30,
2023 as set forth in <U>Section&nbsp;6.10</U> of the Loan Agreement (the &ldquo;<U>Existing Default</U>&rdquo;). Borrowers further acknowledge
that this Agreement constitutes written notice pursuant to the Loan Documents of such Existing Default. Regardless of entering into this
Agreement or any discussions between Borrowers and Lender, Lender hereby expressly reserves any and all rights and remedies available
to it under the Loan Documents, the Collateral Documents, and under applicable law, including, without limitation, its right to choose
to accelerate and demand the outstanding indebtedness evidenced by the Loan Documents and seek immediate repayment in full, and institute
the default rate of interest as of the date of the occurrence of the default or at any time thereafter, as a result of any default or
event of default, including, without limitation, the Existing Default, that have arisen or may arise. No such discussions or the entering
into of this Agreement shall imply any course of conduct or any agreement on the part of Lender to waive any of its rights and remedies
or to forbear from taking any action authorized by the Loan Documents, the Collateral Documents, or by applicable law while discussions
continue. At no time shall any prior or subsequent course of conduct by Lender or the Borrowers directly or indirectly limit, impair or
otherwise adversely affect any of the Lenders rights, interests or remedies in connection with the Loan Documents or the Collateral Documents,
or obligate Lender to agree to, negotiate or consider any agreement to waive any obligation, default or event of default by Borrowers
under any Loan Document or to amend any term or condition of any Loan Document, except as expressly set forth herein or therein. Any delay
or forbearance by Lender in the enforcement or pursuit of any of its rights and remedies under the Loan Documents, under the Collateral
Documents, or under applicable law shall not constitute a waiver thereof, nor shall it be a bar to the exercise of Lender&rsquo;s rights
or remedies at a later date.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">By
signing this Agreement on behalf of the Borrowers in the space designated below, the individual so signing represents and warrants to
Lender that he or she has full power and authority to execute this Agreement and to bind such Borrower, and that all corporate actions
necessary to authorize and approve execution of this Agreement, and by such individual, have been taken prior to the execution hereof.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">This
Agreement shall be binding upon and shall inure to the benefit of Borrowers and Lender, and their respective successors and assigns. This
Agreement has been made in the Commonwealth of Massachusetts and shall be governed, construed, applied and enforced in accordance with
the laws of said Commonwealth without resort to its conflict of laws rules. Wherever possible, each provision of this Agreement shall
be interpreted in such a manner as to be effective and valid under applicable law; should any portion of this Agreement be declared invalid
for any reason in any jurisdiction, such declaration shall have no effect upon the remaining portions of this Agreement; furthermore,
the entirety of this Agreement shall continue in full force and effect in all jurisdictions and said remaining portions of this Agreement
shall continue in full force and effect in the subject jurisdiction as if this Agreement had been executed with the invalid portions thereof
deleted.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 4; Value: 2 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">IN
THE EVENT THAT LENDER BRINGS ANY ACTION OR PROCEEDING IN CONNECTION HEREWITH IN ANY COURT OF RECORD OF MASSACHUSETTS OR THE UNITED STATES
IN MASSACHUSETTS, EACH BORROWER HEREBY IRREVOCABLY CONSENTS TO AND CONFERS PERSONAL JURISDICTION OF SUCH COURT OVER SUCH BORROWER BY SUCH
COURT. IN ANY SUCH ACTION OR PROCEEDING, EACH BORROWER HEREBY WAIVES PERSONAL SERVICE OF ANY SUMMONS, COMPLAINT OR OTHER PROCESS AND AGREES
THAT SERVICE THEREOF MAY&nbsp;BE MADE UPON SUCH BORROWER BY MAILING A COPY OF SUCH SUMMONS, COMPLAINT OR OTHER PROCESS BY CERTIFIED MAIL
TO SUCH BORROWER AT ITS ADDRESS REFERENCED IN THE LOAN AGREEMENT. EACH BORROWER AND LENDER HEREBY WAIVE TRIAL BY JURY IN ANY LITIGATION
IN ANY COURT WITH RESPECT TO,&nbsp;IN CONNECTION WITH, OR ARISING OUT OF THIS AGREEMENT OR ANY INSTRUMENT OR DOCUMENT DELIVERED IN CONNECTION
HEREWITH, OR THE VALIDITY, PROTECTION,&nbsp;INTERPRETATION, COLLECTION OR ENFORCEMENT THEREOF, OR ANY OTHER CLAIM OR DISPUTE HOWSOEVER
ARISING BETWEEN BORROWERS AND LENDER.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.</FONT>&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;<FONT STYLE="font-size: 10pt">This
Agreement may be executed in counterparts (and by different parties hereto in different counterparts), each of which shall constitute
an original, but all of which when taken together shall constitute a single contract. Delivery of an executed counterpart of a signature
page&nbsp;of this Agreement by facsimile, email or other electronic format (.pdf or .tif) shall be effective as delivery of a manually
executed counterpart of this Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">[<I>Signatures appear on the following page</I>]</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 5; Value: 2 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">IN WITNESS WHEREOF, the parties
hereto, by their duly authorized representatives, have executed this Agreement on the date first above written.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font-size: 10pt; border-collapse: collapse; width: 100%">
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif; text-transform: uppercase; text-align: left">RANOR,&nbsp;INC.</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font-size: 10pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt; width: 50%">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%">By:</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 45%; text-align: left">/s/ Barbara Lilley</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Name:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left">Barbara Lilley</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Title:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left">Vice President &ndash; Finance</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font-size: 10pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif; text-transform: uppercase; text-align: left">Stadco New Acquisition, LLC</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font-size: 10pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">By:</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">/s/ Barbara Lilley</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Name:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left">Barbara Lilley</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Title:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left">Chief Financial Officer</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font-size: 10pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif; text-transform: uppercase; text-align: left">Westminster Credit Holdings, LLC</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font-size: 10pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">By:</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">/s/ Barbara Lilley</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Name:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left">Barbara Lilley</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Title:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left">Chief Financial Officer</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font-size: 10pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif; text-transform: uppercase">Stadco</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font-size: 10pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">By:</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">/s/ Barbara Lilley</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Name:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left">Barbara Lilley</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Title:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left">Assistant Secretary</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font-size: 10pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left">BERKSHIRE BANK</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font-size: 10pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">By:</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">/s/ Thomas McCarthy</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Name:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left">Thomas McCarthy</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Title:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left">Senior Vice President</TD></TR>
  </TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>

<P STYLE="text-align: center; margin-top: 0; margin-bottom: 0">[<I>Signature Page to Sixth Amendment</I>]</P>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 6 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>CONSENT OF GUARANTORS</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Each of the undersigned Guarantors
of the Obligations of the Borrowers, as applicable, as further described in the Loan Agreement, that certain Amended and Restated Unlimited
Guaranty dated as of August&nbsp;25, 2021, by the Tech Guarantor in favor of the Lender (the &ldquo;<U>TechPrecision Guaranty</U>&rdquo;)
and that certain Unlimited Guaranty dated as of August&nbsp;25, 2021, by the Stadco Borrowers in their respective capacities as guarantors
or Ranor&rsquo;s Obligations (the &ldquo;<U>Stadco Guaranty</U>&rdquo; and together with the TechPrecision Guaranty, the &ldquo;<U>Guaranties</U>&rdquo;
and each a &ldquo;<U>Guaranty</U>&rdquo;), hereby consents to the execution of the foregoing Agreement, hereby waives any claims, offsets
or defenses which might otherwise arise by reason of the execution of the foregoing, and hereby ratifies and affirms its respective Guaranty,
and all agreements securing such Guaranties, all of which shall remain in full force and effect until Borrowers&rsquo; Obligations have
been paid and performed in full to Lender&rsquo;s satisfaction. Each of the undersigned Guarantors hereby agrees that, as of the date
hereof, it has no claim or defense of any kind by way of offset or otherwise to the payment and satisfaction in full of Borrowers&rsquo;
or such undersigned Guarantor&rsquo;s obligations under said documents or to the extent that such a claim or defense may exist, such undersigned
Guarantor hereby waives it in consideration of the execution of the Agreement. Each of the undersigned Guarantors further waives any and
all defenses arising by reason of (a)&nbsp;any and all amendments or modifications of any documents or instrument, (b)&nbsp;any and all
alterations, accelerations, extensions or other changes in the time or manner of payment or performance of Obligations, (c)&nbsp;the release,
substitution or addition of any collateral or any guarantees, (d)&nbsp;any failure of the Lender to give notice of default to Borrowers
or such undersigned Guarantor, (e)&nbsp;any failure of the Lender to pursue any Borrower or any of its property with due diligence, (f)&nbsp;any
failure of the Lender to resort to collateral or to remedies which may be available to it, (g)&nbsp;any and all defenses arising out of
the relationship of the undersigned to Borrowers, and none of the defenses shall operate to release the undersigned as guarantor, (h)&nbsp;all
rights of Borrowers, and (i)&nbsp;the benefit of all other principles or provisions of law, statutory or otherwise, which are or might
be in conflict with the terms hereof.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><B>The failure or refusal
of any of the undersigned Guarantors to execute this Consent of Guarantors shall not void such Guarantor&rsquo;s Obligations, nor shall
such failure or refusal be grounds for any relief of such undersigned Guarantor from its Obligations.</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font-size: 10pt; border-collapse: collapse; width: 100%">
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD COLSPAN="2" STYLE="font: bold 10pt Times New Roman, Times, Serif; text-transform: uppercase">Guarantor:</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif; text-transform: uppercase; text-align: left">TechPrecision Corporation</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font-size: 10pt; text-align: left">&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%; padding-bottom: 1pt">By:</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 45%; text-align: left; padding-bottom: 1pt">/s/ Barbara Lilley</TD>
    <TD STYLE="width: 50%">&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Name:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left">Barbara Lilley</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Title:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left">Chief Financial Officer</TD>
    <TD>&nbsp;</TD></TR>
  </TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(<I>Signatures continue on the following page</I>)</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 7 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font-size: 10pt; border-collapse: collapse; width: 100%">
  <TR STYLE="vertical-align: bottom">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif; text-transform: uppercase">Stadco New Acquisition, LLC</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%">By:</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 45%">/s/ Barbara Lilley</TD>
    <TD STYLE="width: 50%">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Name:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Barbara Lilley</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Title:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"> Chief Financial Officer</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif; text-transform: uppercase">Westminster Credit Holdings, LLC</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">By:</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif">/s/ Barbara Lilley</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Name:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Barbara Lilley</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Title:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Chief Financial Officer</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif; text-transform: uppercase">Stadco</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">By:</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif">/s/ Barbara Lilley</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Name:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Barbara Lilley</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Title:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Assistant Secretary</TD>
    <TD>&nbsp;</TD></TR>
  </TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 8; Options: NewSection; Value: 2 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">SCHEDULE I</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><I>[intentionally omitted]</I></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 9; Options: Last -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>3
<FILENAME>tpcs-20231222.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.20c -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: +aA5w7xRiXgen8uLa3ZcWaGMWbOdzZR+aYkxtmB1bbnK3yUrQPJrtCzT8lK2seIF -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:tpcs="http://tech.pre.com/20231222" elementFormDefault="qualified" targetNamespace="http://tech.pre.com/20231222">
    <annotation>
      <appinfo>
        <link:roleType roleURI="http://tech.pre.com/role/Cover" id="Cover">
          <link:definition>00000001 - Document - Cover</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:linkbaseRef xlink:type="simple" xlink:href="tpcs-20231222_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="tpcs-20231222_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
    <import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
    <import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
    <import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
    <import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>4
<FILENAME>tpcs-20231222_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.20c -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>5
<FILENAME>tpcs-20231222_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.20c -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://tech.pre.com/role/Cover" xlink:href="tpcs-20231222.xsd#Cover" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://tech.pre.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>6
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.4</span><table class="report" border="0" cellspacing="2" id="idm139693619504768">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>Dec. 22, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">8-K<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 22,  2023<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-41698<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">TECHPRECISION CORPORATION<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001328792<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">51-0539828<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">1 Bella Drive<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Westminster<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">MA<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">01473<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">978<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">874-0591<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_WrittenCommunications', window );">Written Communications</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SolicitingMaterial', window );">Soliciting Material</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_PreCommencementTenderOffer', window );">Pre-commencement Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_PreCommencementIssuerTenderOffer', window );">Pre-commencement Issuer Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $0.0001 per share<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">TPCS<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementIssuerTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 13e<br> -Subsection 4c<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementIssuerTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 14d<br> -Subsection 2b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SolicitingMaterial">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Section 14a<br> -Number 240<br> -Subsection 12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SolicitingMaterial</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_WrittenCommunications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 425<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_WrittenCommunications</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>7
<FILENAME>tm2331591d3_8k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="tpcs-20231222.xsd" xlink:type="simple"/>
    <context id="AsOf2023-12-22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001328792</identifier>
        </entity>
        <period>
            <startDate>2023-12-22</startDate>
            <endDate>2023-12-22</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:AmendmentFlag contextRef="AsOf2023-12-22">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey contextRef="AsOf2023-12-22">0001328792</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="AsOf2023-12-22">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="AsOf2023-12-22">2023-12-22</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="AsOf2023-12-22">TECHPRECISION CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="AsOf2023-12-22">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="AsOf2023-12-22">000-41698</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="AsOf2023-12-22">51-0539828</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="AsOf2023-12-22">1 Bella Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="AsOf2023-12-22">Westminster</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="AsOf2023-12-22">MA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="AsOf2023-12-22">01473</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="AsOf2023-12-22">978</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="AsOf2023-12-22">874-0591</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="AsOf2023-12-22">Common Stock, par value $0.0001 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="AsOf2023-12-22">TPCS</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="AsOf2023-12-22">NASDAQ</dei:SecurityExchangeName>
    <dei:WrittenCommunications contextRef="AsOf2023-12-22">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="AsOf2023-12-22">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="AsOf2023-12-22">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="AsOf2023-12-22">false</dei:PreCommencementIssuerTenderOffer>
    <dei:EntityEmergingGrowthCompany contextRef="AsOf2023-12-22">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>8
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M!B^#O0&NKZ0TAP.[:2W^Y]#_#U!+ P04    " "D@"58GZ ;\+$"  #B#
M#0   'AL+W-T>6QE<RYX;6S=5VUKVS 0_BM"/V!N8FKBD1BV0&&PC4+S85^5
M6'8$>O%DN7/ZZZ>S;"=I=67=A['-H<G=/;J[1W<GF:Y;=Y+\X<BY([V2NMW0
MHW/-^R1I#T>N6/O.-%Q[I#)6,>=56R=M8SDK6W!2,EG>W&2)8D+38JT[=:=<
M2PZFTVY#;VA2K"NCSY:4!H-?RA0GCTQNZ)9)L;=B6,N4D*=@7H+A8*2QQ'DJ
M?$,78&F? KP(&K <XRBAC05C$C*$[_VX_!DP::U7A90SP24-AF+=,.>XU7=>
M&18/QA<0&>7=J?$,:\M.B^4M/3L,/S[)WMB2VSG-@DZF8BUY!72LJ(_PZTR3
M .B<45XH!:N-9@.'R6,4?-@#E_(!6OBMNHK=5R3TXE,);2"PU4GTA$8QA D*
MQ+^,%F)?A+W]K;"D$8_&?>S\;O2@?^^,X_>65Z(?]+Z:\V/1%WATUC3R]$&*
M6BL>]O[+"8LUF_S(T5CQY+/!I!R\@5M*'KEUXG!I^6%9L^.]FZ:IKW#.RW^0
M\Y^M<\TUMTQ>DO:C_S=7^2V,D_'T7!S1JP,Z6PE<A!OZ%>Y7>>9 ]IV03NA1
M.XJRY/K%.?7A'=O["_PJOE]?\HIUTNUF<$//\A=>BD[E\ZI[J,NXZBQ_AOMH
MD<VWL,\E=,E[7FY'U=;[021>\%G'!QR>(W?#$T<PGX#%$<"P/!@#S"=X87G^
MI_VLT/T$#..VBB(KU&>%^@2O&+(=/EB>N$_NG_A.\SQ-LPRKZ'8;9;#%ZI9E
M\!>/AG$##RP/9'I;K?%NXQ/R^AQ@/7UM0K"=XI.([12O-2#QNH%'GL>[C>4!
M#ZP+V.Q _G@>F*FX3YI"5S%NV G&D3S'$)C%^(QF&5*=##[Q_F"G)$WS/(X
M%F>0IA@"IQ%', ;  4/2='@//GL?)=-[*CG_5U/\!%!+ P04    " "D@"58
MEXJ[',     3 @  "P   %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S
M9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X
M 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA<UYVE/=LO
M3T%O@*\Z3'%":4A+,P[PS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)
MTZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0
M   ( *2 )5BJQ"(6,P$  "("   /    >&PO=V]R:V)O;VLN>&ULC5'1;L(P
M#/R5*A^P%K0A#5%>0-N0I@V-B??0NM0BB2O'A8VOG]NJ&M)>]I3<V;K<7187
MXM.!Z)1\>1=B;FJ19IZFL:C!VWA'#02=5,3>BD(^IK%AL&6L <2[=)IEL]1;
M#&:Y&+6VG-X"$B@$*2C9$7N$2_R==S Y8\0#.I3OW/1W!R;Q&-#C%<K<9":)
M-5U>B/%*0:S;%4S.Y68R#/; @L4?>M>9_+2'V#-B#Q]6C>1FEJE@A1REW^CU
MK7H\@RX/J!5Z0B? :ROPS-0V&(Z=C*9(;V+T/8SG4.*<_U,C5146L*:B]1!D
MZ)'!=09#K+&))@G60VY6= ;N\N@#FW+()FKJIBF>HPYX4P[V1D\E5!B@?%.9
MJ+SV4VPYZ8Y>9WK_,'G4'EKG5LJ]AU>RY1AQ_)[E#U!+ P04    " "D@"58
M)!Z;HJT   #X 0  &@   'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QSM9$]
M#H,P#(6O$N4 -5"I0P5,75@K+A %\R,2$L6N"K<OA0&0.G1ALIXM?^_)3I]H
M%'=NH+;S)$9K!LIDR^SO *1;M(HNSN,P3VH7K.)9A@:\TKUJ$)(HND'8,V2>
M[IFBG#S^0W1UW6E\./VR./ /,+Q=Z*E%9"E*%1KD3,)HMC;!4N++3):BJ#(9
MBBJ6<%H@XLD@;6E6?;!/3K3G>1<W]T6NS>,)KM\,<'AT_@%02P,$%     @
MI( E6&60>9(9 0  SP,  !,   !;0V]N=&5N=%]4>7!E<UTN>&ULK9--3L,P
M$(6O$F5;)2XL6*"F&V +77 !8T\:J_Z39UK2VS-.VDJ@$A6%3:QXWKS/GI>L
MWH\1L.B=]=B4'5%\% )5!TYB'2)XKK0A.4G\FK8B2K636Q#WR^6#4,$3>*HH
M>Y3KU3.T<F^I>.EY&TWP39G 8ED\C<+,:DH9HS5*$M?%P>L?E.I$J+EST&!G
M(BY84(JKA%SY'7#J>SM 2D9#L9&)7J5CE>BM0#I:P'K:XLH90]L:!3JHO>.6
M&F,"J;$#(&?KT70Q32:>,(S/N]G\P68*R,I-"A$YL01_QYTCR=U59"-(9*:O
M>"&R]>S[04Y;@[Z1S>/]#&DWY(%B6.;/^'O&%_\;SO$1PNZ_/[&\UDX:?^:+
MX3]>?P%02P$"% ,4    " "D@"58!T%-8H$   "Q    $
M@ $     9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0    ( *2 )5B6,#=S[@
M "L"   1              "  :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4
M Q0    ( *2 )5B97)PC$ 8  )PG   3              "  <P!  !X;"]T
M:&5M92]T:&5M93$N>&UL4$L! A0#%     @ I( E6#8BHAM+!   ?Q   !@
M             ("!#0@  'AL+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4
M Q0    ( *2 )5B?H!OPL0(  .(,   -              "  8X,  !X;"]S
M='EL97,N>&UL4$L! A0#%     @ I( E6)>*NQS     $P(   L
M     ( !:@\  %]R96QS+RYR96QS4$L! A0#%     @ I( E6*K$(A8S 0
M(@(   \              ( !4Q   'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0
M   ( *2 )5@D'INBK0   /@!   :              "  ;,1  !X;"]?<F5L
M<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( *2 )5AED'F2&0$  ,\#
M   3              "  9@2  !;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@
0   )  D /@(  .(3      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.4</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>22</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="tm2331591d3_8k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tech.pre.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="8-K" isOnlyDei="true" isUsgaap="true" original="tm2331591d3_8k.htm">tm2331591d3_8k.htm</File>
    <File>tpcs-20231222.xsd</File>
    <File>tpcs-20231222_lab.xml</File>
    <File>tpcs-20231222_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="22">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>13
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "tm2331591d3_8k.htm": {
   "nsprefix": "tpcs",
   "nsuri": "http://tech.pre.com/20231222",
   "dts": {
    "inline": {
     "local": [
      "tm2331591d3_8k.htm"
     ]
    },
    "schema": {
     "local": [
      "tpcs-20231222.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/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-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"
     ]
    },
    "labelLink": {
     "local": [
      "tpcs-20231222_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tpcs-20231222_pre.xml"
     ]
    }
   },
   "keyStandard": 22,
   "keyCustom": 0,
   "axisStandard": 0,
   "axisCustom": 0,
   "memberStandard": 0,
   "memberCustom": 0,
   "hidden": {
    "total": 2,
    "http://xbrl.sec.gov/dei/2023": 2
   },
   "contextCount": 1,
   "entityCount": 1,
   "segmentCount": 0,
   "elementCount": 59,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2023": 22
   },
   "report": {
    "R1": {
     "role": "http://tech.pre.com/role/Cover",
     "longName": "00000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-22",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tm2331591d3_8k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-22",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tm2331591d3_8k.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": [
      "r2"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Audited Annual Financial Statements",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12gTitle",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r13",
      "r14"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": [
      "r15"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": []
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Reporting Obligation",
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": []
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": [
      "r16"
     ]
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r18"
     ]
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Reporting Standard Item Number",
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": []
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": [
      "r12"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CountryRegion",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Country Region",
        "documentation": "Region code of country"
       }
      }
     },
     "auth_ref": []
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Extension",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Elected Not To Use the Extended Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Bankruptcy Proceedings, Reporting Current",
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not.  Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Information Form",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": [
      "r2"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": [
      "r2"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": [
      "r2"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": []
    },
    "dei_DocumentPeriodStartDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period Start Date",
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading Symbol Flag",
        "documentation": "Boolean flag that is true only for a security having no trading symbol."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://tech.pre.com/role/Cover"
     ],
     "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": [
      "r2"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r7": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r8": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r9": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r10": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Section": "14a",
   "Number": "240",
   "Subsection": "12"
  },
  "r11": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r12": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r13": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r14": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r15": {
   "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"
  },
  "r16": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r17": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r18": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r19": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>14
<FILENAME>0001104659-24-001787-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001104659-24-001787-xbrl.zip
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
M0B<&E^4:9YP<"0A6CD8?5Z4Q-6KKD#"0:\J'S U/G1^,-EAM>&=$CM,+86/
M(,XC.J*VS2W(.K FU;4F@*X,:TQT"9W.0*/D('6YO=73#5S$= >PNLM@I=<0
M<#GZR#-<:C++<XPI<:BK.[VIZ.IWL+K UB\U29I\OC_A 1U.J#D-WO4 UUAC
M[(?U:1U+2,[FL%M4$3\]Q]5[TT\*Z-9;V'SBV71Q$:'-1KGLM#TZTHUI^:53
MCZL[WH$R4"'.LM/7?*>_ T\#<\%5RC/]8IT3[_6ESGYK<*D/<ZTW;V^4NY9E
M,&J*@Y)AGX\50\[\P>%+ ?J9.!VK:9\9"!WF%DE4\/@/*>2*O@=$]^;%;OR.
MLD]J9RV2RV?3T'"QN/GJ4G;<0A!^N#[)9\?^L58V6UH JZJ@.[-_#6$,8MF*
M]7U2N[)_-H??FH/^QDUL68;WLJ\Y)PAODM6R<2D%"M*'["MRUF-F707(U43+
M_QI8G($%9>-;SC!VX$%D<7()%T!^T^NMJNCPH5.T+R[/3\[W-FYHJV5Y+X,#
MCBDUQ/+%R*84M!268%YG?K+M?PTPS@#/X@VPX3@>XR^:H9Y5E(,F'^;[VGN;
MX9)$G\<8\RQ5V%%?9XQ^V_?;2_P0=-\P-=0' /HI4072ARY#,AXPL>.\@,(!
MTX/-@3*1:I_TN35V!]M;H%<;H3EUB,9ZNBF/$$GDDBTN'RD,'2+,DQT<Y?ZA
M0"]!8^ #:K?Q !)6<N7DY+JI7 RM8(:VMT)'$V=4<:;F'4-TTY^WIBW_1(">
MJ-2CNB:!JC\VMN0C>W&!3%^$2#4IT8K#'7=F=?2M5OK27Z^.]9JP\HPP:T:4
MSVH(RPZ[4#_WC:31BW'+P%1PRVS!Q[>WA)/K2UGV #R8&4QUP8--2P1&SV&B
M%;#U<WF\.ZN+-%W>"\+)$LR,*7(?Z\ ;3=2$,<(;SB [AWX0%ZBI(@*EJKAD
M"HVWM_#FLD:YYL@T7ENU39/?H;.SR>&8G'Z[)_SS'Z7]0N'PW:U@W?LH^9CK
M*/*.RAKW44)U^=BZ?>B^RN>_C[*9RT H\R&T?_00$ !9.0"!))9UN7*;X\6K
M0WNBM&E'IU9(%AYH</MIB3UG=)CJ,G JD-$6,H=9[JVPCG59AJ?T?6=S7B4+
M5\46JV:_5B4+:R@;HR%9;GX1U<?4R1)^\7;I3;!QV7#9B"CIK#+?=<)_NY4Z
MGH/%&JA%* DR?7** $D7AS6J?<X$,(WN5\TAY.:6D-""(5:,]UFH%KE4,:I#
M^)<E7TUW5,."I2!)(*)7O3[@=)(KBDL)2I*TJ&GQY/96PU33"-\.<CF0L%L1
MSU%#XI%RN)L$=8X'E@$DK3%B3<?K.KJF4RZ*PQVF#@#YJZ(D3&JA XP[N'C,
M"?M888&T8?EK&,!:,!(*0);VL$(-$^@$*U M6%K%-H> NS#+[H!"CN%W$A>R
MX0U>GFDQ<9!:(U<6+%6S:2<[L-Q2V2Y)HL*%NF]OK>@?EEPNNR>,#YV!SADY
MH>;03V/$%BF,;(0CLWQ8CS@ON=A^1]\5J$PW/60-D\I'Q$">(ZH!P,8\"6<#
MT3V*:W$=; !K2K.C2, %EG;4TV^YY$$QF\QFLXN*ES0Z2!P'%!D&JFM'!SEF
M<( B@K",)\06^ $/<5A#!:7KKI0--Q<\=1">)E^^$9WH(V\4+UX118L53[ #
M+2T*ER;?9GFA/S_R<M2J^<5WG!GBE1!5\Z_H.'*Z%Q0AX!?%2IW8=2*:?S=I
M=H-'D<ZR+P@+ KZHVUM^?^W9_KFLO &4)C<F6;H7Y+N@(/ZBZ4<MGY(V('5P
MF=EG"'!67N,"^ Y G@4_(GW#SQ9)W'(+#PU;X.]-"X:X$^,ZB_ZQN73O+XVH
M]5X/$3$L'DN3FIS;)0X>(NFRQPL/ETC>\3UDP5;"5B7GJ@?:7N:&<W1-.;B=
M_Z1P*/W6T$>Z*XE#ZB"<%5Q990PX"E++'+K3B&5A? $*(=,#7K\I,W?UG9OV
MP8CZ*#;F'YK'8(&!Q1RQ7=CQMK> ?8^),^80 %3+<3$^J!X7Q\3$L7:(#_*\
M6'1$R FLT/1SD%EB0]5'3Y<ID',H(S0,'<8^HD.0-O =F:0(Z86\,O2@:"/F
M#BQ-N!0>P9CM>>(W;VSA 8ZH;\#L<6;3J7CD3P[ 4TCO,)^"Z.[\/S'K&]]&
ML>A@PI@=FZFS$<?% #_@S>*(-'Y['A@@>P6A<-G"-YR)I3#IY[LR(CO^[KX@
MW/<H9L#3>8B>!=DX" / ',"+G N1QPJB:! #W4Y*EE@M,ZWYQDNX">DR=\R8
MZ:.>B/T'?*7CKH[ -N7N5+)R+8&IX._@<":#A< $1(&$HBM\T,JGC<W2I ._
M:\Q1N6Z'-]_GX1C&\>@!4 [N!J)WXI4*X#M%YYU]>24P]9YG&( 6\",KB\00
MO*F6+9": ":BINBZ5!T <3D6K"/6)P.]"RN\DDTK8B#B.$%P'06:1OAB/]W\
M:&?X3TAL2C&)S=FLDB..]\^]Q9\TC$KOG=!$:_WQ9;%WK<8]RWE'VY7,7_-G
MI( EJ&D ?F3.4I88'G$O+/Z^>M^]8O6YS[5(TW_[35Q%5,_>5C6,5LND\W6#
MB0E.JLJ#]=('GMFSVNQMS8.#38_J=+XF+([E#7NO1Y3X7_8:Y?)YI5A2M/P#
MFRC9E)(>N*.9.>%QO!0X :<JF!63FMWDR'!%^==L,/0U5Q@_C_ BS2)_19:5
M)&R6>U G-JU,XJ*,-&3BX4,;K.<D<:705$N,M#J'STER=54+7B9)Z*H;J<D,
M_]PR-%FK@)8QB&9Q(M]BF1LTK4*LQZ\PJHWQK5F82XDJ;@/3<NJGB-2E\EJM
MR)!5T0HKR@0_@DI<"@DA!3WB+&HX_YCA^-F5_%BJ;!A XMWX$/")=[P3E7^1
M\ =O!*39RRH[='>GN.M_ L.3L)RT4Y?)6?*&G_73/(,Y,K^3"%4BG0$%W781
MO(.#N. J:5*=85J1P,K',QJ88LX)@)8- V\F]3QNZLY %#!MVQ">2K&JZ:/H
MT!YW^ L\VUNA2].>;6&^].B!YWSB'>W7;<CD_KLA\R$;,N]VE;K=^-*L=KZU
M7OC6VR<;0,R^>JZ4WL>I"L<.63J I8O+C&=V:3#F+$KX*UE!T2&RR0YA84I4
MZF$I01Q+D1^<\N\L.B"7+$YAJMUE VKT@BJ9R ?\!K*PX5K;6X(>]=R!Q6%=
MT-XQ%'SNW. 5!_Z0&"YCQXG<A@'SJQ.Y9[X,%;IR^RMP>R''*+Z49+PR%_&;
M%?:B[?Y2T(5?.2N3"VIZN $H=TA6P+#-,3V9EI_-[9Y/VC9I=QDG T"8=RFG
MY#I-K@!<L.DOYFK/FL! =UD*?9_A]ZS'G-J;'([X=G>D.O+>,_D!NMN@N.(N
M9[SM;3*A&.BL1^9UOAOQ60G^-\3_K\&=^4-R(\H<3IE<85W_T\#0C\.$&?S.
MO;B=B/]5A<HKOZI_</(@=A/%[;O0U_C9Q>3LIY:][ ^K7P<_,E5M\C-W-^1G
M#3[FE]^'SE>]O7=_?WE]H>5:.99_&M[SJS_T;_3$HC_4_4+QZU-?MPK*X_#F
MR\&EV; <EJ6T5;_D%V>M^U*UF/6R7K6C7CW5[)]W=]8^/ST87ZBL_SU'.X/[
M3G[<,[Z>/#KU_M,P>U^?_JPW&@7]KOE]W[J_WYN:]IUQ9_$?C6;[+'\RI,;/
MP1_=*<M,ODX'FDW=TFFV;_ZX;#8N!A?-OG%Z\/7DKEX_R?/&1>:\^?5BSQP_
MW9P?##M?M)O,WNC*FRC7EWMC[8<Q:IV7W(QZEO/LB_KX^%BJY/\ 4$L#!!0
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
M)JG62B&S>4'F4YX5#@RVJ:JRU<E4%9@#L+N#15"W3L8:7GRW/E79"@+R :@
MS<3H+JP&(KJIHI0PNLT--'@F+^^Z0E&DV$5Q<H%/:MB$N,1.9^N('#,.J,=X
MH?REFF.95Z I]X.M@U2CVB<3=>,\BM,K?J5S,-' NU(2=*X3MQ<WC3))%18
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
MP8J/8I\T71Z<,LUZ$TPI+,UL#%E8%JA21L<1.A9/0"T10NC=. LP^>V+#@G
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
ML308*^NH79N(T34E[(<H\N:FEKMLPV7Z!N/]0L2V&,2E)J:M7ZGQB4K<PU8
M4M67AI&B(,O)9CH8?),J1?N64SJQ(K#-4"9*:MXQG5E4[6 .M%U;38LC8A0B
M0.UB+!**'4Q5.2=5)_JEOA:&A:EG>=ZXCR^NC3Z\@,U6G(7)"U_]K?"Y3!<^
M#+^4:0M](U>@F!'?A0VEVCX"TNPNPOV"[%K:,?9[-\6F0=S8=4G>1-#+M0FU
MJBDB3E)9L-K:N^/% 1&05*\X<?)./^I/PK=M/:/RUO7W+FRC0CD5JG,-%>L6
M&U#'9@^8+Z04MHR#W_[(O\@1"_SH E:^V@_S$,9CQOUR^P\O[VZB2W6U_!:X
MO>VG,/"&:;%5UE# 2MBOUS22*C0J2:-BHY([F=?)/[1QYTS4,D2U2[%M0C78
MNGW(+(X 2Z#B2$V4OD$-DTSR29J-I;/D)=IE[- MW<Q#"VI5M&';3*FR;ICH
MJH;7%M@3R\'-AS;4IZ.!DM=R5K<%BLA4TCV,PF(3)C6T$L&( DP,)H")$Q;&
M*RIJ@/?:P$N];54+EJ(,4E.6/DY3*.6G.8F;]5=T D$<;JO5$UW?#C($3*>,
M&N(7Y:+Y7 RV]43F1P!T)7M>(F\5/_:R2?+N$'\">Q<,>OS^A>5(-*\F68*]
M;/+N.'=(Q6KWC[:R5?"MPE-YSYN;2/HE95YOHA7ZWZ DP>_Y+$!(?1/B" !+
M6%[M'V HT'2-JP5:-;7"+5N8<.]Q3S#/)75]J0-W' 7^[XWG60I4/#V/X/#\
M'8[H>I_69L'XP(2;\GFEK=OMP.]'7^,:7><;M*Q"&O\A6%4^ICKE;B35 FJM
MN?U+H%H2;%T <DG9P[IXZ.GBK!O$8^O)KKD' 07?^N;;2<;'N5LN4;4-<Y86
MJ;[<7$MP-9_\/[8^^2?QR:_%"ER7(7)_<<C*TG,#[;W'M!&>V!QX%#V_F6K]
M]RGQ#=79.\?L=ZCH9[[+'DMVK52CL!GKV! !]@12ZWY)M15+&R26ME+I$3/B
M-P/:K>S9RIZ-E#W+DL"?M\-BM>/\CX>L/Z.HQD<<5W\(Z*_5B.I@VXCJ$5UD
MP_:IV[D\<UEW<UU?2Q(8N\?_P2;E(6X);+C'HBGVK?+_BYZ\S5W-:CO_GX6=
M?\:3]*^PTQ_P@<&GVW:O3_J=K\?XXW1T?G;\_U!+ P04    " "D@"587@3.
MH"<#  #C"P  $0   '1P8W,M,C R,S$R,C(N>'-DM5;;<MHP$'WO3/]!]6O&
M&)M)FQ!()B63# UI4LBM>>D(>0%-A.1*<B#Y^DJ^<#,0H"U/TNXY9W>E79G:
MR7C(T M(106O.WZI["#@1(24]^O.7<<][32:30>=''_\@,RO]LEUT3D%%E;1
MF2!ND_?$$?J.AU!%%\!!8BWD$;K'++86<4X92-00PXB!!N-((U71?BDH$^2Z
M&^C> P^%O&LW)[H#K2-5];S1:%3BX@6/A'Q6)2*&FPEV--:QFJB5Q^7LMQG]
MBBHR(>_AT_W1EW&;/O:!'\0M7'DB#_CBZJ%[';X]M??PS^>Q'G[UNUU^67F]
MDS]NODG=>+L]8)>!@N9Y&K*FR "&&)G+X*KNV/JR\D:5DI!]+RB7?>_QJM5)
M<$X*K(X9Y<_+X/[AX:&7>'-H 3GN2I9+5SSK[F(%$V7CI6OPE"N-.9G#AWI"
MF 7O>ZES#DJ70C^G4)I#0UC *2"EOGCQC,/@@TH.C)7;QSB:@'M8=1/1S#$'
M5E(7@<:X"'+U:P1J*31US1%T1*98#610BB38GDQ0?A $9K(8#('K<R&'9]##
M,3.)_(XQHST*H8,TEGW0MLE4A F\HY9W*N9<F(8V4Y59K"V*J.G8B<&8[ U7
MI6!P:U)'=F$F:GD(Z_0:PKP*#J)AW4F7,V*Y7 @]RFD2.IL@'[EV7F);IEDF
MS)JW""XJQ0K":WZ<K$T:RM"3DEK&D/$SR'HNP8S$;"?J-+]US,R>'V3AA/-!
M:D,/)0-8M:U2=Q2U3Z"3V082>G7'MHR;W^<O>_JFE7*(C;!F ),[6CRI+' N
M@24IJ!0>"",B(I":FGZ>>072U*FV])N9,,C&40[R_F'E#'>WK=Q0@/W'DEM6
MOUAKS9N?++-?G+Z:*5=(C7AAC->]HNG[WQ(DD5I#L3LWY[G6Y/J!6_%+8Q5.
M,]TFB>D);)=$SMLAB15O^;+X:A7<+I(6VC3HBF_"VJ!+.1XPK7++SBG,?D'^
M(H=$9JLDYJXSU-*S$E8T<,T]5OS5Z;S'3/9JIR8@(N9:OF[3"+.4?+/;;4R_
M_9M=1(Y/+\'^'=@U[ Y=4 R^K 5J7JIFEG\ 4$L#!!0    ( *2 )5C^LT#U
M_0H  ("&   5    ='!C<RTR,#(S,3(R,E]L86(N>&ULS9U=;^.X%8;O"_0_
M<-V;%AC'B8,62'9F%QE/LC VFV1CSVS;1;&@)<810I,!)2?VOR\IB;)$\4A*
MBI*<BQF/^![JI?B8I+Z./_ZXVU#T0D2:</9I=')T/$*$13Q.V/K3Z.MB?+&8
MS><CE&:8Q9AR1CZ-&!_]^,.?_X3DGX_?C<?H*B$T/D=?>#2>LP?^/;K!&W*.
M?B*,")QQ\3WZANE6;>%7"24"S?CFF9*,R()BQ^?H[T?3XPB-QP/J_498S,77
M^WE5[V.6/:?GD\GKZ^L1XR_XE8NG]"CBFV$5+C*<;=.JMN/=<?FG"/]($_9T
MKOY:X90@>;Q8>KY+DT\CM=]RMZ^G1URL)]/CXY/)/W^Y7D2/9(/'"5/'+2(C
M':5JL<6=G)V=3?)2+6TI=RM!]3Y.)]I.5;,L33KT-2=I<I[F]JYYA+.\VWMW
M@T"%^M]8R\9JT_AD.CX].=JE\4@?_/P("D[)/7E >3//L_VS1"E-% FC<MNC
M( ]V,U2(B8J?,++&&8G5CL[4CD[^H7;TEW+S-5X1.D)**?D VW76J*L,FK@V
M>T=$PN-+]C[79K0G^_*[([+_H0'U>.=-6/(,TW>9KT<ZMWU#WG?$#W'NC[0<
MY\G[CG0M\O]B.VM;?O/AM1]7JC9>RT\-BV27R0F,Q-JDJJ)C!,[WD$\,9=U5
M[3QJU$O5:,Y%N^UJ9LSK3$ETM.8ODY@DLN[IJ?HP5A_R9LO__#'C<B5PL4HS
M@:-,UY0WX]/(4CXQ+2GEA="^L(AZ&E<J)A&74]-S-J;%82S"'P3?6'=;MII;
M"O^@JRJ^."QR%X#1ADR0E&]%1-[4*W6WT%$J'6VH5*@E%6'CKXO1#[D&_:Y5
M__DX.=3BH*/E$FB[(2Q;RAHM+6@6N^IFFRG=R_6R(#K98LCL8RU!2N.X@R_D
MCF.U\RN*UQ;[1KFK+K;:TGW<* RBDVV.S%ZN-$B)?'7S%Y)&(GE6R_FN=C1D
MSCO=8K+5]S5-6 BTC<$DU+2>!O9[LD[4U*(LJ/-;HC9V#&. WO70WVG;G NL
MXB"@&>(0G"WJ0:B*\L31!6-;3._),Q==^#1EKJFQF31AJ6N"8L1B#$2CT*)"
M[(F(7[?RC)T(NN^%HJ5TS05@U43#D 5%A]T;"$@E]\O(4F"6)FH ZX6D+75^
MN@&8;9UZ&+J@. ',P:<DE=XO*8M'0JFZ'X!9_X!B$[NF!39L\M)6!D4,: ]D
M)H] 94@XV%R^J-6Y7"8-;&Q-[Q.>ENTN?BIQL B9#@=2E(<A%>>)I-IMB!Z&
M6DK7] !636X,65#$V+V!K!1RE.O]0W+)XD&(5#H_@!@V[7B4H@#A:#KK0T.J
M?8)QE:01IH67*[DM[6B>1>L:$-"N"4E+&!0HD#L0EB) ,Y.'> 7F7P2+8;C4
ME'Y@:5FUHU+) @3%]-:'B=)[@62V%:+A&IYQ8*FSF[(]9JO[LX N"%!ZS+7N
MVA;R!BB>9J!+EB797CU/=[/=K(BP-*XM<<4&9$XS898'P0)@RF2@D"&E0X70
M2\_KNP0L4P\Q@LTQ96X)L)ML4M#4!$2"U1A PT&;/U/JA8B9')D$IG,6D]W/
M9 ^VJZ5SRP1@LPF%(0J("KLS (M2C'(UDG(O8-R)9(/%?I%$/5-%6^@6#<AH
MDPU3%1 <@#6 CE*-%O.9SYEDB7?S6(*:/"3%\^ ]E(!ZM[#TV&XR X@#0J?;
M(4"0#$+-*)\@S5G$Q3.O/>XPXULY .YG/(97*#U1;J$:U(0F6ITA 0$VQ">
M62/T0_%,"N+J/9Z\ J1J\$+<11S+ Y66_UPGC)R [;=JW=+58;?)E$48$$FP
M.X"?4OE!?T J!MVR4*"9OJ&I4__03(=",PT:FNE[H%F^\D"@.7U#4T_]0W,Z
M%)K3H*$Y?1<TLN.]CC4S^?%6+/FK[>%L4.D%F;95*S '67BXM+SUP:("U'I&
MA?C$)%]8W8H[P5\2%L%+9DCN!1C M)4:0QL>.G:#??Q4"V(=YW6L*1;EO5\2
M+?,SRC1-VH>80A,>)$UCO8-+H?:)Q!U/,TS_G3QWGHC;Q5[PL!JV0M)0AH>*
MS5X?,$4,DD$^3JQ+7-4-#>NK9$:YNU> +;8.KP#7"H. P.:H_0IP<?6D$+GN
M9L6H(!@8$9K%SCK98JKJXUI9&%W<-M3JX?Q[+34^OL@JNPN]>^0,?D"@+7'5
MTY YW=MF>1 ]#I@R>SV7H5SGZ6J\RC"1VH?O6IFSF=VT4TWDNB"(WC7=M*9I
M7>ZX-W\322;W/..;S9:5=WELSPT".E>]W&E3][A5%$3O=SDS22BUJ"EVC,6"
MTR1*LH2M?Y$GGR+!ME;91*Z @ UJ&MJ*(%  ;9D<'(1(*QU#<">(@I#(CLA?
M E2)A<3MPX-UMN\2NX*BW["& U8& 4FO/1,6&3".:A&H"$%YC%]LYFFZ)>)-
M\%A"/"$$F@= :NE#Q DRV0M5$>B3K06)MG)^W)],5\LDH[:3R[;$V9P$F*MF
M)*,\"#8 4R8+>1GB#^AD^M?5WY".<MS]-WPIL$H>N]AO5IP"V:>L*E<0=%C4
M'%@D0:  ^S)IN.&HE*)"ZR,[5<.LI3E&N2L K+9TUS<*@^ATFZ/6E[_1UYZ&
M_,M=]"A-$>"%!+O,]=!O,VD._W5-$ AT&&N=E)12I+4^7D@X3%GK_D7 VMLB
M8-VS"%B'N A8#UT$K+TM O1NBQ0A<ERZ7=%DC8'DA)UJUU!T6#;YL$B#0@7V
M!XX950@ZQ+C.:)FG.%/I^<4FW_^5_&!I):!SEM.RRV:5U-(F"H*1+F>MM)9%
MTKF:&"FU:RZV<9*1N#!SE3#,H@33*CVB[8IX?X@S6@::K\#IT8?!T#"3+9R*
M,)W+L H\I+IT?2F]> #C-T+ISXR_L@7!*6<D+JZEV.X4=>O=/C'38[OYT P@
M#@*G(0Z!1V=4T/A)12$=5EX)\T+2-TZW+,,B?Y=<V$8F0.>6',!FDQA#%! I
M=F< (948%6H_+V@7V2.J15;QNT-@ R&YX]>U.TT;;VU;M0$QTVD0>H>[S/EQ
M6!L749Y>L<R(^KV(Y(5\P1DNO8'MA>2N7ZKL,FV^36G3!H10IT'P_<DJ1J6*
MP9HI;RECQ$PNM=:\XREQ0^4^<4S+8CMW3"4)" ^;KXX,,@)IK1<6%AM,Z>=M
MFC"2PA.1H7++@M5BDX6&)" 6;+X %G(ITEHO+%QNB%C+Z>TGP5^SQS(_*]@V
M0.V6C4[+34:LTH!8Z?(',*-#4!&C4^KZ@6=W2"A>9%F$6VJ1.L8&-&LPT]*%
M! QDKD4+)9&ZWG+#,[3DZ&M*4/9(T&7Y,W3U3/!%/;Y^:22*U L1Q:J<Q5C8
M$.H2.__5$=!PZ[='6LH@0.JU!_\.216!=(AC:FXEPZ)^'I>;F&=D [[MT!_B
MBJ"AYC5'??H@:!IHTF0J#VN>7.>!2$7ZS&943VX/+_$:(L<K8XM!8V%<4P3!
M"&@+6A;7?RO 3^Z\[8HFT17E&+[*TM XSIC7MF<DRSL( B*@[0I*D9<+4:[T
MTO^?,7L2V^<LVM\)'A&BGK)*J]&J[_K;P&BWS+RI24V:!H4&Q-E;_ ($'JI
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
M6.V6_P%02P$"% ,4    " "D@"58ZG<(]^(4  !Y9@  $@
M@ $     =&TR,S,Q-3DQ9#-?.&LN:'1M4$L! A0#%     @ I( E6%UT33:Q
M'@  #,   !8              ( !$A4  '1M,C,S,34Y,60S7V5X,3 M,2YH
M=&U02P$"% ,4    " "D@"587@3.H"<#  #C"P  $0              @ 'W
M,P  ='!C<RTR,#(S,3(R,BYX<V102P$"% ,4    " "D@"58_K- ]?T*  "
MA@  %0              @ %--P  ='!C<RTR,#(S,3(R,E]L86(N>&UL4$L!
M A0#%     @ I( E6&;V4FY6!P  U5<  !4              ( !?4(  '1P
I8W,M,C R,S$R,C)?<')E+GAM;%!+!08     !0 % $D!   &2@     !

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
